def backup_schedule_format(): """ See ``p2p.help.schedule_format()`` method. """ try: from main import help return help.schedule_format() except: return ''
def run(opts, args, overDict, pars): """ The entry point, this is called from ``p2p.bpmain`` to process command line arguments. """ print 'Copyright 2014, BitDust. All rights reserved.' if overDict: settings.override_dict(overDict) bpio.init() settings.init() if not opts or opts.debug is None: lg.set_debug_level(0) appList = bpio.find_process([ 'bitdust.exe', 'bpmain.py', 'bitdust.py', 'regexp:^/usr/bin/python.*bitdust.*$', ]) running = len(appList) > 0 cmd = '' if len(args) > 0: cmd = args[0].lower() #---help--- if cmd in ['help', 'h']: from main import help if len(args) >= 2 and args[1].lower() == 'schedule': print help.schedule_format() elif len(args) >= 2 and args[1].lower() == 'settings': print config.conf().print_all() else: print help.help() print pars.format_option_help() return 0 #---backup--- elif cmd in ['backup', 'backups', 'bk']: if not running: print 'BitDust is not running at the moment\n' return 0 return cmd_backups(opts, args, overDict) #---restore--- elif cmd in ['restore', 're']: if not running: print 'BitDust is not running at the moment\n' return 0 return cmd_restore(opts, args, overDict) #---schedule--- elif cmd in ['schedule', 'shed', 'sched', 'sh']: if not running: print 'BitDust is not running at the moment\n' return 0 return cmd_schedule(opts, args, overDict) #---suppliers--- elif cmd in [ 'suppliers', 'supplier', 'sup', 'supp', 'sp', ]: if not running: print 'BitDust is not running at the moment\n' return 0 return cmd_suppliers(opts, args, overDict) #---customers--- elif cmd in [ 'customers', 'customer', 'cus', 'cust', 'cs', ]: if not running: print 'BitDust is not running at the moment\n' return 0 return cmd_customers(opts, args, overDict) #---register--- elif cmd == 'register': if running: print 'BitDust already started.\n' return 0 return cmd_register(opts, args, overDict) #---recover--- elif cmd == 'recover': if running: print 'BitDust already started.\n' return 0 return cmd_recover(opts, args, overDict) #---key--- elif cmd == 'key': return cmd_key(opts, args, overDict) #---stats--- elif cmd in [ 'stats', 'st' ]: if not running: print 'BitDust is not running at the moment\n' return 0 return cmd_stats(opts, args, overDict) #---version--- elif cmd in [ 'version', 'v', 'ver' ]: ver = bpio.ReadTextFile(settings.VersionNumberFile()).strip() chksum = bpio.ReadTextFile(settings.CheckSumFile()).strip() repo, location = misc.ReadRepoLocation() print 'checksum: ', chksum print 'version: ', ver print 'repository: ', repo print 'location: ', location return 0 #---states--- elif cmd in [ 'states', 'sta', 'automats', 'auto' ]: if not running: print 'BitDust is not running at the moment\n' return 0 return cmd_states(opts, args, overDict) #---cache--- elif cmd in [ 'cache' ]: if not running: print 'BitDust is not running at the moment\n' return 0 return cmd_cache(opts, args, overDict) #---reconnect--- elif cmd in [ 'reconnect', ]: if not running: print 'BitDust is not running at the moment\n' return 0 return cmd_reconnect(opts, args, overDict) #---set--- elif cmd in [ 'set', 'setting', 'settings', 'conf', 'config', 'configs', 'option', 'options', ]: if len(args) == 1 or args[1].lower() in [ 'help', '?' ]: from main import help print help.settings_help() return 0 if not running: cmd_set_directly(opts, args, overDict) return 0 return cmd_set_request(opts, args, overDict) #---memory--- elif cmd == 'memory': if not running: print 'BitDust is not running at the moment\n' return 0 return cmd_memory(opts, args, overDict) #---money--- elif cmd == 'money': if not running: print 'BitDust is not running at the moment\n' return 0 return cmd_money(opts, args, overDict) #---storage--- elif cmd == 'storage': if not running: print 'BitDust is not running at the moment\n' return 0 return cmd_storage(opts, args, overDict) #---message--- elif cmd == 'msg' or cmd == 'message' or cmd == 'messages': if not running: print 'BitDust is not running at the moment\n' return 0 return cmd_message(opts, args, overDict) #---integrate--- elif cmd == 'integrate': return cmd_integrate(opts, args, overDict) # elif cmd == 'uninstall': # return cmd_uninstall(opts, args, overDict) return 2
def run(opts, args, pars=None, overDict=None, executablePath=None): cmd = '' if len(args) > 0: cmd = args[0].lower() from system import bpio bpio.init() #---start--- if cmd == '' or cmd == 'start' or cmd == 'go' or cmd == 'run': appList = bpio.find_process([ 'bitdust.exe', 'bpmain.py', 'bitdust.py', 'regexp:^/usr/bin/python.*bitdust.*$', ]) if len(appList) > 0: print_text('BitDust already started, found another process: %s' % str(appList)) return 0 return run_now(opts, args) #---detach--- elif cmd == 'detach': appList = bpio.find_process([ 'bitdust.exe', 'bpmain.py', 'bitdust.py', 'regexp:^/usr/bin/python.*bitdust.*$', ]) if len(appList) > 0: print_text('main BitDust process already started: %s' % str(appList)) return 0 from lib import misc print_text('run and detach main BitDust process') result = misc.DoRestart(detach=True) try: result = result.pid except: pass print_text(result) return 0 #---restart--- elif cmd == 'restart' or cmd == 'reboot': appList = bpio.find_process([ 'bitdust.exe', 'bpmain.py', 'bitdust.py', 'regexp:^/usr/bin/python.*bitdust.*$', ]) if len(appList) == 0: return run_now(opts, args) ui = False if cmd == 'restart': ui = True print_text('found main BitDust process: %s, sending "restart" command' % str(appList)) def done(x): print_text('DONE\n', '') from twisted.internet import reactor if reactor.running and not reactor._stopped: reactor.stop() def failed(x): print_text('soft restart FAILED, now killing previous process and do restart') try: kill() except: print_exception() from twisted.internet import reactor from lib import misc reactor.addSystemEventTrigger('after', 'shutdown', misc.DoRestart, param='show' if ui else '', detach=True) reactor.stop() try: from twisted.internet import reactor call_jsonrpc_method('restart', ui).addCallbacks(done, failed) reactor.run() except: print_exception() return 1 return 0 #---show--- elif cmd == 'show' or cmd == 'open': appList_bpgui = bpio.find_process([ 'bpgui.exe', 'bpgui.py', ]) appList = bpio.find_process([ 'bitdust.exe', 'bpmain.py', 'bitdust.py', 'regexp:^/usr/bin/python.*bitdust.*$', ]) if len(appList_bpgui) > 0: if len(appList) == 0: for pid in appList_bpgui: bpio.kill_process(pid) else: print_text('BitDust GUI already opened, found another process: %s' % str(appList)) return 0 if len(appList) == 0: from lib import misc print_text('run and detach main BitDust process') result = misc.DoRestart('show', detach=True) try: result = result.pid except: pass print_text(result) return 0 print_text('found main BitDust process: %s, sending command "show" to start the GUI\n' % str(appList)) call_jsonrpc_method('show') return 0 #---stop--- elif cmd == 'stop' or cmd == 'kill' or cmd == 'shutdown': appList = bpio.find_process([ 'bitdust.exe', 'bpmain.py', 'bitdust.py', 'regexp:^/usr/bin/python.*bitdust.*$', ]) if len(appList) > 0: print_text('found main BitDust process: %s, sending command "exit" ... ' % str(appList), '') try: from twisted.internet import reactor call_jsonrpc_method('stop').addBoth(wait_then_kill) reactor.run() return 0 except: print_exception() ret = kill() return ret else: print_text('BitDust is not running at the moment') return 0 #---help--- elif cmd in ['help', 'h', 'hlp', '?']: from main import help if len(args) >= 2 and args[1].lower() == 'schedule': print_text(help.schedule_format()) elif len(args) >= 2 and args[1].lower() == 'settings': # from main import settings # settings.uconfig().print_all() from main import config for k in config.conf().listAllEntries(): print k, config.conf().getData(k) else: print_text(help.help()) print_text(pars.format_option_help()) return 0 appList = bpio.find_process([ 'bitdust.exe', 'bpmain.py', 'bitdust.py', 'regexp:^/usr/bin/python.*bitdust.*$', ]) running = len(appList) > 0 overDict = override_options(opts, args) #---identity--- if cmd in ['identity', 'id', 'idurl', ]: return cmd_identity(opts, args, overDict, running) #---key--- elif cmd == 'key': return cmd_key(opts, args, overDict, running, executablePath) #---ping--- if cmd == 'ping' or cmd == 'call' or cmd == 'sendid': if len(args) < 1: return 2 tpl = jsontemplate.Template(templ.TPL_RAW) return call_jsonrpc_method_template_and_stop('ping', tpl, args[1]) #---set--- elif cmd in ['set', 'get', 'conf', 'config', 'option', 'setting', ]: if len(args) == 1 or args[1].lower() in ['help', '?']: from main import help print_text(help.settings_help()) return 0 if not running: return cmd_set(opts, args, overDict) return cmd_set_request(opts, args, overDict) #---reconnect--- if cmd in ['reconnect', 'rejoin', 'connect', ]: if not running: print_text('BitDust is not running at the moment\n') return 0 return cmd_reconnect(opts, args, overDict) #---api--- elif cmd in ['api', 'call', ]: if not running: print_text('BitDust is not running at the moment\n') return 0 return cmd_api(opts, args, overDict, executablePath) #---messages--- elif cmd in ['msg', 'message', 'messages', 'chat', 'talk', ]: if not running: print_text('BitDust is not running at the moment\n') return 0 return cmd_message(opts, args, overDict) #---suppliers--- elif cmd in ['suppliers', 'supplier', 'sup', 'supp', 'sp']: if not running: print_text('BitDust is not running at the moment\n') return 0 return cmd_suppliers(opts, args, overDict) #---customers--- elif cmd in ['customers', 'customer', 'cus', 'cust', 'cu']: if not running: print_text('BitDust is not running at the moment\n') return 0 return cmd_customers(opts, args, overDict) #---storage--- elif cmd in ['storage', 'space']: if not running: print_text('BitDust is not running at the moment\n') return 0 return cmd_storage(opts, args, overDict) #---automats--- elif cmd in ['automats', 'aut', 'states', 'machines', ]: if not running: print_text('BitDust is not running at the moment\n') return 0 return cmd_automats(opts, args, overDict) #---services--- elif cmd in ['services', 'service', 'svc', 'serv', 'srv', ]: if not running: print_text('BitDust is not running at the moment\n') return 0 return cmd_services(opts, args, overDict) #---friends--- elif cmd == 'friend' or cmd == 'friends' or cmd == 'buddy' or cmd == 'correspondent' or cmd == 'contact' or cmd == 'peer': if not running: print_text('BitDust is not running at the moment\n') return 0 return cmd_friend(opts, args, overDict) #---backup--- elif cmd in ['file', 'files', 'fi', 'fs', 'backup', 'backups', 'bk', 'up', 'upload', 'uploads', ]: if not running: print_text('BitDust is not running at the moment\n') return 0 return cmd_backup(opts, args, overDict, executablePath) #---restore--- elif cmd in ['restore', 'rest', 'download', 'down', ]: if not running: print_text('BitDust is not running at the moment\n') return 0 return cmd_restore(opts, args, overDict, executablePath) #---version--- elif cmd in ['version', 'v', 'ver']: from main import settings from lib import misc ver = bpio.ReadTextFile(settings.VersionNumberFile()).strip() chksum = bpio.ReadTextFile(settings.CheckSumFile()).strip() repo, location = misc.ReadRepoLocation() print_text('checksum: %s' % chksum) print_text('version: %s' % ver) print_text('repository: %s' % repo) print_text('location: %s' % location) return 0 #---integrate--- elif cmd == 'integrate' or cmd == 'alias' or cmd == 'shell': return cmd_integrate(opts, args, overDict) return 2
def run(opts, args, pars=None, overDict=None): cmd = '' if len(args) > 0: cmd = args[0].lower() from system import bpio bpio.init() #---start--- if cmd == '' or cmd == 'start' or cmd == 'go' or cmd == 'run': appList = bpio.find_process([ 'bitdust.exe', 'bpmain.py', 'bitdust.py', 'regexp:^/usr/bin/python.*bitdust.*$', ]) if len(appList) > 0: print_text('BitDust already started, found another process: %s' % str(appList)) return 0 return run_now(opts, args) #---detach--- elif cmd == 'detach': appList = bpio.find_process([ 'bitdust.exe', 'bpmain.py', 'bitdust.py', 'regexp:^/usr/bin/python.*bitdust.*$', ]) if len(appList) > 0: print_text('main BitDust process already started: %s' % str(appList)) return 0 from lib import misc print_text('run and detach main BitDust process') result = misc.DoRestart(detach=True) try: result = result.pid except: pass print_text(result) return 0 #---restart--- elif cmd == 'restart': appList = bpio.find_process([ 'bitdust.exe', 'bpmain.py', 'bitdust.py', 'regexp:^/usr/bin/python.*bitdust.*$', ]) if len(appList) == 0: return run_now() print_text('found main BitDust process: %s, sending "restart" command ... ' % str(appList), '') def done(x): print_text('DONE\n', '') from twisted.internet import reactor if reactor.running and not reactor._stopped: reactor.stop() def failed(x): print_text('FAILED, killing previous process and do restart\n', '') try: kill() except: print_exception() from twisted.internet import reactor from lib import misc reactor.addSystemEventTrigger('after','shutdown', misc.DoRestart) reactor.stop() try: from twisted.internet import reactor call_xmlrpc_method('restart').addCallbacks(done, failed) reactor.run() except: print_exception() return 1 return 0 #---show--- elif cmd == 'show' or cmd == 'open': appList_bpgui = bpio.find_process([ 'bpgui.exe', 'bpgui.py', ]) appList = bpio.find_process([ 'bitdust.exe', 'bpmain.py', 'bitdust.py', 'regexp:^/usr/bin/python.*bitdust.*$', ]) if len(appList_bpgui) > 0: if len(appList) == 0: for pid in appList_bpgui: bpio.kill_process(pid) else: print_text('BitDust GUI already opened, found another process: %s' % str(appList)) return 0 if len(appList) == 0: from lib import misc print_text('run and detach main BitDust process') result = misc.DoRestart('show', detach=True) try: result = result.pid except: pass print_text(result) return 0 print_text('found main BitDust process: %s, sending command "show" to start the GUI\n' % str(appList)) call_xmlrpc_method('show') return 0 #---stop--- elif cmd == 'stop' or cmd == 'kill' or cmd == 'shutdown': appList = bpio.find_process([ 'bitdust.exe', 'bpmain.py', 'bitdust.py', 'regexp:^/usr/bin/python.*bitdust.*$', ]) if len(appList) > 0: print_text('found main BitDust process: %s, sending command "exit"' % str(appList)) try: from twisted.internet import reactor call_xmlrpc_method('stop').addBoth(wait_then_kill) reactor.run() return 0 except: print_exception() ret = kill() return ret else: print_text('BitDust is not running at the moment') return 0 #---help--- elif cmd in ['help', 'h', 'hlp', '?']: from main import help if len(args) >= 2 and args[1].lower() == 'schedule': print_text(help.schedule_format()) elif len(args) >= 2 and args[1].lower() == 'settings': # from main import settings # settings.uconfig().print_all() from main import config for k in config.conf().listAllEntries(): print k, config.conf().getData(k) else: print_text(help.help()) print_text(pars.format_option_help()) return 0 appList = bpio.find_process([ 'bitdust.exe', 'bpmain.py', 'bitdust.py', 'regexp:^/usr/bin/python.*bitdust.*$', ]) running = len(appList) > 0 overDict = override_options(opts, args) #---set--- # if cmd == 'set': # if len(args) == 1 or args[1].lower() in [ 'help', '?' ]: # from main import help # print_text(help.settings_help()) # return 0 # if not running: # cmd_set_directly(opts, args, overDict) # return 0 # return cmd_set_request(opts, args, overDict) #---backup--- if cmd in ['backup', 'backups', 'bk']: if not running: print_text('BitDust is not running at the moment\n') return 0 return cmd_backups(opts, args, overDict) #---restore--- elif cmd in ['restore', 're']: if not running: print_text('BitDust is not running at the moment\n') return 0 return cmd_restore(opts, args, overDict) #---messages--- elif cmd == 'msg' or cmd == 'message' or cmd == 'messages': if not running: print_text('BitDust is not running at the moment\n') return 0 return cmd_message(opts, args, overDict) #---friends--- elif cmd == 'friend' or cmd == 'friends' or cmd == 'buddy': if not running: print_text('BitDust is not running at the moment\n') return 0 return cmd_friend(opts, args, overDict) #---integrate--- elif cmd == 'integrate': return cmd_integrate(opts, args, overDict) #---schedule--- elif cmd in ['schedule', 'shed', 'sched', 'sh']: if not running: print_text('BitDust is not running at the moment\n') return 0 return cmd_schedule(opts, args, overDict) #---suppliers--- # elif cmd in [ 'suppliers', 'supplier', 'sup', 'supp', 'sp', ]: # if not running: # print_text('BitDust is not running at the moment\n') # return 0 # return cmd_suppliers(opts, args, overDict) #---customers--- # elif cmd in [ 'customers', 'customer', 'cus', 'cust', 'cs', ]: # if not running: # print_text('BitDust is not running at the moment\n') # return 0 # return cmd_customers(opts, args, overDict) #---register--- # elif cmd == 'register': # if running: # print_text('BitDust already started.\n') # return 0 # return cmd_register(opts, args, overDict) #---recover--- # elif cmd == 'recover': # if running: # print_text('BitDust already started.\n') # return 0 # return cmd_recover(opts, args, overDict) #---key--- # elif cmd == 'key': # return cmd_key(opts, args, overDict) #---stats--- # elif cmd in [ 'stats', 'st' ]: # if not running: # print_text('BitDust is not running at the moment\n') # return 0 # return cmd_stats(opts, args, overDict) #---version--- elif cmd in [ 'version', 'v', 'ver' ]: from main import settings ver = bpio.ReadTextFile(settings.VersionNumberFile()).strip() chksum = bpio.ReadTextFile(settings.CheckSumFile()).strip() repo, location = misc.ReadRepoLocation() print_text('checksum: %s' % chksum ) print_text('version: %s' % ver) print_text('repository: %s' % repo) print_text('location: %s' % location) return 0 #---states--- # elif cmd in [ 'states', 'sta', 'automats', 'auto' ]: # if not running: # print_text('BitDust is not running at the moment\n') # return 0 # return cmd_states(opts, args, overDict) #---cache--- # elif cmd in [ 'cache' ]: # if not running: # print_text('BitDust is not running at the moment\n') # return 0 # return cmd_cache(opts, args, overDict) #---reconnect--- # elif cmd in [ 'reconnect', ]: # if not running: # print_text('BitDust is not running at the moment\n') # return 0 # return cmd_reconnect(opts, args, overDict) #---memory--- # elif cmd == 'memory': # if not running: # print_text('BitDust is not running at the moment\n') # return 0 # return cmd_memory(opts, args, overDict) #---money--- # elif cmd == 'money': # if not running: # print_text('BitDust is not running at the moment\n') # return 0 # return cmd_money(opts, args, overDict) # elif cmd == 'storage': # if not running: # print_text('BitDust is not running at the moment\n') # return 0 # return cmd_storage(opts, args, overDict) # elif cmd == 'uninstall': # return cmd_uninstall(opts, args, overDict) return 2