def main(args): required_opts = { 'directory':'the directory to create the plugin', 'id':'the module id in dotted notation: such as com.yourcompany.foo' } optional_opts = { 'sdk':'the platform sdk path', 'titanium':'the Titanium Mobile sdk path' } config = sysargs_to_dict(args,required_opts,optional_opts) plugin_name = config['id'] project_dir = os.path.join(os.path.abspath(os.path.expanduser(config['directory'])),plugin_name) if os.path.exists(project_dir): print "Error. Directory already exists: %s" % project_dir sys.exit(1) ti_sdk_dir = None if 'titanium' in config: ti_sdk_dir = os.path.expanduser(config['sdk']) if ti_sdk_dir is None or not os.path.exists(ti_sdk_dir): sdk_root = timobile.find_mobilesdk_from_mobiletools(this_dir) if not sdk_root: print "[ERROR] Cannot locate Titanium Mobile SDK" sys.exit(1) (version, ti_sdk_dir) = timobile.find_latest_mobilesdk(sdk_root) if not ti_sdk_dir: print "[ERROR] Cannot locate Titanium Mobile SDK" sys.exit(1) plugin = PluginProject(project_dir,config,ti_sdk_dir)
a = list(args) a.pop(0) # program a.pop(0) # command try: c = eval("%s" % command) except NameError,e: help([command]) if command == 'help': c(a) else: # convert args to a hash config = slurp_args(a) if config.has_key('titanium_mobile_dir'): titanium_mobile_dir = os.path.expanduser(config['titanium_mobile_dir']) else: timob_root = timobile.find_mobilesdk_from_mobiletools(this_dir) if not timob_root: print "[ERROR] Cannot locate Titanium Mobile directory" sys.exit(1) (version, titanium_mobile_dir) = timobile.find_latest_mobilesdk(timob_root) # some config can be checked before hand if not config.has_key('dir') or config['dir']==None: config['dir']=os.getcwd() else: # expand the path config['dir']=os.path.expanduser(config['dir']) # invoke the command c(config) sys.exit(0)