def main(): while True: i = int( input( " 1=> add user, 2=> view user, 3=>remove user ,4=> view all 5=> quit" )) if i == 1: name = input("give user name: ") if db.contains(name): print("ERROR!! user {} already exists".format(name)) else: pwd = getpass.getpass("give password:"******"confirm passwd:") if pwd == pwd2: db.add(name, pwd) print("{} sucessfully added".format(name)) disc = input("give description:?? ") db.adddisc(name, pwd, disc) else: print("{} not added as typed password not matched".format( name)) elif i == 2: name = input("give user name: ") if db.contains(name): pwd = getpass.getpass("give password: "******"NAME: ", name, '\nDISCRIPTION: ', db.discription(name, pwd)) else: print("you entered a wrong password for user".format(name)) else: print("user {} does not exist".format(name)) elif i == 3: name = input("give user name: ") if db.contains(name): pwd = getpass.getpass("give password: "******"you entered a wrong password for user {}".format( name)) else: print("user {} does not exist".format(name)) elif i == 4: db.view() elif i == 5: print("thank you") break else: print("not a choice") else: db.close()
def discover(count=config.words_in_each_discover): words = db.getnewword(count) if len(words) == 0: input(config.message_for_ending_discover) return i = 1 for w in words: clear() print(config.discover_header) print(f"{i} : {w}") print("\n", db.db[w]) db.view(w) input('\npress enter to continue...') i += 1
def practise(count=config.words_in_each_practise): words = db.getpractise(count) if len(words) == 0: input(config.message_for_ending_practicing) return i = 1 for w in words: clear() print(config.practise_header) print(f"{i} : {w}") print("\n", db.db[w]) db.view(w) input('\npress enter to continue...') i += 1
def find_coverid_from_couch(db, key, value): rows = db.view("covers/by_id", key=[key, value], limit=10, stale="ok") rows = list(rows) if rows: row = max(rows, key=lambda row: row.value['last_modified']) return row.value['cover']
def view_data(): if request.method == "POST": Table_name = request.form.get('table_name') data = view(Table_name) return Response(json.dumps(data)) else: return 403
def view_command(): refresh() refresh_list() for row in db.view(): listbox.insert( END, '{:2d}|{:6s}|{:6s}|{:4d}|{:10d}'.format(row[0], row[1], row[2], row[3], row[4]))
def index(): data = db.view() print(data) jsonData = json.dumps(data, default=str, sort_keys=True, indent=2) resp = app.response_class( response=jsonData, status=200, mimetype="application/json" ) return resp
def update_record_pro(): userId = request.form['userId'] password = request.form['password'] email = request.form['email'] db.update_record(password, email, userId) result_data = db.view(userId) return render_template('view.html', result_data=result_data)
def list_files(): if 'logged_in' in session and session['logged_in'] == "Is_logged_in":# Login Session prüfen if request.method == 'POST':# Logout session.pop('logged_in', None)# Login Session löschen return redirect('/login') elif request.method == 'GET': return render_template('index.html',files = db.view())# index.html mit liste der hochgeladenen Dateien zurückgeben else: return redirect('/login')
def delete_file(): if 'logged_in' in session and session['logged_in'] == "Is_logged_in":# Login Session prüfen if request.method == 'POST': filename = request.form['file']# Zu löschenden Dateinamen erhalten db.delete(filename)# Datei aus der Datenbank löschen os.remove(os.path.join(app.config['UPLOAD_FOLDER'], filename))# Datei aus UPLOAD_FOLDER löschen return redirect('/') elif request.method == 'GET': return render_template('delete.html', files = db.view()) else: return redirect('/login')
def login_pro(): userId = request.args['userId'] password = request.args['password'] login_result = db.login_result(userId, password) user_data = db.view(userId) # True => session 안에 userId 저장. 로그인 후 페이지로 연결. logined.html # False => 회원 가입 페이지로 연결. memberJoin.html if login_result: # 세션 저장 : session[변수] = 값 session['userId'] = userId return render_template('logined.html', userId=userId) else: return render_template('memberJoin.html')
def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(587, 532) MainWindow.setStyleSheet("background-color: rgb(0 ,0 ,0);") self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.label1 = QtWidgets.QLabel(self.centralwidget) self.label1.setGeometry(QtCore.QRect(20, 0, 81, 31)) font = QtGui.QFont() font.setFamily("Vemana2000") font.setBold(True) font.setWeight(75) self.label1.setFont(font) self.label1.setStyleSheet("color: rgb(255, 255, 255);") self.label1.setObjectName("label1") self.l1 = QtWidgets.QLabel(self.centralwidget) self.l1.setGeometry(QtCore.QRect(20, 40, 81, 20)) self.l1.setStyleSheet("color: rgb(255, 255, 255);") self.l1.setObjectName("l1") self.t1 = QtWidgets.QLineEdit(self.centralwidget) self.t1.setGeometry(QtCore.QRect(110, 40, 271, 20)) self.t1.setStyleSheet("background-color: rgb(255, 255, 255);") self.t1.setText("") self.t1.setObjectName("t1") self.l2 = QtWidgets.QLabel(self.centralwidget) self.l2.setGeometry(QtCore.QRect(20, 70, 81, 17)) self.l2.setStyleSheet("color: rgb(255, 255, 255);") self.l2.setObjectName("l2") self.t2 = QtWidgets.QLineEdit(self.centralwidget) self.t2.setGeometry(QtCore.QRect(110, 70, 271, 21)) self.t2.setStyleSheet("background-color: rgb(255, 255, 255);") self.t2.setObjectName("t2") self.l3 = QtWidgets.QLabel(self.centralwidget) self.l3.setGeometry(QtCore.QRect(20, 100, 81, 17)) self.l3.setStyleSheet("color: rgb(255, 255, 255);") self.l3.setObjectName("l3") self.t3 = QtWidgets.QLineEdit(self.centralwidget) self.t3.setGeometry(QtCore.QRect(110, 100, 271, 20)) self.t3.setStyleSheet("background-color: rgb(255, 255, 255);") self.t3.setObjectName("t3") self.b1 = QtWidgets.QPushButton(self.centralwidget) self.b1.setGeometry(QtCore.QRect(80, 140, 89, 25)) self.b1.setStyleSheet("background-color: rgb(245, 121, 0);") self.b1.setObjectName("b1") self.b1.clicked.connect(lambda : insert(self.t1.text(),self.t2.text(),self.t3.text())) self.label2 = QtWidgets.QLabel(self.centralwidget) self.label2.setGeometry(QtCore.QRect(20, 170, 121, 31)) font = QtGui.QFont() font.setFamily("Vemana2000") font.setBold(True) font.setWeight(75) self.label2.setFont(font) self.label2.setStyleSheet("color: rgb(255, 255, 255);") self.label2.setObjectName("label2") self.b2 = QtWidgets.QPushButton(self.centralwidget) self.b2.setGeometry(QtCore.QRect(80, 210, 89, 25)) self.b2.setStyleSheet("background-color: rgb(245, 121, 0);") self.b2.setObjectName("b2") self.b2.clicked.connect(lambda : viewfolder()) self.label3 = QtWidgets.QLabel(self.centralwidget) self.label3.setGeometry(QtCore.QRect(20, 250, 131, 31)) font = QtGui.QFont() font.setFamily("Vemana2000") font.setBold(True) font.setWeight(75) self.label3.setFont(font) self.label3.setStyleSheet("color: rgb(255, 255, 255);") self.label3.setObjectName("label3") self.l4 = QtWidgets.QLabel(self.centralwidget) self.l4.setGeometry(QtCore.QRect(20, 290, 81, 17)) self.l4.setStyleSheet("color: rgb(255, 255, 255);") self.l4.setObjectName("l4") self.t4 = QtWidgets.QLineEdit(self.centralwidget) self.t4.setGeometry(QtCore.QRect(110, 290, 271, 21)) self.t4.setStyleSheet("background-color: rgb(255, 255, 255);") self.t4.setObjectName("t4") self.b3 = QtWidgets.QPushButton(self.centralwidget) self.b3.setGeometry(QtCore.QRect(80, 340, 89, 25)) self.b3.setStyleSheet("background-color: rgb(245, 121, 0);") self.b3.setObjectName("b3") self.b3.clicked.connect(lambda : delete(self.t4.text())) self.label4 = QtWidgets.QLabel(self.centralwidget) self.label4.setGeometry(QtCore.QRect(20, 370, 261, 31)) font = QtGui.QFont() font.setFamily("Vemana2000") font.setBold(True) font.setWeight(75) self.label4.setFont(font) self.label4.setStyleSheet("color: rgb(255, 255, 255);") self.label4.setObjectName("label4") self.l5 = QtWidgets.QLabel(self.centralwidget) self.l5.setGeometry(QtCore.QRect(20, 410, 81, 17)) self.l5.setStyleSheet("color: rgb(255, 255, 255);") self.l5.setObjectName("l5") self.t5 = QtWidgets.QLineEdit(self.centralwidget) self.t5.setGeometry(QtCore.QRect(110, 410, 271, 21)) self.t5.setStyleSheet("background-color: rgb(255, 255, 255);") self.t5.setObjectName("t5") self.b4 = QtWidgets.QPushButton(self.centralwidget) self.b4.setGeometry(QtCore.QRect(80, 460, 89, 25)) self.b4.setStyleSheet("background-color: rgb(245, 121, 0);") self.b4.setObjectName("b4") self.b4.clicked.connect(lambda : view(self.t5.text())) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 587, 22)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow)
def view_cmd(): listbox.delete(0, END) for row in db.view(): listbox.insert(END, row)
def view(): userId = request.args['userId'] result_data = db.view(userId) return render_template('view.html', result_data=result_data)
def webpoller(): # Grab all the Monitor Entries in the database rows = db.view() for row in rows: # For each entry, resolve the hostname of the DNS server if applicable. # Create Flag in the event of a DNS issue dnserror = 0 # Timestamp of test polltime = datetime.datetime.now().strftime("%Y-%m-%d-%H.%M.%S") # Grab the coordinates coordinates = row[1] # Grab the friendly name of the Location we are testing location = row[2] myResolver = dns.resolver.Resolver() myResolver.timeout = 5 myResolver.lifetime = 5 try: # Is IP? socket.inet_aton(row[3]) # Then set our DNS server to the IP myResolver.nameservers = [row[3]] except socket.error: # Is not IP? Then resolve the hostname dnsquery = myResolver.query(row[3], "A") # We only want the 1st A record #myResolver.nameservers = [arecord] arecord = dnsquery[0] myResolver.nameservers = [arecord] dnsserver = myResolver.nameservers[0] try: # Resove the FQDN we are testing cdnip = myResolver.query('www.example.com', "A") edgeip = str(cdnip[0]) # Send HTTP request to edge IP - ignoring SSL errors and sending the correct host header r = requests.head('https://' + str(edgeip) + '/health.html', headers={'host': 'www.example.com'}, verify=False, timeout=5) except: # IF failure - raise DNS flag dnserror = 1 if dnserror != 1: if r.status_code == 200: # Get total time taken for requests loadtime = r.elapsed.total_seconds() # Adjust latency based on latency.py script adjlatency = latency.ping_time(edgeip) if adjlatency != "latency test failed": adjloadtime = (float(loadtime) - float(adjlatency)) else: adjloadtime = "latency test failed" result = "success" results.add(polltime, location, dnsserver, str(edgeip), result, loadtime, adjloadtime, coordinates) else: result = "failure" loadtime = "N/A" adjloadtime = "N/A" results.add(polltime, location, dnsserver, str(edgeip), result, loadtime, adjloadtime, coordinates) else: edgeip = "N/A" result = "DNS Error" loadtime = "N/A" adjloadtime = "N/A" results.add(polltime, location, dnsserver, str(edgeip), result, loadtime, adjloadtime, coordinates) time.sleep(30) # Database cleanup ; create json file rows = results.view() for row in rows: if datetime.datetime.strptime( row[1], "%Y-%m-%d-%H.%M.%S" ) < datetime.datetime.now() - datetime.timedelta(days=14): todelete = row[0] results.delete(todelete) jsonoutredux = results.failedlist() jsondocredux = open('templates/jsonout.json', 'w') for line in jsonoutredux: jsondocredux.write("%s" % line) jsondocredux.close() with open('templates/jsonout.json', 'r+') as f: s = f.read() s = s[:-1] f.seek(0) f.write('eqfeed_callback({"type":"FeatureCollection","features":[' + s) with open('templates/jsonout.json', 'a') as f: f.write("]});")
def view_command(): list1.delete(0, END) for row in db.view(): list1.insert(END, row)