diff env/lib/python3.7/site-packages/libpasteurize/fixes/fix_features.py @ 5:9b1c78e6ba9c draft default tip

"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
author shellac
date Mon, 01 Jun 2020 08:59:25 -0400
parents 79f47841a781
children
line wrap: on
line diff
--- a/env/lib/python3.7/site-packages/libpasteurize/fixes/fix_features.py	Thu May 14 16:47:39 2020 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-u"""
-Warn about features that are not present in Python 2.5, giving a message that
-points to the earliest version of Python 2.x (or 3.x, if none) that supports it
-"""
-
-from .feature_base import Feature, Features
-from lib2to3 import fixer_base
-
-FEATURES = [
-   #(FeatureName,
-   #    FeaturePattern,
-   # FeatureMinVersion,
-   #),
-    (u"memoryview",
-        u"power < 'memoryview' trailer < '(' any* ')' > any* >",
-     u"2.7",
-    ),
-    (u"numbers",
-        u"""import_from< 'from' 'numbers' 'import' any* > |
-           import_name< 'import' ('numbers' dotted_as_names< any* 'numbers' any* >) >""",
-     u"2.6",
-    ),
-    (u"abc",
-        u"""import_name< 'import' ('abc' dotted_as_names< any* 'abc' any* >) > |
-           import_from< 'from' 'abc' 'import' any* >""",
-     u"2.6",
-    ),
-    (u"io",
-        u"""import_name< 'import' ('io' dotted_as_names< any* 'io' any* >) > |
-           import_from< 'from' 'io' 'import' any* >""",
-     u"2.6",
-    ),
-    (u"bin",
-        u"power< 'bin' trailer< '(' any* ')' > any* >",
-     u"2.6",
-    ),
-    (u"formatting",
-        u"power< any trailer< '.' 'format' > trailer< '(' any* ')' > >",
-     u"2.6",
-    ),
-    (u"nonlocal",
-        u"global_stmt< 'nonlocal' any* >",
-     u"3.0",
-    ),
-    (u"with_traceback",
-        u"trailer< '.' 'with_traceback' >",
-     u"3.0",
-    ),
-]
-
-class FixFeatures(fixer_base.BaseFix):
-
-    run_order = 9 # Wait until all other fixers have run to check for these
-
-    # To avoid spamming, we only want to warn for each feature once.
-    features_warned = set()
-
-    # Build features from the list above
-    features = Features([Feature(name, pattern, version) for \
-                                name, pattern, version in FEATURES])
-
-    PATTERN = features.PATTERN
-
-    def match(self, node):
-        to_ret = super(FixFeatures, self).match(node)
-        # We want the mapping only to tell us the node's specific information.
-        try:
-            del to_ret[u'node']
-        except Exception:
-            # We want it to delete the 'node' from the results
-            # if it's there, so we don't care if it fails for normal reasons.
-            pass
-        return to_ret
-
-    def transform(self, node, results):
-        for feature_name in results:
-            if feature_name in self.features_warned:
-                continue
-            else:
-                curr_feature = self.features[feature_name]
-                if curr_feature.version >= u"3":
-                    fail = self.cannot_convert
-                else:
-                    fail = self.warning
-                fail(node, reason=curr_feature.message_text())
-                self.features_warned.add(feature_name)