143 |
143 |
144 |
144 |
145 @contract(returns='unicode') |
145 @contract(returns='unicode') |
146 def abs_file(path): |
146 def abs_file(path): |
147 """Return the absolute normalized form of `path`.""" |
147 """Return the absolute normalized form of `path`.""" |
148 try: |
148 return actual_path(os.path.abspath(os.path.realpath(path))) |
149 path = os.path.realpath(path) |
|
150 except UnicodeError: |
|
151 pass |
|
152 path = os.path.abspath(path) |
|
153 path = actual_path(path) |
|
154 return path |
|
155 |
149 |
156 |
150 |
157 def python_reported_file(filename): |
151 def python_reported_file(filename): |
158 """Return the string as Python would describe this file name.""" |
152 """Return the string as Python would describe this file name.""" |
159 if env.PYBEHAVIOR.report_absolute_files: |
153 if env.PYBEHAVIOR.report_absolute_files: |