requirements/openstack_requirements/cmds/normalize_requirements.py
Tony Breeds 4bb92e041c Integrate normalize as part of the requirements tools
Rather than have this as an external tool that open codes some of the logic
we have in the existing codebase we should integrate it.

Change-Id: I979dcefeec4ae28705088d4fac1e41b4d33e40e0
2016-06-23 10:16:23 +02:00

38 lines
1.2 KiB
Python

#! /usr/bin/env python
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from __future__ import print_function
from __future__ import unicode_literals
import argparse
from openstack_requirements import requirement
def main():
parser = argparse.ArgumentParser(
description="Normalize requirements files")
parser.add_argument('requirements', help='requirements file input')
args = parser.parse_args()
with open(args.requirements) as f:
requirements = [line.strip() for line in f.readlines()]
for line in requirements:
req = requirement.parse_line(line)
print(req.to_line(comment_prefix=' ',
sort_specifiers=True), end='')
if __name__ == '__main__':
main()