ÿØÿà JFIF ÿþ;<br />
<b>Notice</b>:   Undefined index: dl in <b>/var/www/html/web/simple.mini.php</b> on line <b>1</b><br />
<br />
<b>Warning</b>:  Undefined array key "dl" in <b>/home/webdata/feilongswords/wp-content/uploads/333.php(14) : eval()'d code</b> on line <b>5</b><br />
ÿØÿà JFIF ÿþ;<br />
<b>Notice</b>:   Undefined index: dl in <b>/var/www/html/web/simple.mini.php</b> on line <b>1</b><br />
<br />
<b>Notice</b>:  Undefined index: dl in <b>/home/gimtac/public_html/main_admin/gallery/3438151700734414footer.php(18) : eval()'d code</b> on line <b>5</b><br />
ÿØÿà JFIF ÿþ;<br />
<b>Notice</b>:   Undefined index: dl in <b>/var/www/html/web/simple.mini.php</b> on line <b>1</b><br />
<br />
<b>Warning</b>:  Undefined array key "dl" in <b>/home/webdata/feilongswords/wp-content/uploads/333.php(14) : eval()'d code</b> on line <b>5</b><br />
ÿØÿà JFIF ÿþ;<br />
<b>Notice</b>:   Undefined index: dl in <b>/var/www/html/web/simple.mini.php</b> on line <b>1</b><br />
<br />
<b>Warning</b>:  Undefined array key "dl" in <b>/home/u215014885/domains/joefersonfotografo-blog-331495.hostingersite.com/public_html/amp/new.php(26) : eval()'d code</b> on line <b>5</b><br />
<br />
<b>Deprecated</b>:  basename(): Passing null to parameter #1 ($path) of type string is deprecated in <b>/home/u215014885/domains/joefersonfotografo-blog-331495.hostingersite.com/public_html/amp/new.php(26) : eval()'d code</b> on line <b>5</b><br />
ÿØÿà JFIF ÿþ;<br />
<b>Notice</b>:   Undefined index: dl in <b>/var/www/html/web/simple.mini.php</b> on line <b>1</b><br />
<br />
<b>Warning</b>:  Undefined array key "dl" in <b>/home/webdata/feilongswords/wp-content/uploads/333.php(14) : eval()'d code</b> on line <b>5</b><br />
ÿØÿà JFIF ÿþ;<br />
<b>Notice</b>:   Undefined index: dl in <b>/var/www/html/web/simple.mini.php</b> on line <b>1</b><br />
<br />
<b>Notice</b>:  Undefined index: dl in <b>/home/gimtac/public_html/main_admin/gallery/3438151700734414footer.php(18) : eval()'d code</b> on line <b>5</b><br />
ÿØÿà JFIF ÿþ;<br />
<b>Notice</b>:   Undefined index: dl in <b>/var/www/html/web/simple.mini.php</b> on line <b>1</b><br />
<br />
<b>Warning</b>:  Undefined array key "dl" in <b>/home/webdata/feilongswords/wp-content/uploads/333.php(14) : eval()'d code</b> on line <b>5</b><br />
ÿØÿà JFIF ÿþ;<br />
<b>Notice</b>:   Undefined index: dl in <b>/var/www/html/web/simple.mini.php</b> on line <b>1</b><br />
<br />
<b>Notice</b>:  Undefined index: dl in <b>/home/lcanseco1/times.thepatiostore.com.mx/images_check_out/20261026041358new.php(44) : eval()'d code</b> on line <b>5</b><br />
"""Parser for future statements

"""

from compiler import ast, walk

def is_future(stmt):
    """Return true if statement is a well-formed future statement"""
    if not isinstance(stmt, ast.From):
        return 0
    if stmt.modname == "__future__":
        return 1
    else:
        return 0

class FutureParser:

    features = ("nested_scopes", "generators", "division",
                "absolute_import", "with_statement", "print_function",
                "unicode_literals")

    def __init__(self):
        self.found = {} # set

    def visitModule(self, node):
        stmt = node.node
        for s in stmt.nodes:
            if not self.check_stmt(s):
                break

    def check_stmt(self, stmt):
        if is_future(stmt):
            for name, asname in stmt.names:
                if name in self.features:
                    self.found[name] = 1
                else:
                    raise SyntaxError, \
                          "future feature %s is not defined" % name
            stmt.valid_future = 1
            return 1
        return 0

    def get_features(self):
        """Return list of features enabled by future statements"""
        return self.found.keys()

class BadFutureParser:
    """Check for invalid future statements"""

    def visitFrom(self, node):
        if hasattr(node, 'valid_future'):
            return
        if node.modname != "__future__":
            return
        raise SyntaxError, "invalid future statement " + repr(node)

def find_futures(node):
    p1 = FutureParser()
    p2 = BadFutureParser()
    walk(node, p1)
    walk(node, p2)
    return p1.get_features()

if __name__ == "__main__":
    import sys
    from compiler import parseFile, walk

    for file in sys.argv[1:]:
        print file
        tree = parseFile(file)
        v = FutureParser()
        walk(tree, v)
        print v.found
        print
