Add --save option to normalize-requirements command
Change-Id: Id6fe76e76fa87939475cb56f376aa084e61a9db0
This commit is contained in:
parent
346553c0a6
commit
4ede8784c9
@ -16,21 +16,40 @@ from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import argparse
|
||||
import os.path
|
||||
|
||||
from openstack_requirements import requirement
|
||||
|
||||
|
||||
def write_requirements_file(filename, reqs):
|
||||
with open(filename + 'tmp', 'wt') as f:
|
||||
f.write(reqs)
|
||||
if os.path.exists(filename):
|
||||
os.remove(filename)
|
||||
os.rename(filename + 'tmp', filename)
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Normalize requirements files")
|
||||
parser.add_argument('requirements', help='requirements file input')
|
||||
parser.add_argument('-s', '--save', action='store_true', default=False,
|
||||
help=('save normalized requirements '
|
||||
'file instead of displaying it'))
|
||||
args = parser.parse_args()
|
||||
with open(args.requirements) as f:
|
||||
requirements = [line.strip() for line in f.readlines()]
|
||||
|
||||
normed_reqs = ""
|
||||
for line in requirements:
|
||||
req = requirement.parse_line(line)
|
||||
print(req.to_line(comment_prefix=' ',
|
||||
sort_specifiers=True), end='')
|
||||
normed_req = req.to_line(comment_prefix=' ', sort_specifiers=True)
|
||||
normed_reqs += normed_req
|
||||
|
||||
if args.save:
|
||||
write_requirements_file(args.requirements, normed_reqs)
|
||||
else:
|
||||
print(normed_reqs, end='')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
Loading…
Reference in New Issue
Block a user