示例#1
0
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)
示例#2
0
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)
示例#4
0
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
示例#6
0
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
示例#7
0
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
示例#8
0
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"
示例#9
0
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
示例#10
0
    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"])
示例#11
0
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"
示例#12
0
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
示例#13
0
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
示例#14
0
def get_step(cid): #OBSOLOTE
    return str(int(info.get_info(cid)["fen"].split(" ")[-1])-1)
示例#15
0
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(","))
示例#16
0
文件: setup.py 项目: ziord/spy
"""
: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()]})