def request(bot, event, args): if event.target.startswith("#"): bot.reply(event, "You cannot request an account in the public channel because we require your email address. Instead, Private Message botface.") return if len(args.split(" ")) < 2: bot.reply(event, "\x02Syntax\x02: !request <username> <email>") bot.reply(event, "\x02Terms of Service\x02: https://ircbouncehouse.com/info") return args = args.split(" ") username = args[0] if not re.fullmatch("^[a-zA-Z][a-zA-Z@._\-]+$", username): bot.reply(event, "\x02Error\x02: Invalid username.") return email = args[1] if "@" not in email: bot.reply(event, "\x02Error\x02: Invalid email specified.") return requsers = bot.manager.requestdb.get_by_user(username) if requsers: for requser in requsers: if requser["status"] != "rejected": bot.reply(event, "\x02Error\x02: There is already a request with this username.") return reqemails = bot.manager.requestdb.get_by_email(email) if reqemails: for reqemail in reqemails: if reqemail["status"] != "rejected": bot.reply(event, "\x02Error\x02: There is already a request with this email.") return bot.manager.requestdb.add(username, email, str(event.source)) thisreq = bot.manager.requestdb.get_by_email(email)[-1] key = utils.genkey() bot.manager.verifydb.add(key, "request", thisreq["id"]) bot.manager.mail.verify(email, key) bot.reply(event, "\x02You have completed the first step!\x02 Please follow the instructions sent to the email address you specified to verify your request.")
def preprocess(args): if args.mode in ('train'): args_vars = vars(args) # model meaningful parametrization properties pm = [args.model_core_type] if args.model_core_type == 'transformer': pm.append(str(args.model_core_transformer_layers)) pm.append(str(args.model_core_transformer_hidden_size)) pm.append('ah' + str(args.model_core_transformer_attention_heads)) pm.append( 'ak' + str(args.model_core_transformer_attention_key_dense_size)) pm.append( 'av' + str(args.model_core_transformer_attention_value_dense_size)) params = { k: v for k, v in args_vars.items() if not k.startswith('model_core_bilstm') } elif args.model_core_type == 'biLSTM': pm.append(str(args.model_core_bilstm_layers)) pm.append(str(args.model_core_bilstm_layer_size)) params = { k: v for k, v in args_vars.items() if not k.startswith('model_core_transformer') } # model paramerization hash string h = list(x for x in zip(params.keys(), params.values())) h = genkey(str(sorted(params, key=lambda x: x[0]))) if args.signature_prefix is not None: pm.insert(0, args.signature_prefix) if args.signature_suffix is not None: pm.append(args.signature_suffix) signature = '.'.join(pm) + '-' + h params['base_dir'] = os.path.join(params['save_dir'], signature) elif args.mode in ('retrain', 'evaluate'): params = dict() params['base_dir'] = args.model_dir params, _ = load(params) for k, v in args.__dict__.items(): if v is not None: params[k] = v return params
def tchfiles(datapath): print datapath.split('|')[0], datapath return [[genkey(datapath.split('|')[0]), genkey(datapath)]]
def main(key): fid,dbpath = getdbpath() #e.g "IDC|播客|前端|d" dbname = "%s.tch" % genkey(key) pycabinet.create( os.path.join(dbpath,dbname) )
def tchfiles(datapath): return [os.path.join( autodir(datapath), "%s.tch" % genkey(datapath)),]
def tchfiles(datapath): return [ os.path.join(autodir(datapath), "%s.tch" % genkey(datapath)), ]
def main(key): fid, dbpath = getdbpath() #e.g "IDC|播客|前端|d" dbname = "%s.tch" % genkey(key) pycabinet.create(os.path.join(dbpath, dbname))