init
This commit is contained in:
commit
38355d2442
9083 changed files with 1225834 additions and 0 deletions
59
.venv/bin/collect-imports
Executable file
59
.venv/bin/collect-imports
Executable file
|
|
@ -0,0 +1,59 @@
|
|||
#!/home/walkers/git/creeper-adventure/.venv/bin/python3
|
||||
"""
|
||||
collect-imports *.py
|
||||
collect-imports < foo.py
|
||||
|
||||
Collect all imports from named files or stdin, and combine them into a single
|
||||
block of import statements. Print the result to stdout.
|
||||
|
||||
"""
|
||||
# pyflyby/collect-imports
|
||||
# Copyright (C) 2011, 2014 Karl Chen.
|
||||
# License: MIT http://opensource.org/licenses/MIT
|
||||
|
||||
from __future__ import absolute_import, division, with_statement
|
||||
|
||||
import re
|
||||
import sys
|
||||
|
||||
from pyflyby._cmdline import filename_args, hfmt, parse_args
|
||||
from pyflyby._importclns import ImportSet
|
||||
from pyflyby._importdb import ImportDB
|
||||
|
||||
|
||||
def main():
|
||||
def addopts(parser):
|
||||
parser.add_option("--ignore-known", default=False, action='store_true',
|
||||
help=hfmt('''
|
||||
Don't list imports already in the
|
||||
known-imports database.'''))
|
||||
parser.add_option("--no-ignore-known", dest="ignore_known",
|
||||
action='store_false',
|
||||
help=hfmt('''
|
||||
(Default) List all imports, including those
|
||||
already in the known-imports database.'''))
|
||||
parser.add_option("--include",
|
||||
default=[], action="append",
|
||||
help=hfmt('''
|
||||
Include only imports under the given package.'''))
|
||||
options, args = parse_args(addopts, import_format_params=True)
|
||||
filenames = filename_args(args)
|
||||
importset = ImportSet(filenames, ignore_nonimports=True)
|
||||
if options.include:
|
||||
regexps = [
|
||||
re.escape(prefix) if prefix.endswith(".") else
|
||||
re.escape(prefix) + "([.]|$)"
|
||||
for prefix in options.include
|
||||
]
|
||||
regexp = re.compile("|".join(regexps))
|
||||
match = lambda imp: regexp.match(imp.fullname)
|
||||
importset = ImportSet([imp for imp in importset if match(imp)])
|
||||
if options.ignore_known:
|
||||
db = ImportDB.get_default(".")
|
||||
importset = importset.without_imports(db.known_imports)
|
||||
sys.stdout.write(importset.pretty_print(
|
||||
allow_conflicts=True, params=options.params))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Loading…
Add table
Add a link
Reference in a new issue