OLD | NEW |
(Empty) | |
| 1 u""" |
| 2 Fixer for os.getcwd() -> os.getcwdu(). |
| 3 Also warns about "from os import getcwd", suggesting the above form. |
| 4 """ |
| 5 |
| 6 from lib2to3 import fixer_base |
| 7 from lib2to3.fixer_util import Name |
| 8 |
| 9 class FixGetcwd(fixer_base.BaseFix): |
| 10 |
| 11 PATTERN = u""" |
| 12 power< 'os' trailer< dot='.' name='getcwd' > any* > |
| 13 | |
| 14 import_from< 'from' 'os' 'import' bad='getcwd' > |
| 15 """ |
| 16 |
| 17 def transform(self, node, results): |
| 18 if u"name" in results: |
| 19 name = results[u"name"] |
| 20 name.replace(Name(u"getcwdu", prefix=name.prefix)) |
| 21 elif u"bad" in results: |
| 22 # Can't convert to getcwdu and then expect to catch every use. |
| 23 self.cannot_convert(node, u"import os, use os.getcwd() instead.") |
| 24 return |
| 25 else: |
| 26 raise ValueError(u"For some reason, the pattern matcher failed.") |
OLD | NEW |