本文整理汇总了Python中extractor.Extractor.from_path方法的典型用法代码示例。如果您正苦于以下问题:Python Extractor.from_path方法的具体用法?Python Extractor.from_path怎么用?Python Extractor.from_path使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类extractor.Extractor
的用法示例。
在下文中一共展示了Extractor.from_path方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: run_calc
# 需要导入模块: from extractor import Extractor [as 别名]
# 或者: from extractor.Extractor import from_path [as 别名]
def run_calc(args):
try:
with utils.TemporaryDirectory() as tmpdir:
logging.getLogger().setLevel(logging.INFO)
logging.basicConfig(
format="%(asctime)s [%(levelname)s]: %(message)s"
)
pypi = PyPi()
extractor = Extractor(
virtualenv=args.virtualenv,
tmpdir=tmpdir,
pypi=pypi
)
db = Database(
host=args.redis_host,
port=args.redis_port,
db=args.redis_db
)
scheduler = Scheduler(
db=db,
extractor=extractor,
pypi=pypi
)
# start with given paths
# also remember what we have got here,
# because it is important for the PBO part later
must_satisfy = []
for p in args.paths:
splitted = p.split(':')
cwd = splitted[0]
if len(splitted) > 1:
extras = splitted[1].split(',')
else:
extras = []
data = extractor.from_path(cwd, db)
must_satisfy.append(
(
utils.normalize(data['name']),
utils.normalize(data['version'])
)
)
scheduler.add_todos_from_db(data['name'], data['version'], '')
scheduler.done_with_all_versions(data['name'], '')
for e in itertools.chain([''], extras):
scheduler.add_todos_from_db(
data['name'],
data['version'],
e
)
scheduler.done_with_all_versions(data['name'], e)
# run until no tasks left
todo = scheduler.get()
while todo:
(name, extra) = todo
if args.cached:
scheduler.process_cached(name, extra)
else:
scheduler.process_extract(name, extra)
todo = scheduler.get()
# finally solve our problem
solver.solve(
scheduler,
db,
must_satisfy,
tmpdir,
args.solver,
args.outfile,
args.include_starting_points
)
except utils.HandledError as e:
logging.error(e.message)