def info(pos): result = get_info(pos) response.set_header('Access-Control-Allow-Origin','*') response.set_header('Content-type', 'application/json') if result: return get_info(pos) else: return HTTPResponse(status=404)
def index(request): # 获得任务统计信息 tasks = get_task() task_count = { 'SUCCESS': len(tasks['SUCCESS']), 'FAILED': len(tasks['FAILED']), 'STARTED': len(tasks['STARTED']) } # 如果已经输入过IMEI if request.session.get('IMEI'): info = get_info(request.session.get('IMEI')) name = info['NickName'] id = info['UserID'] sex = info['Sex'] request.session['Name'] = name request.session['ID'] = id request.session['Sex'] = sex message = "" message_run = "未进行跑步任务" message_schedule = "未添加定时任务" # 显示立刻跑步的信息 for detail in tasks["STARTED"].values(): # 检测等待队列,如果有则提示 if detail['args'][3:-3] == request.session.get('IMEI'): message_run = "任务已经在队列中" # request.session['Applied'] = True # 显示定时跑步的信息 try: task = PeriodicTask.objects.get(name=request.session.get('ID')) message_schedule = str(task.crontab) except: pass return render( request, 'detail.html', { "NickName": name, "TASKS": task_count, "MESSAGE": message, "APPLIED": request.session.get('Applied'), "MESSAGE_RUN": message_run, "MESSAGE_SCHEDULE": message_schedule }) else: # 处理IMEI的POST请求 if request.method == 'POST': request.session['IMEI'] = request.POST['IMEI'] info = get_info(request.session.get('IMEI')) name = info['NickName'] return render(request, 'detail.html', { "NickName": name, "TASKS": task_count }) # 第一次访问要求输入IMEI return render(request, 'index.html')
def main(): #主函数 总控程序 #获取信息 information=get_info() st_num=information.re_st_num() poly=information.re_poly() print() print("当前学号为: ",st_num) print("当前使用的本原多项式系数为: ",poly) #md5加密并载入lfsr中 proc=lfsr_jk(st_num,poly) proc.run() print("当前md5的hash值为: ",proc.get_md5()) print("当前输出测试序列长度: ",proc.get_total()) print("当前list1序列为:"),output(proc.get_list1()) print("list1一个周期的序列为:"),output(proc.get_list1()[:255]) print("当前list2序列为:"),output(proc.get_list2()) print("list2一个周期的序列为:"),output(proc.get_list2()[:255]) print("当前qlist序列为:"),output(proc.get_qlist()[1:]) #利用B-M算法求出m序列的线性综合解 得到所使用的本原多项式 for i in range(512): if proc.get_list1()[i]==0: break re=solve(proc.get_list1()[i:i+16]) #re=solve([0,1,0,0,1,0,1,1,1,0,1,1,0,0,0,0]) re.figure_out() result=re.get_result() outpoly(result)
def processText(): text = request.json['request'] logging.info(f"text to answer: {text}") word_tokens = nltk.word_tokenize(text.lower()) morph = pymorphy2.MorphAnalyzer() word_normal_forms = [ morph.parse(word)[0].normal_form for word in word_tokens ] composer = get_composers(word_tokens) global composerContext if any(keyword in word_normal_forms for keyword in ["афиша", "расписание"]): if composer: return get_all_playbill([composer.capitalize()], to_json=False) else: return get_all_playbill(to_json=False) if composer or request.json['id'] in list(composerContext.keys()) and 'он'\ in word_normal_forms: if composer: composerContext[request.json['id']] = composer else: composer = composerContext[request.json['id']] for i in range(len(word_tokens)): if word_normal_forms[i] == 'он': word_tokens[i] = composer text = " ".join(word_tokens) return get_info(text, composer) composerContext.pop(request.json['id'], None) logging.info(f"composer not found") return get_faq_response(text)
def main(): server = socket.socket() host = '*' port = 6669 server.bind((host, port)) server.listen(1) num = 0 while True: c, addr = server.accept() print('connect addr : {}'.format(addr)) fd = c.fileno() io = recv_thread(c) info.persist_state(fd) io.start() timestep = 0.2 r = record(timestep=timestep, datafile="record{}".format(num)) time.sleep(1) while True: time.sleep(timestep) data = info.get_info(fd) if len(data) == 0: io.join() break r.put(data) r.save() num = num + 1
def get_last_from_pgn(cid): # turn #game_type # W : White 0: vs Engine # B : Black 1: vs Human path="./pgn" name=str(cid) full=os.path.join(path,name) turn=check_turn(info.get_info(cid)["fen"]) game_type=info.get_info(cid)["game_type"] if os.path.isfile(full): file=open(full,"r") moves=file.readlines() file.close() new=[] for i in range(0,len(moves)): if not moves[i]=="\n": new+=[moves[i].split("\n")[0]] length=len(new) par=not bool(length%2) pairs=[] numb=int(math.ceil(length/float(2))) if par: for i in range(0,length,2): pairs+=[[new[i],new[i+1]]] else: for i in range(0,length-1,2): pairs+=[[new[i],new[i+1]]] pairs+=[[new[-1]]] if length!=0: if (turn=="W"): # A imprimir al final de cada turno negro return str(numb)+". " +clean_str(str(pairs[-1])) if (turn=="B"): previous="" if numb!=1: previous=clean_str(str(pairs[-2])) previous=str(numb-1)+". "+previous actual=str(numb)+". " +clean_str(str(pairs[-1]))+" ..." return previous+"\n"+actual # if (turn and game_type): # if (turn and game_type): print pairs,numb
def make_allowed_user_move(cid,user,move): user=str(user) fen=info.get_info(cid)['fen'] turn=check_turn(fen) if turn=="W": if info.white(cid)==user: move=make_user_move(cid,move) else: move="INCORRECT_TURN" elif turn=="B": if info.black(cid)==user: move=make_user_move(cid,move) else: move="INCORRECT_TURN" return move
def make_user_move(cid,move): #UPDATE FOR ID old_fen=info.get_info(cid)["fen"] board=chess.Board(old_fen) if not finished(board): board.push_san(move) new_fen=board.fen() info.update_info(cid,fen=new_fen) if board.is_checkmate(): move+="#" if board.is_check(): move+="+" update_pgn_buffer(cid,move) return move else: return "FINISHED"
def main(): n, m, clients, graph = get_info('exmp/in-1') latency = None for vertex_index in graph.relations: if vertex_index not in clients: current_latencies = dijkstra_algorithm(graph, vertex_index) current_max_latency = max( [current_latencies[client] for client in clients]) if latency is None: latency = current_max_latency elif current_max_latency < latency: latency = current_max_latency print_info('exmp/out-1', latency) return latency
def get(self): if "group" in self.request.arguments: new_group = int(self.get_argument("group")) if "jiange" in self.request.arguments: new_jiange = int(self.get_argument("jiange")) if (new_group, new_jiange) == (arg["group"], arg["jiange"]) and arg["results"]: self.write(arg["results"]) return else: arg["group"], arg["jiange"] = new_group, new_jiange tier1_asns, tier2_asns, asn_leafs, x_scae, arg[ "country_asn"] = get_info(jiange=arg["jiange"], group=arg["group"]) x_scae = [x**1.7 for x in x_scae] x_width = [x / sum(x_scae) * 1200 for x in x_scae] x_list = [100 + sum(x_width[:i]) for i in range(len(x_width) + 1)] rects, lgts, tier2_rects, circles, dots, yax_key, yax_value = rect_posi( tier1_asns, tier2_asns, asn_leafs, x_list, x_width) pos_to_name = {x_list[0]: "", x_list[-1]: ""} # for city in citys: # posi = calc_posi(citys[city][0], x_list, x_width) # pos_to_name[posi] = city # lines.append({"xp": posi}) # x = list(sorted(pos_to_name.keys())) # du = [pos_to_name[m] for m in x] "lgts": lgts, result = json.dumps({ "rects": rects, "lgts": lgts, "lines": lines, "rect2s": tier2_rects, "circles": circles, "dots": dots, "yax": [yax_key, yax_value], "xax": [x_list, du_list] }) # , x, du arg["results"] = zipData(result) self.write(arg["results"])
def make_engine_move(cid): path="./engines" name=settings.get_settings(cid)['engine'] # print name fen=info.get_info(cid)["fen"] board=chess.Board(fen) if not finished(board): engine_name=os.path.join(path,name) engine=chess.uci.popen_engine(engine_name) engine.uci() engine.position(board) engine_move=engine.go(movetime=750)[0] engine_san=str(board.san(engine_move)) board.push(engine_move) info.update_info(cid,fen=board.fen()) update_pgn_buffer(cid,engine_san) return engine_san else: return "FINISHED"
def run(oa, begin, end, using_proxies, wait_time): search_url = url.format(get_query_string(oa)) + '&page=' + str(begin) headers = myheaders.random_headers() if using_proxies: ip = next(proxies) else: stop = False # 用于决定对当前公众号的搜索是否停止 logging.info('%s 将从第%s页到第%s页:' % (oa, begin, end - 1)) for i in range(begin, end): logging.info('%s 第%s页 开始' % (oa, i)) page_finish = False # 用于标识当前目标页是否完成检测 while not page_finish: try: r = requests.get( search_url, headers=headers, proxies={'http': ip}, timeout=wait_time) if using_proxies else requests.get( search_url, headers=headers, timeout=wait_time) # 解析html,获得查询结果 soup = BeautifulSoup(r.text, 'html.parser') results_list = soup.find_all(**{'class': 'wx-rb wx-rb3'}) # 如果查询结果为0,则提示错误信息并raise错误 if len(results_list) == 0: logging.info('%s-%s 查询异常:0结果!需要切换ip' % (oa, i)) raise Exception # 如果结果不为0 else: # 在所有搜索结果中找到正确的搜索结果,解析文章链接并将解析结果存入info.csv,同时存储文章链接作为备份 with open('articles_urls.txt', 'a', encoding='utf-8') as f: f.write('%s - %s:\n' % (oa, i)) for result in results_list: if result.find_all(title=oa): article_url = result.h4.a['href'] logging.info( '%s-%s 正在解析文章内容,并将结果写入info.csv...' % (oa, i)) info.get_info(article_url) logging.info('%s-%s 正在备份URL...' % (oa, i)) f.write(article_url + '\n') # 完成当前页后,将当前页URL作为Referer,并找到“下一页”的URL作为下次的搜索URL。 headers['Referer'] = search_url next_page = soup.find_all(id='sogou_next') if next_page: search_url = 'http://weixin.sogou.com/weixin?' + next_page[ 0]['href'] # 如果找不到“下一页”,则当前页应该为最后一页 else: if i != end - 1: logging.info('%s-%s 警告:已经没有下一页了!' % (oa, i)) stop = True page_finish = True logging.info('%s 第%s页 结束' % (oa, i)) second = random.choice([2, 3, 4, 5]) logging.info('%s-%s 策略性暂停%s秒' % (oa, i, second)) time.sleep(second) # 连接超时或者无法获得搜索结果 except: # 有使用代理ip的情况下,尝试更换存档中下一个ip。如果存档无更多ip,则自动获取更多存档。 if using_proxies: try: logging.info('%s-%s 尝试获取下一个ip...' % (oa, i)) ip = next(proxies) except StopIteration: logging.info('%s-%s 已经无更多ip,正在自动爬取更多代理ip......' % (oa, i)) global proxies proxies = get_proxy_generator(None) ip = next(proxies) # 无使用代理ip情况下,重连或者停止 else: # 不断自动重新连接: logging.info('%s-%s 当前未使用代理ip,5秒将重新尝试连接,请到网页输入验证码...' % (oa, i)) time.sleep(5) # 不重连,而是直接停止 #stop = True #break if not using_proxies and stop: logging.info('%s 自动停止!' % oa) break
def chose_one(code, last_trade_day, ta, tb, tc, td): try: a = Type1() b = Type1() c = Type1() d = Type1() e = Type1() e.days = 0 e.start_date = last_trade_day e.open = info.get_info(code, e.start_date).open e.close = info.get_info(code, e.start_date).close e.avg_vol = get_avg_volume(code, e.start_date, e.start_date) # logging.info('code:%r e days:%r start_date:%r open:%r close:%r avg_vol:%r', \ # code, e.days, e.start_date, e.open, e.close, e.avg_vol) d.days = td d.start_date = get_date(d.days) d.avg_vol = get_avg_volume(code, d.start_date, e.start_date) # logging.info('code:%r d days:%r start_date:%r open:%r close:%r avg_vol:%r', \ # code, d.days, d.start_date, d.open, d.close, d.avg_vol) d.open = info.get_info(code, d.start_date).open d.close = info.get_info(code, d.start_date).close c.days = tc c.start_date = get_date(c.days + d.days) c.avg_vol = get_avg_volume(code, c.start_date, d.start_date) # logging.info('code:%r c days:%r start_date:%r open:%r close:%r avg_vol:%r', \ # code, c.days, c.start_date, c.open, c.close, c.avg_vol) c.open = info.get_info(code, c.start_date).open c.close = info.get_info(code, c.start_date).close b.days = tb b.start_date = get_date(b.days + c.days + d.days) b.avg_vol = get_avg_volume(code, b.start_date, c.start_date) # logging.info('code:%r b days:%r start_date:%r open:%r close:%r avg_vol:%r', \ # code, b.days, b.start_date, b.open, b.close, b.avg_vol) b.open = info.get_info(code, b.start_date).open b.close = info.get_info(code, b.start_date).close a.days = ta a.start_date = get_date(a.days + b.days + c.days + d.days) a.avg_vol = get_avg_volume(code, a.start_date, b.start_date) # logging.info('code:%r a days:%r start_date:%r open:%r close:%r avg_vol:%r', \ # code, a.days, a.start_date, a.open, a.close, a.avg_vol) a.open = info.get_info(code, a.start_date).open a.close = info.get_info(code, a.start_date).close logging.info('ALL_DATA code:%r A:%r B:%r C:%r D:%r a.close:%r b.close:%r c.close:%r d.close:%r', \ code, a.start_date, b.start_date, c.start_date, d.start_date, \ a.close, b.close, c.close, d.close) # logging.info('ALL_DATA code:%r b.close:%r a.open*0.7:%r c.close:%r b.open*1.2:%r', \ # code, b.close, a.open*0.7, c.close, b.open*1.2) if b.close < a.open * 0.7 and c.close > b.open * 1.2: #and tc > tb*0.8 and tc < tb *1.2: logging.info('GET code:%r A:%r B:%r C:%r D:%r a.close:%r b.close:%r c.close:%r d.close:%r',\ code, a.start_date, b.start_date, c.start_date, d.start_date, \ a.close, b.close, c.close, d.close) except Exception as e: #logging.info('exception:%s', e) #print traceback.format_exc() pass
def get_step(cid): #OBSOLOTE return str(int(info.get_info(cid)["fen"].split(" ")[-1])-1)
def get_legal_moves(cid): fen=info.get_info(cid)["fen"] board=chess.Board(fen) return parsed_moves(str(board.legal_moves).split("(")[1].split(")")[0].replace(" ","").split(","))
""" :copyright: Copyright (c) 2020 Jeremiah Ikosin (@ziord) :license: MIT, see LICENSE for more details """ from setuptools import setup, find_packages import info data = info.get_info() setup(name=data["name"], version=data["version"], description=data["description"], long_description=open('README.md').read(), author=data["author"], license=data["license"], keywords=data["keywords"], project_urls=data["project_urls"], packages=find_packages(), include_package_data=True, package_data={'info': [*data['package_data'].values()]})