def edit_paciente(post_id): if not session.get('logged_in'): return "you need to log in first" db = DBHandler() paciente = db.get_one_paciente(post_id) if request.method == 'POST': name = request.form['name'] dni = request.form['dni'] fecha = request.form['fecha'] file_path = paciente.getFile_path() print("file path\n" + file_path) if request.files['file']: print("requested FILE\n") os.remove(paciente.file_path) f = request.files['file'] filename = f.filename file_path = 'files/' + filename # Para guardar en DB open('files/' + filename, 'x') # Cuidado: va a tirar excepcion si el archivo ya existe f.save(file_path) db = DBHandler() paciente = Paciente(id=post_id, nombre=name, dni=dni, fecha=fecha, file_path=file_path) db.update_paciente(paciente) flash('Paciente editado') return render_template('paciente_edit.html', paciente=paciente)
def onSub(user_open_ID): user_dict = WeChatHandler().getUserInfo(user_open_ID) user_priority = UserHandler.verify_user(user_open_ID) if user_priority == -1: user_insert_sql = "INSERT into UserInfo VALUES ('%s', 'N', '%s', null, '%s', null, null, null, '%s', null, " \ "null, null, null)" % ( user_open_ID, user_dict['nickname'], TypeDef.sex_dict[user_dict['sex']], (user_dict['city'] + ',' + user_dict['province'] + ',' + user_dict[ 'country']).replace("\'", "\\\'")) DBHandler().insert(user_insert_sql) else: update_sql = "UPDATE UserInfo SET WechatName = '%s',Sex='%s',Address='%s' WHERE Open_ID = '%s'"\ % (user_dict['nickname'], TypeDef.sex_dict[user_dict['sex']], (user_dict['city'] + ',' + user_dict['province'] + ',' + user_dict['country']).replace("\'", "\\\'"), user_open_ID) DBHandler().update(update_sql) return_msg = Resource.getMsg("WlcMsg", user_dict['language']) ''' if user_dict['language'] == "zh_CN": sql_query = "Select IDX,Media_ID,Title from HistoryArticle" else: sql_query = "Select IDX,Media_ID,Title from HistoryArticle WHERE Language = 'en'" results = DBHandler().select(sql_query) for line in results[1]: return_msg = return_msg + str(line[0]) + "..." + line[2] + "\n" threading.Timer(3, WeChatHandler().sendMsgViaCust, (Resource.getMsg("Menu", user_dict['language']), "touser", user_open_ID) ).start() ''' return return_msg
def unSub_Weahter(user, city, lang): UserHandler.logger.info( "User <%s> is un-subscribing the city <%s> weather" % (user, city)) # QUERY user_sub_result = DBHandler().select( "SELECT Cities from WeatherSub WHERE Open_ID = '%s'" % user) content = "" if int(user_sub_result[0]) > 0: old_cities = user_sub_result[1][0][0].split() if city not in old_cities: content = "未订阅<%s>天气" % city else: old_cities.remove(city) if len(old_cities) > 0: content = Resource.getMsg( "UnSubWea", lang) % (city, " ".join(old_cities)) update_sql = "UPDATE WeatherSub SET Cities = '%s' WHERE Open_ID = '%s'" % ( " ".join(old_cities), user) DBHandler().update(update_sql) else: content = Resource.getMsg("UnSubAllWea", lang) % city delete_sql = "DELETE from WeatherSub WHERE Open_ID = '%s'" % ( user) DBHandler().delete(delete_sql) else: content = Resource.getMsg("NoSub", lang) return content
def check_wait(self, user, msg): content = "" counts = 0 if user in self.user_wait_list and user == self.user_list[ 0] and msg == "是": DBHandler().insert( "INSERT into HealthyRecord VALUES (null, '%s', 'Y', null)" % user) counts = DBHandler().select( "SELECT CreateData from HealthyRecord WHERE IsRecord = 'Y' and CreateData > '2017-09' \ and CreateData < '2017-10' AND Open_ID = '%s'" % user)[0] content = Resource.getMsg("RecordFmt") % ( Resource.getMsg("GodSub"), str(counts)) self.user_wait_list.remove(user) if Utill.is_last_day(): content = content + Resource.getMsg("BillHealty") % (counts, counts) elif user in self.user_wait_list and user == self.user_list[ 1] and msg == "是": DBHandler().insert( "INSERT into HealthyRecord VALUES (null, '%s', 'Y', null)" % user) counts = DBHandler().select( "SELECT CreateData from HealthyRecord WHERE IsRecord = 'Y' and CreateData > '2017-09' \ and CreateData < '2017-10' AND Open_ID = '%s'" % user)[0] content = Resource.getMsg("RecordFmt") % ( Resource.getMsg("LingSub"), str(counts)) self.user_wait_list.remove(user) if Utill.is_last_day(): content = content + Resource.getMsg("BillHealty") % (counts, counts) return content
def show_paciente(): if not session.get('logged_in'): return "you need to log in first" if request.method == 'POST': name_or_dni = request.form['buscar'] db = DBHandler() list = db.search_paciente(name_or_dni=name_or_dni) return render_template('pacientes.html', lista=list) db = DBHandler() list_paciente = db.get_pacientes() return render_template('pacientes.html', lista=list_paciente, username=session['username'])
def sub_user_for_weather(user, new_city, lang): UserHandler.logger.info( "User <%s> is subscribing the city <%s> weather" % (user, new_city)) #QUERY user_sub_result = DBHandler().select( "SELECT Cities from WeatherSub WHERE Open_ID = '%s'" % user) content = "" if len(new_city.split()) == 0 and int(user_sub_result[0]) > 0: content = Resource.getMsg( "WeatherHead", lang) + user_sub_result[1][0][ 0] #only one cell here, use [0][0] to visit elif int(user_sub_result[0]) == 0 and len(new_city.split()) == 0: content = Resource.getMsg("NoSubCity", lang) #INSERT elif int(user_sub_result[0]) == 0 and len(new_city.split()) != 0: weather = WeatherHandler() ret = weather.getWeather(new_city, lang) if ret != "Failed": content = Resource.getMsg("FirstSub", lang) % new_city + ret # write sub info into db insert_sql = "INSERT into WeatherSub VALUES ('%s', '%s', NULL)" % ( user, new_city) DBHandler().insert(insert_sql) else: content = Resource.getMsg("WrongCity", lang) #UPDATE elif int(user_sub_result[0]) > 0 and len(new_city.split()) != 0: old_cities = user_sub_result[1][0][0].split() if len(old_cities) > 5: content = Resource.getMsg("MAXCityLimit", lang) elif new_city in old_cities: content = Resource.getMsg("Subbed", lang) % new_city else: weather = WeatherHandler() ret = weather.getWeather( new_city, WeChatHandler().getUserInfo(user)['language']) if ret != "Failed": old_cities.append(new_city) content = Resource.getMsg( "SubbedMore", lang) % " ".join(old_cities) + ret update_sql = "UPDATE WeatherSub SET Cities = '%s' WHERE Open_ID = '%s'" % ( " ".join(old_cities), user) DBHandler().update(update_sql) else: content = Resource.getMsg("WrongCity", lang) else: content = Resource.getMsg("UnKnownIssue", lang) return content
def createproject(): print("In Project Creation") if request.method == 'POST': pname = request.form['pname'] pDesc = request.form['pDesc'] error = None projectList = [] projectlistJSON = [] DBHandler_ = DBHandler(app.config["DATABASEIP"], app.config["DB_USER"], app.config["DB_PASSWORD"], app.config["DATABASE"]) error = None try: create = DBHandler_.createProject(pname, pDesc, session['user']) projectList = DBHandler_.getProjectList(session['user']) projectlistJSON = DBHandler_.getProjectJSON(session['user']) if (projectList != []): session['projectList'] = projectList except DBError as e: error = e return render_template('createProject.html', projectList=projectlistJSON, email=session['user'])
def userSignIn(): error = None db = None try: userId = request.form['userid'] password = request.form['password'] db = DBHandler(app.config["DATABASEIP"], app.config["DB_USER"], app.config["DB_PASSWORD"], app.config["DATABASE"]) result = db.signin(userId, password, "user") if (result == None): error = 'Invalid Credentials. Please try again.' else: session['logged_in'] = True session['id'] = result[0] session['username'] = result[1].capitalize() session['userid'] = result[3] session['type'] = 'user' return redirect(url_for('userWelcome')) return render_template('login.html', error=error) except Exception as e: print(e) error = str(e) return render_template('login.html', error=error)
def udfdc(): userid = request.form['userid'] natureOfDeath = request.form['natureOfDeath'] unc = request.form['unc'] no = request.form['no'] place = request.form['place'] district = request.form['district'] applicantName = request.form['applicantName'].capitalize() applicantCNIC = request.form['applicantCNIC'] relation = request.form['relation'] decessedName = request.form['decessedName'].capitalize() decessedCNIC = request.form['decessedCNIC'] gender = request.form['gender'] religion = request.form['religion'] fname = request.form['fname'].capitalize() fatherCNIC = request.form['fatherCNIC'] graveyardName = request.form['graveyardName'].capitalize() dob = request.form['dob'] dod = request.form['dod'] reason = request.form['reason'].capitalize() address = request.form['address'].capitalize() occupation = request.form['occupation'].capitalize() markOfIndication = request.form['markOfIndication'].capitalize() db = DBHandler(app.config["DATABASEIP"], app.config["DB_USER"], app.config["DB_PASSWORD"], app.config["DATABASE"]) result = db.updateDataForDC(userid, unc, no, place, district, applicantName, applicantCNIC, relation, decessedName, decessedCNIC, gender, religion, fname, fatherCNIC, graveyardName, dob, dod, reason, address, occupation, markOfIndication, natureOfDeath) return redirect(url_for('ufudc'))
def deleteUser(): firstName = request.form["firstName"].capitalize() lastName = request.form["lastName"].capitalize() userID = request.form["userID"] password = request.form["pwd"] error = None db = None db = DBHandler(app.config["DATABASEIP"], app.config["DB_USER"], app.config["DB_PASSWORD"], app.config["DATABASE"]) id = db.getUserId(firstName, lastName, userID, password) if (id == None): error = "unsuccessfull" else: if (db.isDataAlreadyExits(id, "birthCertificates") == False): db.deleteRecord(id, "birthCertificates") if (db.isDataAlreadyExits(id, "domiciles") == False): db.deleteRecord(id, "domiciles") if (db.isDataAlreadyExits(id, "cnic") == False): db.deleteRecord(id, "cnic") if (db.isDataAlreadyExits(id, "deathCertificates") == False): db.deleteRecord(id, "deathCertificates") db.deleteUser(id) error = 'successfull' return render_template('deleteUser.html', error=error)
def run(self, arg): today_match = {"": ""} while(1): all_user_birth = DBHandler().select("SELECT Open_ID,Birth from UserInfo") for user_line in all_user_birth[1]: user_id = user_line[0] if user_line[1] is not None: user_birth = user_line[1].strftime("%Y-%m-%d") birth_MM_DD = user_birth.split("-", 1)[1] else: birth_MM_DD = "" now_MM_DD = time.strftime('%m-%d', time.localtime(time.time())) if birth_MM_DD == now_MM_DD and today_match.get(user_id, "NoRecord") != birth_MM_DD: today_match[user_id] = now_MM_DD print("match") ret = WeChatHandler().sendMsgViaCust(Resource.getMsg("Birth") + Resource.getMsg("ReplyHappy"), "touser", user_id) if int(ret) != 0: print("BirthDayNotifier Cust Msg failed..Use preview") sleep(300) WeChatHandler().sendMsgToOneAsPreview(Resource.getMsg("Birth") + Resource.getMsg("ReplyHappy"), "touser", user_id) ActionsExecutor.add_manual_action(user_id, Action(self.check_reply, user_id, "NoHappy")) threading.Timer(3600, self.get_action, args=(user_id,)).start() self.logger.debug("Sleep Birth") sleep(120)
def process(threadName): while True: with open('configurations.json') as f: data = json.load(f) DATABASEIP = data["DATABASEIP"] DB_USER = data["DB_USER"] DB_PASSWORD = data["DB_PASSWORD"] DATABASE = data["DATABASE"] THREAD_SLEEP_TIME = data["THREAD_SLEEP_TIME"] DBHandler_ = DBHandler(DATABASEIP, DB_USER, DB_PASSWORD, DATABASE) fileList = [] try: fileList = DBHandler_.getFilesToProcess() print("Going to process" + str(len(fileList)) + "files") try: for file_ in fileList: FileProcessor_ = FileProcessor() FileProcessor_.process(file_) except Exception as e: print("Error in File Processing Thread" + str(e)) print(traceback.format_exc()) DBHandler_.updateFileStatus(file_.FileName, "F") except Exception as e: print("Error in File Processing Thread" + str(e)) print(traceback.format_exc()) print(threadName + "going to sleep for " + str(THREAD_SLEEP_TIME)) time.sleep(THREAD_SLEEP_TIME)
def get_host_ids(): dbh = DBHandler() results = dbh.query( 'SELECT user_id, CONCAT(fname, \" \", lname) AS name FROM user') host_id = pd.DataFrame(results, columns=['host_id', 'name']) return host_id
def hosts_seen(): dbh = DBHandler() results = dbh.query("SELECT user_id, seen_id FROM user_seen") seen = pd.DataFrame(results, columns=['user_id', 'host_id']) seen['flag'] = 's' return seen
def __init__(self, videoinfo, logfile=None, isShow=False, savepic=False): """初始化 Arguments: videoinfo {视频信息} -- {'name','datetime','descrption'} Keyword Arguments: logfile {string} -- 可选,log文件名 (default: {None}) isShow {bool} -- 是否显示处理过程 (default: {False}) """ BasicPart.__init__(self, logfile, isShow) self.videoinfo = videoinfo self.__mkdirs() self.dbhandler = DBHandler() self.item_list = [] # 人物识别 self.pf = PersonFace(True) fi = FeatureIndex(True) fi.load_person_index(["Person"]) self.pf.setFeatureIndex(fi) self.savepic = savepic # solr self.solrhandler = MainSolr(logfile, isShow) self.save_video() pass
def handle_next_request(self): db = DBHandler(DB_PATH) itemsList = db.getItemsList() listSize = len(itemsList) self.index = (self.index + 1) % listSize returnItem = itemsList[0]['data'][self.index] return returnItem
def handle_crawl_request(self): db = DBHandler(DB_PATH) data = request.form.to_dict() newItem = {'username': data['username'], 'data': self.getContent(data)} db.addItem(newItem) returnItem = newItem['data'][0] return returnItem
def signin(): error = None try: db = pymysql.connect(app.config["DATABASEIP"], app.config["DB_USER"], app.config["DB_PASSWORD"], app.config["DATABASE"]) cur = db.cursor() if request.method == 'POST': email_form = request.form['email'] print(email_form) sql = 'SELECT COUNT(1) FROM USERS WHERE email = %s ;' args = (email_form) cur.execute(sql, args) if not cur.fetchone()[0]: print("why") raise ServerError('Invalid Email') password_form = request.form['password'] # cur.execute("SELECT password FROM USERS WHERE email = {};" # .format(email_form)) sql2 = 'SELECT password FROM USERS WHERE email = %s ;' args2 = (email_form) cur.execute(sql2, args2) projectList = [] error = None DBHandler_ = DBHandler(app.config["DATABASEIP"], app.config["DB_USER"], app.config["DB_PASSWORD"], app.config["DATABASE"]) try: projectList = DBHandler_.getProjectList(email_form) session['projectList'] = projectList print(session['projectList']) except DBError as e: error = str(e) print(str(e)) for row in cur.fetchall(): #print(type(password_form)) # print(row[0].strip("'")) print(password_form) print(row[0]) if password_form == row[0]: session['user'] = request.form['email'] return render_template('addfiles.html',projectList=session['projectList'], error=error ,email=session['user']) else: raise ServerError('Invalid password') except ServerError as e : error = str(e) except Exception as e: error = str(e) return render_template('login.html', error=error)
def saveNgramsDiac(n): tool = MyToolKit() hdb = DBHandler("model.db") print(":::: Statistique Ngrams(" + str(n) + ") ::::") print("Récuperation des phrases (with diacratic) ...") hdb.connect() sents = hdb.getFromTable('sents_train', attribute='sent') print("Done !") print("Création des Ngrams ...") grams = [] for sent in sents: grams += nltk.ngrams(tool.words(sent[0]), n) print("Done !") print("Création de la distribution de fréquences ...") fdist = nltk.FreqDist(grams) print("Done !") print("Convertion des listes en cours ...") data = [] for fd in fdist: data.append([' '.join(fd), fdist[fd]]) print("OK !") print("Stocker les mots dans la base de données :") hdb.insertIntoTable('grams' + str(n), data) print("Done !")
def hosts_liked(): dbh = DBHandler() results = dbh.query("SELECT user_id, liked_id FROM user_action") liked = pd.DataFrame(results, columns=['user_id', 'host_id']) liked['flag'] = 'l' return liked
def add_paciente(): if not session.get('logged_in'): return "you need to log in first" if request.method == 'POST': if 'file' not in request.files: print("no file") render_template('paciente_add.html') f = request.files['file'] filename = f.filename open('files/' + filename, 'x') # Cuidado: va a tirar excepcion si el archivo ya existe file_path = 'files/' + filename # Para guardar en DB f.save(file_path) paciente_name = getPacienteNameFromFile(file_path) # Para guardar en DB fecha = str(datetime.date.today()) dni = request.form['dni'] if dni == "": dni = "0" paciente = Paciente(id=None, nombre=paciente_name, dni=dni, fecha=fecha, file_path=file_path) db = DBHandler() db.add_paciente(paciente) list_paciente = db.get_pacientes() return render_template('pacientes.html', lista=list_paciente) else: return render_template('paciente_add.html')
def get_user_ids(): dbh = DBHandler() results = dbh.query('SELECT user_id FROM user') user_id = [item[0] for item in results] user_id = pd.DataFrame(user_id, columns=['user_id']) return user_id
def valid(self, username, password): query = f"SELECT COUNT(*) FROM User WHERE username = '******' AND password = PASSWORD('{password}')" DB = DBHandler() count = DB.exec(query) if count[0][0]: return True return (False)
def saveSents(corpuspath, diacratic): l = [] tool = MyToolKit() hdb = DBHandler("model.db") for path, dirs, files in os.walk(corpuspath): for f in files: if f.startswith('_') != diacratic: print("Traiter le fichier : " + path + '/' + f) f = codecs.open(path + '/' + f, 'r', encoding='utf-8').read() #f = f.replace('||', ' ') l += tool.sents(f, ["\n", "\r", ".", ":", ",", ';'], subsent=['"', "'", '-']) l2 = [] for a in l: #Eliminé les phrases qui ont un seul mot (problème de nettoyage) if len(tool.words(a)) > 1: l2.append("# " + a + " $") print("Création de la distribution de fréquences ...") fdist = nltk.FreqDist(l2) print("OK !") print("Convertir la liste en cours ...") data = [] for fd in fdist: data.append([fd, fdist[fd]]) print("Stocker les phrases base de données !") hdb.connect() if diacratic == True: hdb.insertIntoTable('sents_all', data) else: hdb.insertIntoTable('sents', data) print("OK !")
def feedback(): db=None error = None result1=None result2=None try: name = request.form.get('name') email = request.form.get('email') subject = request.form.get('subject') message = request.form.get('message') db = DBHandler('localhost', app.config["DB_USER"], app.config["DB_PASSWORD"], app.config["DATABASE"]) result1 = db.getPatientID2(name, email) print("Aik lgani hai chal ja") if (result1 != False): print("Aik lgani hai chal ja 2") result2 = db.insertFeedback(result1,subject,message) if (result2 != True): flash("Feedback Not Sent!") else: flash("Your feedback have been Sent!") except Exception as e: print(e) error = str(e) return redirect(url_for('index', _anchor='feedBack')) finally: return redirect(url_for('index'))
def saveNormalizedWord(): tool = MyToolKit() hdb = DBHandler("model.db") print("Récuperation des phrases (with diacratic) ...") hdb.connect() sents = hdb.getFromTable('sents_train') print("Done !") print( "Récuperations des mots, et Création des distributions de fréquences ..." ) words = [] fdist = nltk.FreqDist() #words = [] for sent in sents: for word in tool.words(sent[1]): #word_without_diac = tool.DeleteDiacritic(word) #if len(word) > 1 or word == 'و': if have_diac(word) == True or word == '#' or word == '$': fdist[normalizeArabicAlif( word)] = fdist[normalizeArabicAlif(word)] + sent[2] print("Done !") print("Convertion des listes en cours ...") data = [] #data = [] #for fd in fdist: data.append([fd,fdist[fd]]) for fd in fdist: data.append([fd, fdist[fd]]) print("OK !") print("Stocker les mots dans la base de données :") print("With diac ...") hdb.insertIntoTable('words_normalized', data) print("Done !")
def udfbc(): userid = request.form['userid'] candidate = request.form['candidate'].capitalize() relation = request.form['relation'] childName = request.form['childName'].capitalize() fname = request.form['fname'].capitalize() mname = request.form['mname'].capitalize() gender = request.form['gender'] religion = request.form['religion'] districtOfDOB = request.form['districtOfDOB'] grandFatherName = request.form['grandFatherName'].capitalize() grandFatherCNIC = request.form['grandFatherCNIC'].capitalize() dob = request.form['dob'] address = request.form['address'].capitalize() district = request.form['district'] tehsil = request.form['tehsil'] doi = request.form['doi'] db = DBHandler(app.config["DATABASEIP"], app.config["DB_USER"], app.config["DB_PASSWORD"], app.config["DATABASE"]) result = db.updateDataForBC(userid, candidate, relation, childName, fname, mname, gender, religion, districtOfDOB, grandFatherName, grandFatherCNIC, dob, address, district, tehsil, doi) return redirect(url_for('ufubc'))
def saveDB(col, data, db="Pstatus.db", table=jh): Pdb = DBHandler(db) # 创建表 # table_cmd = # status # table_cmd = col[0] + " INT," # 日期 table_cmd = col[0] + " text," for i in range(1, len(col)): table_cmd += col[i] + " REAL DEFAULT 0," table_cmd = table_cmd.rstrip(',') print("table_cmd:", table_cmd) Pdb.createTable(table, table_cmd) # 插入数据 Pdb.insertMany(table, data) # 提交 Pdb.dbCommit() # 查询 # des,res = Pdb.queryAll("Pstatus",1000) # print(res) # 关闭 Pdb.dbClose()
def getRoutingFileForDate(routing_date, files_path, DEBUG): db_handler = DBHandler('') available_routing_files = db_handler.getPathsToRoutingFilesForDate( routing_date) db_handler.close() routing_file = '' if 'bgprib.mrt' in available_routing_files: routing_file = available_routing_files['bgprib.mrt'] elif 'dmp.gz' in available_routing_files and 'v6.dmp.gz' in available_routing_files: # If there is not bgprib.mrt file available, but the two dmp files # (for v4 and v6) are available, I use them dmp_file = available_routing_files['dmp.gz'] readable_dmp = BGPDataHandler.getReadableFile( dmp_file, False, files_path, DEBUG) v6dmp_file = available_routing_files['v6.dmp.gz'] readable_v6dmp = BGPDataHandler.getReadableFile( v6dmp_file, False, files_path, DEBUG) routing_file = BGPDataHandler.concatenateFiles('{}/{}_v4andv6.dmp.readable'\ .format(files_path, routing_date), readable_dmp, readable_v6dmp) elif 'dmp.gz' in available_routing_files: # If there is only one of the dmp files available, I will work with it routing_file = available_routing_files['dmp.gz'] elif 'v6.dmp.gz' in available_routing_files: # If there is only one of the dmp files available, I will work with it routing_file = available_routing_files['v6.dmp.gz'] return routing_file
def queryHistryAWSAlert(user_open_ID): db_rows = DBHandler().select("Select Message from AWS_Record") reply_content = "" for row in db_rows[1]: reply_content = reply_content + row[ 0] + "\n***************************\n" return reply_content