def generator(): """ Code generator function, parse user arguments and load appropriate template module. Once loaded, run its data method depending on user requested input parameter, e.g. print_etags, print_tags or generate template code. """ optmgr = SkeletonOptionParser() opts, args = optmgr.get_opt() test_env(os.path.join(opts.tdir, opts.tmpl), opts.tmpl) config = { 'pname': opts.pname, 'tmpl': opts.tmpl, 'author': opts.author, 'args': parse_args(args), 'debug': opts.debug, 'ftype': opts.ftype } if opts.ketags: etags = opts.ketags.split(',') config.update({'tmpl_etags': etags}) else: config.update({'tmpl_etags': []}) obj = code_generator(config) if opts.etags: obj.print_etags() sys.exit(0) elif opts.tags: obj.print_tags() sys.exit(0) elif opts.templates: for name in os.listdir(template_directory()): print(name) sys.exit(0) obj.generate()
def __init__(self, config=None): super(AbstractPkg, self).__init__() if not config: self.config = {} else: self.config = config self.pname = self.config.get('pname', None) self.tmpl = self.config.get('tmpl', None) self.debug = self.config.get('debug', 0) self.tdir = template_directory() self.author = user_info(self.config.get('author', None)) self.date = time.strftime("%a, %d %b %Y %H:%M:%S GMT", time.gmtime()) self.not_in_dir = self.config.get('not_in_dir', []) self.working_dir = self.config.get('working_dir')