def loginCheck(self): gl._init() addr = self.addr.get() port = self.port.get() password = self.password.get() addr_pat = re.compile('^((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}$') port_pat = re.compile('^(102[4-9]|10[3-9]\d|1[1-9]\d\d|[2-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$') # 正则匹配1024~65535 #因为会对password进行sha256 所以不用限制密码的长度 客户端同理 if (re.match(addr_pat, addr) and re.match(port_pat, port)): K = loginCheck(addr, port, sha256(password)) if (K): gl.set_value('addr', addr) gl.set_value('port', port) gl.set_value('password', password) _Xa = gl.get_value('_Xa') _Q = gl.get_value('q') K = str(pow(int(K), _Xa, _Q))[:16].rjust(16, '0') gl.set_value('key', K) self.page.destroy() mainPage(self.root) else: showinfo(title='错误', message='地址|端口|密码:输入错误') else: showinfo(title='错误', message='请输入合法的地址和端口(>1023)')
def __init__(self): # TODO: test login input, link to data # bindModel = login_Model() self.loginView = None # create main window, set view and controller self.mainWindow = basicMainWindow_view() self.mainWindowCtr = basicMainWindow_Ctr() #pass login_Ctr to be able to get searchResult_View in mainwindowCtr self.mainWindowCtr.setView(self.mainWindow, self) globalVar._init() # store the page initialisation # pass main window to corresponding page class for use # create each basic page # information in each page will be loaded when change the page self.tmView = modulePage_view() self.sessionView = sessionPage_View() self.recordingPage_View = recordingPage_View() self.searchResult_View = searchResult_view() self.oneStudentPage_View = oneStudentPage_View() self.teacherInfoPage_View = teacherInfoPage_View() self.studentRecordPage_View = studentRecordPage_View() self.recordedSessionPage_View = recordedSessionPage_View() self.adminFrame_view = adminFrame_view() self.tmView.setMainWindow(self.mainWindow, self) self.sessionView.setMainWindow(self.mainWindow, self) self.recordingPage_View.setMainWindow(self.mainWindow) self.searchResult_View.setMainWindow(self.mainWindow, self) self.oneStudentPage_View.setMainWindow(self.mainWindow, self) self.teacherInfoPage_View.setMainWindow(self.mainWindow) self.studentRecordPage_View.setMainWindow(self.mainWindow) self.recordedSessionPage_View.setMainWindow(self.mainWindow) self.mainWindowCtr.setWindow(self.tmView)
def get_netcard(): netcard_info = [] info = psutil.net_if_addrs() for k, v in info.items(): for item in v: if item[0] == 2 and not item[1] == '127.0.0.1': netcard_info.append((k, item[1])) return netcard_info ipaddr = get_netcard()[0][1] print('本机ip地址为: ', ipaddr) gl._init() _A = gl.get_value('a') _Q = gl.get_value('q') bind_ip = '0.0.0.0' bind_port = 0 while (bind_port < 1024 or bind_port > 65535): # 突然想到要安全编程 防止输入非预期字符导致程序崩溃 这是面试书上的 try: bind_port = int(input('请输入要开放的端口(>1023): ')) except: print('只可以输入数字!') password = sha256(getpass.getpass('请输入约定好的密码')) repassword = sha256(getpass.getpass('请二次确认密码')) while (repassword != password):
import numpy as np import random import skipgram import json import db_model import wv import neg_samples import globalVar import time globalVar._init() globalVar.set('step', 0.2) # 0.3 的效果不好 sampleNum = 10 version = 0 windowLength = 5 repeatedTimes_forTheSameNegSample = 15 # 这个太高,貌似会出现inf def word2vec_sgd_wrapper(entry): cost = 0 trainingPairs, tokens, wordVectors = wv.getDataset(entry[2], windowLength) for pair in trainingPairs: centerword, contextWords = pair # print(centerword) negSamples_list = neg_samples.get(contextWords, sampleNum) if negSamples_list == None: return assert type(negSamples_list[0]) == dict _cost = skipgram.run(centerword, contextWords, negSamples_list) cost += _cost
return path_filename, only_filename # 匹配两个相同文件名称的文件 def get_same_name(src_filename, split_filename_list): print('src_filename', src_filename) for split_filename in split_filename_list: p = re.compile(src_filename) match_result = re.findall(p, split_filename) if match_result: return match_result return '' if __name__ == '__main__': gl._init() # 文件初始化 workspace_dir = gl.get_value("workdir") swim_split_dir = gl.get_value("swim_split") swim_raw_dir = gl.get_value("swim_raw") if (os.path.exists('out')): # 若out文件夹已经存在,则进行删除 print("remove old out") shutil.rmtree(workspace_dir + "out") # 递归的方式删除里面的目录 print("mkdir necessary dirs \n") # 打印创建文件的路径,并在设定的相应的文件夹中创建out文件夹 os.mkdir(workspace_dir + "out") os.mkdir(workspace_dir + "out/labelData") # 存放带标签的文件 # 把带标签的数据整个成一个文件,分为name,data,label三列用于RNN训练的数据 os.mkdir(workspace_dir + "out/dataRNN") os.mkdir(workspace_dir + "out/trainRNNData") # 用于训练的数据 os.mkdir(workspace_dir + "out/testRNNData") # 用于测试的数据
import globalVar as _global _global._init() from wallet import Wallet from node import Node from block import Block from transaction import Transaction from chain import UTXO from flask import Flask,jsonify,request,render_template,make_response from flask_socketio import SocketIO,send,emit from flask_cors import CORS from contract import Contract import requests import os,shutil import json import sys import argparse from config import * import logger import utils import yaml import string,random,hashlib,time import threading import glob import base64 from network import Gossip