Move CLI code into it's own module
This makes pypkg2mod more like a conventional library/module by moving the cli code into it's own module. Making room for additional command line interfaces Change-Id: If15b85ac3230adf9cf2bc8a9c1c7a9ac9f31eda9
This commit is contained in:
		@@ -10,8 +10,6 @@
 | 
			
		||||
#    License for the specific language governing permissions and limitations
 | 
			
		||||
#    under the License.
 | 
			
		||||
 | 
			
		||||
import argparse
 | 
			
		||||
import distro
 | 
			
		||||
import re
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -414,40 +412,3 @@ def module2upstream(mod):
 | 
			
		||||
        if pkglist:
 | 
			
		||||
            return pkglist[0]
 | 
			
		||||
    return mod
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
    """for resolving names from command line"""
 | 
			
		||||
    parser = argparse.ArgumentParser(description='Python module name to'
 | 
			
		||||
                                     'package name')
 | 
			
		||||
    group = parser.add_mutually_exclusive_group()
 | 
			
		||||
    group.add_argument(
 | 
			
		||||
        '--dist', help='distribution style (default: %(default)s)',
 | 
			
		||||
        default=distro.LinuxDistribution().id().partition(' ')[0])
 | 
			
		||||
    group.add_argument('--upstream', help='map to OpenStack project name',
 | 
			
		||||
                       action='store_true')
 | 
			
		||||
    parser.add_argument('--pyver', help='Python versions to return. "py" is '
 | 
			
		||||
                        'the unversioned name',
 | 
			
		||||
                        action='append', choices=['py', 'py2', 'py3'],
 | 
			
		||||
                        default=[])
 | 
			
		||||
    parser.add_argument('modulename', help='python module name')
 | 
			
		||||
    args = vars(parser.parse_args())
 | 
			
		||||
 | 
			
		||||
    pyversions = args['pyver'] if args['pyver'] else ['py']
 | 
			
		||||
 | 
			
		||||
    if args['upstream']:
 | 
			
		||||
        print(module2upstream(args['modulename']))
 | 
			
		||||
    else:
 | 
			
		||||
        pylist = module2package(args['modulename'], args['dist'],
 | 
			
		||||
                                py_vers=pyversions)
 | 
			
		||||
        # When only 1 version is requested, it will be returned as a string,
 | 
			
		||||
        # for backwards compatibility. Else, it will be a list.
 | 
			
		||||
        if type(pylist) is list:
 | 
			
		||||
            print(' '.join(pylist))
 | 
			
		||||
        else:
 | 
			
		||||
            print(pylist)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# for debugging to call the file directly
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    main()
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										0
									
								
								pymod2pkg/cli/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								pymod2pkg/cli/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										48
									
								
								pymod2pkg/cli/pymod2pkg.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								pymod2pkg/cli/pymod2pkg.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,48 @@
 | 
			
		||||
#    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.
 | 
			
		||||
 | 
			
		||||
import argparse
 | 
			
		||||
import distro
 | 
			
		||||
 | 
			
		||||
import pymod2pkg
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
    """for resolving names from command line"""
 | 
			
		||||
    parser = argparse.ArgumentParser(description='Python module name to'
 | 
			
		||||
                                     'package name')
 | 
			
		||||
    group = parser.add_mutually_exclusive_group()
 | 
			
		||||
    group.add_argument(
 | 
			
		||||
        '--dist', help='distribution style (default: %(default)s)',
 | 
			
		||||
        default=distro.LinuxDistribution().id().partition(' ')[0])
 | 
			
		||||
    group.add_argument('--upstream', help='map to OpenStack project name',
 | 
			
		||||
                       action='store_true')
 | 
			
		||||
    parser.add_argument('--pyver', help='Python versions to return. "py" is '
 | 
			
		||||
                        'the unversioned name',
 | 
			
		||||
                        action='append', choices=['py', 'py2', 'py3'],
 | 
			
		||||
                        default=[])
 | 
			
		||||
    parser.add_argument('modulename', help='python module name')
 | 
			
		||||
    args = vars(parser.parse_args())
 | 
			
		||||
 | 
			
		||||
    pyversions = args['pyver'] if args['pyver'] else ['py']
 | 
			
		||||
 | 
			
		||||
    if args['upstream']:
 | 
			
		||||
        print(pymod2pkg.module2upstream(args['modulename']))
 | 
			
		||||
    else:
 | 
			
		||||
        pylist = pymod2pkg.module2package(args['modulename'], args['dist'],
 | 
			
		||||
                                          py_vers=pyversions)
 | 
			
		||||
        # When only 1 version is requested, it will be returned as a string,
 | 
			
		||||
        # for backwards compatibility. Else, it will be a list.
 | 
			
		||||
        if type(pylist) is list:
 | 
			
		||||
            print(' '.join(pylist))
 | 
			
		||||
        else:
 | 
			
		||||
            print(pylist)
 | 
			
		||||
@@ -3,3 +3,4 @@
 | 
			
		||||
# process, which may cause wedges in the gate later.
 | 
			
		||||
distro
 | 
			
		||||
pbr!=2.1.0,>=2.0.0 # Apache-2.0
 | 
			
		||||
packaging
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user