Adding setup.py to charm-generator
[osm/devops.git] / descriptor-packages / tools / charm-generator / generator.py
diff --git a/descriptor-packages/tools/charm-generator/generator.py b/descriptor-packages/tools/charm-generator/generator.py
deleted file mode 100644 (file)
index 22ce1cb..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-# Copyright 2019 Whitestack, LLC
-#
-# 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.
-#
-# For those usages not covered by the Apache License, Version 2.0 please
-# contact: esousa@whitestack.com or glavado@whitestack.com
-##
-
-import argparse
-import logging
-import sys
-
-from datetime import datetime
-
-from generators.ansible_generator import AnsibleGenerator
-
-
-def configure_logger(args):
-    global logger
-    logger = logging.getLogger()
-
-    if args.verbose:
-        logger.setLevel(logging.DEBUG)
-    else:
-        logger.setLevel(logging.INFO)
-
-    handler = logging.StreamHandler(sys.stdout)
-
-    if args.verbose:
-        handler.setLevel(logging.DEBUG)
-    else:
-        handler.setLevel(logging.INFO)
-
-    formatter = logging.Formatter('[%(levelname)s] %(message)s')
-    handler.setFormatter(formatter)
-    logger.addHandler(handler)
-
-
-def verify_environment(args):
-    pass
-
-
-def input_processing():
-    parser = argparse.ArgumentParser(description='Charm generator for OSM VNFs')
-
-    # Setting logger from INFO to DEBUG
-    parser.add_argument('-v', '--verbose', required=False, action='store_true',
-                        help='increase output verbosity')
-
-    # Backend selection
-    backend_parser = parser.add_mutually_exclusive_group(required=True)
-
-    backend_parser.add_argument('--ansible', action='store_true',
-                                help='generate an Ansible charm')
-    backend_parser.add_argument('--http', action='store_true',
-                                help='generate a HTTP charm')
-    backend_parser.add_argument('--sol002', action='store_true',
-                                help='generate a SOL002 charm')
-    backend_parser.add_argument('--scripts', action='store_true',
-                                help='generate a Scripts charm')
-
-    # Metadata inputs
-    metadata_parser = parser.add_argument_group('metadata')
-
-    metadata_parser.add_argument('--summary', required=False, action='store',
-                                 help='summary to be included in the metadata.yaml')
-    metadata_parser.add_argument('--maintainer', required=False, action='store',
-                                 help='maintainer information to be included in the metadata.yaml')
-    metadata_parser.add_argument('--description', required=False, action='store',
-                                 help='description to be included in the metadata.yaml')
-
-    # License header inputs
-    license_header_group = parser.add_argument_group('license_header')
-
-    license_header_group.add_argument('--company', required=False, action='store',
-                                      help='company name to be included in the license headers')
-    license_header_group.add_argument('--email', required=False, action='store',
-                                      help='email to be included in the license headers')
-
-    return parser.parse_args()
-
-
-def process_args(args):
-    # Metadata information for metadata.yaml
-    metadata = {}
-
-    if args.summary:
-        metadata['summary'] = args.summary
-    if args.maintainer:
-        metadata['maintainer'] = args.maintainer
-    if args.description:
-        metadata['description'] = args.description
-
-    # Information for license headers
-    license = {
-        'year': datetime.now().year
-    }
-
-    if args.company:
-        license['company'] = args.company
-    if args.email:
-        license['email'] = args.email
-
-    # Options to configure the backends
-    options = {
-        'backend': None
-    }
-
-    if args.ansible:
-        options['backend'] = 'ansible'
-    elif args.http:
-        options['backend'] = 'http'
-    elif args.sol002:
-        options['backend'] = 'sol002'
-    elif args.scripts:
-        options['backend'] = 'scripts'
-
-    return metadata, license, options
-
-
-def main():
-    # getting the input from the user
-    args = input_processing()
-
-    # configure the logger
-    configure_logger(args)
-
-    logger.info('Starting generation process...')
-
-    # verify if the environment is correct and the args are valid
-    verify_environment(args)
-
-    # process data to input in generator
-    metadata, license, options = process_args(args)
-
-    logger.debug('Metadata: %s', metadata)
-    logger.debug('License: %s', license)
-    logger.debug('Options: %s', options)
-
-    if options['backend'] == 'ansible':
-        generator = AnsibleGenerator(metadata=metadata, license=license, options=options)
-    elif options['backend'] == 'http':
-        logger.error('HTTP backend not yet available. Available backends are: ansible')
-        sys.exit(-1)
-    elif options['backend'] == 'sol002':
-        logger.error('SOL002 backend not yet available. Available backends are: ansible')
-        sys.exit(-1)
-    elif options['backend'] == 'scripts':
-        logger.error('Scripts backend not yet available. Available backends are: ansible')
-        sys.exit(-1)
-    else:
-        logger.error('Undefined backend for generator. Available backends are: ansible')
-        sys.exit(-1)
-
-    generator.generate()
-
-    logger.info('Generation process complete.')
-
-
-if __name__ == "__main__":
-    main()