def create(self, argv): """ Create Binder. $ wasanbon-admin.py binder create""" self.parser.add_option( "-s", "--service", help="set upstream service", default="github", metavar="SERVICE", dest="service" ) self.parser.add_option("-u", "--user", help="set username", default=None, metavar="USER", dest="user") self.parser.add_option("-p", "--password", help="set password", default=None, metavar="PASSWD", dest="password") options, argv = self.parse_args(argv[:]) verbose = options.verbose_flag # This is default option service = options.service user, passwd = wasanbon.user_pass(user=options.user, passwd=options.password) sys.stdout.write("# Creating wasanbon binder in your %s\n" % service) repo_name = "wasanbon_binder" target_path = os.path.join(wasanbon.rtm_home(), "binder", user + owner_sign, repo_name + ".git") if service == "github": github = admin.github.Github(user, passwd) if github.exists_repo(repo_name): sys.stdout.write(" @ You have already created your own repository.\n") sys.stdout.write(" @ wasanbon just clone it.\n") download_repository(url=url, target_path=target_path, verbose=verbose) return True repo_obj = github.fork_repo("sugarsweetrobotics", "wasanbon_binder_template", repo_name, verbose=verbose) else: sys.stdout.write("## Unknown serviec name.\n") return -1 return 0
def delete(self, argv): self.parser.add_option( "-f", "--force", help="Force option (default=False)", default=False, action="store_true", dest="force_flag" ) self.parser.add_option("-u", "--user", help="set username", default=None, metavar="USER", dest="user") self.parser.add_option("-p", "--password", help="set password", default=None, metavar="PASSWD", dest="password") self.parser.add_option( "-s", "--service", help="set upstream service", default="github", metavar="SERVICE", dest="service" ) options, argv = self.parse_args(argv[:]) verbose = options.verbose_flag # This is default option force = options.force_flag service = options.service user, passwd = wasanbon.user_pass(user=options.user, passwd=options.password) sys.stdout.write("# Creating wasanbon binder in your %s\n" % service) repo_name = "wasanbon_binder" target_path = os.path.join(wasanbon.rtm_home(), "binder", user + owner_sign, repo_name + ".git") if service == "github": github = admin.github.Github(user, passwd) if github.exists_repo(repo_name): if not force: from wasanbon import util if util.yes_no("## Really delete?") == "no": sys.stdout.write("## Aborted.\n") return 0 github.delete_repo(repo_name) return 0 else: sys.stdout.write("# Unknown service name %s\n" % service) return -1 return 0
def load_workspace(): ws_file_name = os.path.join(wasanbon.rtm_home(), "workspace.yaml") if not os.path.isfile(ws_file_name): fout = open(ws_file_name, "w") fout.close() pass y = yaml.load(open(ws_file_name, "r")) if not y: y = {} return y
def load_workspace(): ws_file_name = os.path.join(wasanbon.rtm_home(), 'workspace.yaml') if not os.path.isfile(ws_file_name): fout = open(ws_file_name, 'w') fout.close() pass y = yaml.load(open(ws_file_name, 'r')) if not y: y = {} return y
def delete(self, argv): self.parser.add_option('-f', '--force', help='Force option (default=False)', default=False, action='store_true', dest='force_flag') self.parser.add_option('-u', '--user', help='set username', default=None, metavar='USER', dest='user') self.parser.add_option('-p', '--password', help='set password', default=None, metavar='PASSWD', dest='password') self.parser.add_option('-s', '--service', help='set upstream service', default='github', metavar='SERVICE', dest='service') options, argv = self.parse_args(argv[:]) verbose = options.verbose_flag # This is default option force = options.force_flag service = options.service user, passwd = wasanbon.user_pass(user=options.user, passwd=options.password) sys.stdout.write('# Creating wasanbon binder in your %s\n' % service) repo_name = 'wasanbon_binder' target_path = os.path.join(wasanbon.rtm_home(), 'binder', user + owner_sign, repo_name + '.git') if service == 'github': github = admin.github.Github(user, passwd) if github.exists_repo(repo_name): if not force: from wasanbon import util if util.yes_no('## Really delete?') == 'no': sys.stdout.write('## Aborted.\n') return 0 github.delete_repo(repo_name) return 0 else: sys.stdout.write('# Unknown service name %s\n' % service) return -1 return 0
def create(self, argv): """ Create Binder. $ wasanbon-admin.py binder create""" self.parser.add_option('-s', '--service', help='set upstream service', default='github', metavar='SERVICE', dest='service') self.parser.add_option('-u', '--user', help='set username', default=None, metavar='USER', dest='user') self.parser.add_option('-p', '--password', help='set password', default=None, metavar='PASSWD', dest='password') options, argv = self.parse_args(argv[:]) verbose = options.verbose_flag # This is default option service = options.service user, passwd = wasanbon.user_pass(user=options.user, passwd=options.password) sys.stdout.write('# Creating wasanbon binder in your %s\n' % service) repo_name = 'wasanbon_binder' target_path = os.path.join(wasanbon.rtm_home(), 'binder', user + owner_sign, repo_name + '.git') if service == 'github': github = admin.github.Github(user, passwd) if github.exists_repo(repo_name): sys.stdout.write( ' @ You have already created your own repository.\n') sys.stdout.write(' @ wasanbon just clone it.\n') download_repository(url=url, target_path=target_path, verbose=verbose) return True repo_obj = github.fork_repo('sugarsweetrobotics', 'wasanbon_binder_template', repo_name, verbose=verbose) else: sys.stdout.write('## Unknown serviec name.\n') return -1 return 0
def start_java_rtcd(pkg, filepath, verbose=False): if verbose: sys.stdout.write(' - Starting Java rtcd.\n') args = {} #args['env'] = os.environ.copy() args['preexec_fn'] = None if sys.platform == 'win32' else disable_sig args['stdout'] = None if verbose else subprocess.PIPE args['stdin'] = None if verbose else subprocess.PIPE if sys.platform == 'win32': args['creationflags'] = 512 rtm_java_classpath = os.path.join(wasanbon.rtm_home(), 'jar') java_env = os.environ.copy() if not "CLASSPATH" in java_env.keys(): java_env["CLASSPATH"] = os.getcwd() if sys.platform == 'win32': sep = ';' else: sep = ':' for jarfile in os.listdir(rtm_java_classpath): java_env["CLASSPATH"] = java_env["CLASSPATH"] + sep + os.path.join( rtm_java_classpath, jarfile) #java_env["CLASSPATH"]=java_env["CLASSPATH"] + ':bin/LeapTest.jar' rtm_jars = [ j for j in os.listdir(rtm_java_classpath) if j.endswith('.jar') ] for r in pkg.rtcs: if os.path.isdir(os.path.join(r.path, 'jar')): for jarfile in [ j for j in os.listdir(os.path.join(r.path, 'jar')) if j.endswith('.jar') ]: if not jarfile in rtm_jars: java_env["CLASSPATH"] = java_env[ "CLASSPATH"] + sep + os.path.join( r.path, 'jar', jarfile) #print java_env args['env'] = java_env cmd = [wasanbon.setting()['local']['java'], 'rtcd.rtcd', '-f', filepath] return subprocess.Popen(cmd, **args)
def start_java_rtcd(pkg, filepath, verbose=False): if verbose: sys.stdout.write(' - Starting Java rtcd.\n') args = {} #args['env'] = os.environ.copy() args['preexec_fn'] = None if sys.platform == 'win32' else disable_sig args['stdout'] = None if verbose else subprocess.PIPE args['stdin'] = None if verbose else subprocess.PIPE if sys.platform == 'win32': args['creationflags'] = 512 rtm_java_classpath = os.path.join(wasanbon.rtm_home(), 'jar') java_env = os.environ.copy() if not "CLASSPATH" in java_env.keys(): java_env["CLASSPATH"]=os.getcwd() if sys.platform == 'win32': sep = ';' else: sep = ':' for jarfile in os.listdir(rtm_java_classpath): java_env["CLASSPATH"]=java_env["CLASSPATH"] + sep + os.path.join(rtm_java_classpath, jarfile) #java_env["CLASSPATH"]=java_env["CLASSPATH"] + ':bin/LeapTest.jar' rtm_jars = [j for j in os.listdir(rtm_java_classpath) if j.endswith('.jar')] for r in pkg.rtcs: if os.path.isdir(os.path.join(r.path, 'jar')): for jarfile in [j for j in os.listdir(os.path.join(r.path, 'jar')) if j.endswith('.jar')]: if not jarfile in rtm_jars: java_env["CLASSPATH"]=java_env["CLASSPATH"] + sep + os.path.join(r.path, 'jar', jarfile) #print java_env args['env'] = java_env cmd = [wasanbon.setting()['local']['java'], 'rtcd.rtcd', '-f', filepath] return subprocess.Popen(cmd, **args)
def save_workspace(dic): ws_file_name = os.path.join(wasanbon.rtm_home(), "workspace.yaml") yaml.dump(dic, open(ws_file_name, "w"), encoding="utf8", allow_unicode=True, default_flow_style=False)
def save_workspace(dic): ws_file_name = os.path.join(wasanbon.rtm_home(), 'workspace.yaml') yaml.dump(dic, open(ws_file_name, 'w'), encoding='utf8', allow_unicode=True, default_flow_style=False)