def find_sources(source1, source2): global all_source1 global all_source2 #find all sources in data (only need to do once) if len(all_source1) == 0 or len(all_source2) == 0: cursor.execute("SELECT DISTINCT source1 FROM title_comparison") all_source1 = cursor.fetchall() #format: list of tuples all_source1 = [x[0] for x in all_source1] formatted_source1 = [(x, True) for x in all_source1] cursor.execute("SELECT DISTINCT source2 FROM title_comparison") all_source2 = cursor.fetchall() #format: list of tuples all_source2 = [x[0] for x in all_source2] formatted_source2 = [(x, True) for x in all_source2] if len(source1) > 0: c = set(source1) formatted_source1 = [(x, x in c) for x in all_source1] if len(source2) > 0: c = set(source2) formatted_source2 = [(x, x in c) for x in all_source2] source1_form = FieldSelection(formatted_source1) source2_form = FieldSelection(formatted_source2) return source1_form, source2_form
def check(): firstname = firstnameEntry.get().strip() lastname = lastnameEntry.get().strip() address = addressEntry.get().strip() fatherName = fatherNameEntry.get().strip() fatherNo = fatherNoEntry.get().strip() fatherProfession = fatherProfessionEntry.get().strip() motherName = motherNameEntry.get().strip() motherNo = motherNoEntry.get().strip() motherProfession = motherProfessionEntry.get().strip() studentId = studentIdEntry.get().strip() std = stdEntry.get().strip() rollno = rollnoEntry.get().strip() dobDate = dobDateVar.get() dobMonth = dobMonthVar.get() dobYear = dobYearVar.get() gender = genderVar.get().strip() section = sectionVar.get() issue_counter = 0 details = [ 'firstname', 'lastname', 'address', 'fatherName', 'fatherNo', 'fatherProfession', 'motherName', 'motherNo', 'motherProfession', 'studentId', 'std', 'rollno', 'gender' ] for detail in details: if vars()[detail] == '': messagebox.showerror('Student Registration', 'Please fill all the details') print(detail) issue_counter += 1 break if issue_counter == 0: cursor.execute('select studentId from studentdata') ids = cursor.fetchall() for i in range(len(ids)): if (studentId, ) in ids: messagebox.showerror( 'Student Registration', 'Student ID already exists. Please use a unique Student ID' ) issue_counter += 1 cursor.execute('select std, section, rollno from studentdata') data = cursor.fetchall() for i in range(len(data)): if (std, section, int(rollno)) in data: messagebox.showerror( 'Student Registration', 'Roll no. already exists in the class') issue_counter += 1 if issue_counter == 0: submit()
def adminsdata(): if request.method == 'GET': cursor = db.cursor() bus_stop_crowd = "select CCTV_ID, NAME,COUNT from SCHEDULE where FACILITY = 'STOP'" bus_crowd = "select CCTV_ID,NAME,COUNT,concat('<a href=\"https://www.google.com/maps/@',latitude,',' , longitude,',17z\">',latitude,',',longitude ,'</a>') as Location from transport.SCHEDULE as S left join traccar.tc_positions as T on T.deviceid = S.deviceid where S.FACILITY = 'BUS' and T.id = ( SELECT max(T.id) FROM traccar.tc_positions )" cursor.execute(bus_stop_crowd) bus_stop_result = cursor.fetchall() cursor.execute(bus_crowd) stop_result = cursor.fetchall() db.commit() return jsonify(bus_stop_result, stop_result)
def table_helper(data, fields, ranges, source1, source2): from_date, to_date = data[-1][1].split(" - ") # Convert dates from the daterange plugin's format to Year-Month-Day from_date = datetime.strptime(from_date, '%m/%d/%Y').strftime("%Y-%m-%d") to_date = datetime.strptime(to_date, '%m/%d/%Y').strftime("%Y-%m-%d") # Convert ranges from semicolon delimited strings to lists converted_ranges = [] for r in ranges: converted_ranges.append(tuple(map(int, r.split(";")))) # Query by the relevant fields q = "SELECT " for field in fields: q += "%s, " % field q = q.strip().strip(",") q += " FROM title_comparison WHERE " # Filter by user input field ranges for i in range(len(fields)): if not fields[i] in text_fields: q += "CAST(%s AS float) >= %f and CAST(%s AS float) <= %f and " % \ (fields[i], converted_ranges[i][0], \ fields[i], converted_ranges[i][1]) # Filter by date range q += "title1_date >= '%s' and title1_date" \ "<= '%s'" % (from_date, to_date) # Filter by sources if len(source1) > 0: q += " and (" for i in range(len(source1)): q += "source1 = '{}'".format(source1[i]) q += " or " q = q.strip().strip(" or") q += ")" if len(source2) > 0: q += " and (" for i in range(len(source2)): q += "source2 = '{}'".format(source2[i]) q += " or " q = q.strip().strip(" or") q += ")" # Execute the query cursor.execute(q) # Fetch all results of the query results = cursor.fetchall() # Make a dynamic HTML table to display the selected fields table = makeHTMLTable(fields, results) return table
def check(): if len(studentIdEntry.get().strip()) == 0: messagebox.showerror('Attendence', "Please enter a Student ID") elif len(yearEntry.get().strip()) != 4: messagebox.showerror('Attendence', 'Please enter a valid year') issue_counter = 0 variables = [ janVar, febVar, marVar, aprVar, mayVar, junVar, julVar, augVar, sepVar, octVar, novVar, decVar ] for variable in variables: if variable.get() == '': messagebox.showerror('Attendence', 'Please fill all the details') issue_counter += 1 break studentId = studentIdEntry.get().strip() year = yearEntry.get().strip() cursor.execute('use school') cursor.execute( 'select * from attendence where studentId = %s and year = %s' % (studentId, year)) data = cursor.fetchall() if len(data) != 0: messagebox.showerror('Attendence', "Data already exists") issue_counter += 1 if issue_counter == 0: submit()
def get_logs(): sql = ("SELECT * FROM logs ORDER BY created DESC") cursor.execute(sql) result = cursor.fetchall() for row in result: print(row[1])
def test(): user_id = session['logged_id'] cursor.execute( 'SELECT * FROM message where user_id = %s ORDER BY c_time DESC', (user_id, )) m = cursor.fetchall() print(m)
def query_line_id(user_token: str) -> str: logging.debug(f"querying line id with token {user_token}") cmd = ''' SELECT user_line_id FROM cq_users WHERE user_token = (%s); ''' cursor.execute(cmd, (user_token, )) return cursor.fetchall()[0][0]
def get_tv_shows(): sql = ("SELECT * FROM tv_shows ORDER BY created DESC") cursor.execute(sql) result = cursor.fetchall() for row in result: print(row)
def show_entries(): if not session.get('logged_in'): return redirect(url_for('users.login')) user_id = session['logged_id'] cursor.execute( "SELECT * FROM message where user_id = %s ORDER BY c_time DESC", (user_id, )) m = cursor.fetchall() messages = list(m) for i, message in enumerate(messages): message = list(message) user_id = message[1] cursor.execute("SELECT nickname FROM users where user_id = %s", (user_id, )) u = cursor.fetchone() message.append(u[0]) cursor.execute( "SELECT * FROM like_msg where msg_id = %s AND user_id = %s", (message[0], user_id)) like = cursor.fetchone() if like is not None: like_flag = 1 else: like_flag = 0 message.append(like_flag) messages[i] = message return render_template('show_entries.html', entries=messages)
def SQLNameExist(self,player,name): sql = 'select id from tb_guild where name=%s' params=(name,) cursor.execute(sql,params) results =cursor.fetchall() if not results: return GS2CGuildNameRepeat(player) return results
def homedata(): origin = request.form['origin'] destination = request.form['destination'] seat_count = "select STOP_CROWD,EMPTY_SEATS from BUS_STOP where ORIGIN = %s and DESTINY = %s" param = (origin, destination) cursor.execute(seat_count, param) seat = cursor.fetchall() return jsonify(seat)
def index(): cursor.execute("SELECT * FROM parking") result = cursor.fetchall() print(url_for('index')) print(url_for('login')) print(url_for('login', next='/')) print(url_for('profile', username='******')) return jsonify(result)
def home(): if request.method == 'GET': cursor = db.cursor() bus_stop_names = 'SELECT DISTINCT ORIGIN FROM BUS_STOP' cursor.execute(bus_stop_names) result = cursor.fetchall() db.commit() return render_template('home.html', bus_stops=result)
async def home2(request): cursor.execute('SELECT * FROM users LIMIT 10') records = cursor.fetchall() rows=[] for row in records: rows.append({'title':row['title']}) return response.json(rows)
def selectGender(): cursor.execute(f"""SELECT AGE, (CASE WHEN gender = 1 THEN 'male' ELSE 'female' END) AS gender, height, weight FROM medical_examination WHERE height >= 160""") result = cursor.fetchall() print(result)
def autoupdate(sc): datetime.today().strftime('%Y-%m-%d') print(datetime.today().strftime('%Y-%m-%d')) date_now = datetime.today().strftime('%Y-%m-%d') model_detail = 'SELECT URL_EMPTY_SEAT, URL_STOP_CROWD, ROUTE_ID FROM BUS_STOP' cursor.execute(model_detail) result = cursor.fetchall() ## i DECLARED AS 0 , IT REPRESENTS THE ROWS i = 0 ## WHILE LOOP while i < 2666: model_url_seat = result[i][0] model_url_stop = result[i][1] _id = result[i][2] # NOTE: generate iam_token and retrieve ml_instance_id based on provided documentation header = { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + "eyJraWQiOiIyMDIwMDYyNDE4MzAiLCJhbGciOiJSUzI1NiJ9.eyJpYW1faWQiOiJpYW0tU2VydmljZUlkLTkxNDYzMTlhLWNkNTMtNGRiNi05ODE4LTM0NmRlMjQxOGM3NCIsImlkIjoiaWFtLVNlcnZpY2VJZC05MTQ2MzE5YS1jZDUzLTRkYjYtOTgxOC0zNDZkZTI0MThjNzQiLCJyZWFsbWlkIjoiaWFtIiwiaWRlbnRpZmllciI6IlNlcnZpY2VJZC05MTQ2MzE5YS1jZDUzLTRkYjYtOTgxOC0zNDZkZTI0MThjNzQiLCJuYW1lIjoiU2VydmljZSBjcmVkZW50aWFscy0xIiwic3ViIjoiU2VydmljZUlkLTkxNDYzMTlhLWNkNTMtNGRiNi05ODE4LTM0NmRlMjQxOGM3NCIsInN1Yl90eXBlIjoiU2VydmljZUlkIiwiYWNjb3VudCI6eyJ2YWxpZCI6dHJ1ZSwiYnNzIjoiNzdjNmZhNzgxNzNkNGU3OWIwNWJiYmZmOTVkNzhhOGEifSwiaWF0IjoxNTk0NzYxNjExLCJleHAiOjE1OTQ3NjUyMTEsImlzcyI6Imh0dHBzOi8vaWFtLmJsdWVtaXgubmV0L2lkZW50aXR5IiwiZ3JhbnRfdHlwZSI6InVybjppYm06cGFyYW1zOm9hdXRoOmdyYW50LXR5cGU6YXBpa2V5Iiwic2NvcGUiOiJpYm0gb3BlbmlkIiwiY2xpZW50X2lkIjoiZGVmYXVsdCIsImFjciI6MSwiYW1yIjpbInB3ZCJdfQ.pHBGLUFeZbdWeBFWNzQJgQwIiLXZ_ferEtZ7Pealw3ltnZpn7i1-2Jjybp7EByORud-9MqC7yvjZpGmK2fIgyjAPng3jzRbNlz2_JEiDQlX5NgcT8UiFFgUbSlym35us_lJoB1ZrRpbziOfLuYaiF_r6y1EsncwYccWqSLyjKayAWpKHlAWjwSiNK8aqpIZmz667AsU6U1s1517cFQ2R-bOH9i-Plbqf4QrXhuVo8Nkv0OAYXzRTSnLKIR-oY6Z73OFnY1EYUKRcnuVuskNkbSd39pm4rKQIQW7HjuSflGPhX4NrbIl7VNp6MmS-EUFhIMDZHEexoLSqgENkmGgphg", 'ML-Instance-ID': "f072af13-d309-42b8-9718-617d23a56d2a" } # NOTE: manually define and pass the array(s) of values to be scored in the next line payload_scoring = { "input_data": [{ "fields": ["Date"], "values": [[date_now]] }] } response_scoring_seat = requests.post(model_url_seat, json=payload_scoring, headers=header) seat = json.loads(response_scoring_seat.text) score_seat = seat['predictions'][0]['values'][0][-1] pred_seat = round(score_seat) response_scoring_stop = requests.post(model_url_stop, json=payload_scoring, headers=header) stop = json.loads(response_scoring_stop.text) score_stop = stop['predictions'][0]['values'][0][-1] pred_stop = round(score_stop) i += 1 update_stat = "UPDATE BUS_STOP SET EMPTY_SEATS = %s, STOP_CROWD = %s WHERE ROUTE_ID = %s" params = (pred_seat, pred_stop, _id) cursor.execute(update_stat, params) db.commit() print('EXIST') ## AFTER EVERY 30 SECS THE PROGRAM IS RUN AGAIN s.enter(1, 1, autoupdate, (sc, ))
def get_logs(): sql = ("SELECT * FROM logs ORDER BY created DESC") cursor.execute(sql) result = cursor.fetchall() size = len(result) if size != 0: for row in result: print(row[0]) else: print("There is no log records!")
def check_if_run(): sql = "SELECT next_run FROM controller WHERE function = 'run'" try: cursor.execute(sql) result = cursor.fetchall() db.commit() for row in result: if row[0] == 1: return True elif row[0] != 1: return False except: pass
def autoupdate(sc): sql = 'SELECT longitude, latitude FROM traccar.tc_positions WHERE id = ( SELECT max(id) FROM traccar.tc_positions )' cursor.execute(sql) result = cursor.fetchall() print(result) update_add = "UPDATE SCHEDULE SET LOCATION = '%s' WHERE FACILITY = 'BUS'" params = (result) print(params) cursor.execute(update_add, params) db.commit() print('Upadting SQL') s.enter(5, 1, autoupdate, (sc, ))
def GetByName(self,name): account = self.m_NameAccount.get(name, None) if account: return account params=(name,) cursor.execute("select id,password from tb_account where name=%s",params) results=cursor.fetchall() if not results: return None name,password=results[0] account = Caccount(name,password) self.Add(account,account.m_ID) return account
def data(): data = [(k, v) for k, v in request.form.items()] fields, ranges = zip(*(data[:-1])) from_date, to_date = data[-1][1].split(" - ") # Convert dates from the daterange plugin's format to Year-Month-Day from_date = datetime.strptime(from_date, '%m/%d/%Y').strftime("%Y-%m-%d") to_date = datetime.strptime(to_date, '%m/%d/%Y').strftime("%Y-%m-%d") # Convert ranges from semicolon delimited strings to lists converted_ranges = [] for r in ranges: converted_ranges.append(tuple(map(int, r.split(";")))) # Query the POSTGRES database using dynamic SQL cursor.execute("select * from Articles") # Query by the relevant fields q = "SELECT " for field in fields: q += "%s, " % field # Filter by user input field ranges q = q.strip().strip(",") q += " FROM articles WHERE " for i in range(len(fields)): if not fields[i] in text_fields: q += "CAST(%s AS float) >= %f and CAST(%s AS float) <= %f and " % \ (fields[i], converted_ranges[i][0], \ fields[i], converted_ranges[i][1]) # Filter by date range q += "title1_date >= '%s' and title1_date " \ "<= '%s'" % (from_date, to_date) # Execute the query cursor.execute(q) # Fetch all results of the query results = cursor.fetchall() # Make a dynamic HTML table to display the selected fields table = makeHTMLTable(fields, results) return render_template("data.html", table=table)
def high_std_dev_fields(): global numeric_field_names q = "SELECT " for field in numeric_field_names: q += "STDDEV({}::numeric), ".format(field) q = q.strip().strip(",") q += " FROM title_comparison" cursor.execute(q) results = cursor.fetchall() combined = [] for i in range(len(results[0])): result = results[0][i] combined.append((result, numeric_field_names[i])) combined.sort(reverse=True) return sorted([combined[i][1] for i in range(5)])
def main(): """check if any bike be returned from 2020/12/01 to today, if have any, then save return time to database""" web_towed_bikes = [] start_day = date(2020, 12, 1) end_day = date.today() delta = timedelta(days=1) print('getting all entry from 2020/12/01 to today from website...') dates = [] while start_day <= end_day: dates.append(start_day) start_day += delta with concurrent.futures.ThreadPoolExecutor() as executor: results = executor.map(crawl_towbike_at, dates) print('have get all data from websites') for result in results: web_towed_bikes += result db_towed_bikes = [] print('get all entry from 2020/12/01 to today from mySQL...') cursor.execute("SELECT id, bike_id, time, return_time FROM towed_bike") for _id, bike_id, time, return_time in cursor.fetchall(): db_towed_bikes.append( TowBike(_id=_id, bike_id=bike_id, time=time, return_time=return_time)) print(f'web bike count: {len(web_towed_bikes)}') print(f'db bike count : {len(db_towed_bikes)}') print('check for update...') return_bikes = [ bike for bike in db_towed_bikes if bike not in web_towed_bikes and bike.return_time is None ] if return_bikes == []: print('(no update need)') else: for bike in return_bikes: cursor.execute("UPDATE towed_bike SET return_time=%s WHERE id=%s", (datetime.now(), bike._id)) db.commit() print(f'(update {len(return_bikes)} entries)')
def verifyStudent(): studentId = studentIdEntry.get().strip() try: cursor.execute('select * from studentdata where studentId = %s' % (studentId)) except: messagebox.showerror('Attendence', 'Please enter a valid Student ID') data = cursor.fetchall() if len(data) != 0: studentNameEntry.config(state='normal') name = data[0][1] + ' ' + data[0][2] studentNameEntry.delete(0, END) studentNameEntry.insert(0, name) studentNameEntry.config() else: messagebox.showerror('Attendence', 'No data found')
def range_filter_helper(fields, ranges): global bounds #find fields with bounds (if haven't already) num_fields = [ field for field in fields if not field in text_fields and not field in bounds ] # Query by the relevant fields q = "SELECT " for field in num_fields: q += "min(CAST(%s AS float)), " % field q += "max(CAST(%s AS float)), " % field # Filter by user input field ranges q = q.strip().strip(",") q += " FROM title_comparison" # Execute the query cursor.execute(q) # Fetch all results of the query try: results = cursor.fetchall()[0] except: pass #find min and max for each relevant field for i in range(len(num_fields)): try: lower = floor(results[2 * i]) #min value for field upper = ceil(results[2 * i + 1]) #max value for field bounds[num_fields[i]] = (lower, upper) except: bounds[num_fields[i]] = (-100, 100) form2 = FieldSliders(fields, bounds, ranges) return form2
def routes(): origin = request.form['origin'] destination = request.form['destination'] routes_db = "(SELECT BUS_NUMBER as 'BUS_NUMBER_1' , ORIGIN as 'FROM', 'NA' as 'VIA', DESTINY as 'TO' ,'NA' as 'BUS_NUMBER_2', STOP_COUNT AS 'TOTAL' FROM BUS_STOP WHERE ORIGIN = %s AND DESTINY = %s ) UNION ALL ( SELECT DISTINCT A.BUS_NUMBER as 'BUS_NUMBER_1', A.ORIGIN as 'FROM', B.ORIGIN as 'VIA' , B.DESTINY as 'TO', B.BUS_NUMBER as 'BUS_NUMBER_2', A.STOP_COUNT + B.STOP_COUNT as 'TOTAL' FROM BUS_STOP A JOIN BUS_STOP B ON A.DESTINY = B.ORIGIN WHERE A.ORIGIN = %s and B.DESTINY = %s ORDER BY 'TOTAL' ASC LIMIT 1)" params = (origin, destination, origin, destination) cursor.execute(routes_db, params) rv = cursor.fetchall() payload = [] content = {} for result in rv: content = { 'BUS_NUMBER_1': result[0], 'FROM': result[1], 'VIA': result[2], 'TO': result[3], 'BUS_NUMBER_2': result[4], 'TOTAL': result[5] } payload.append(content) content = {} return jsonify(payload)
def announcements(): if request.method == 'GET': select_user = '******' cursor.execute(select_user) result = cursor.fetchall() db.commit() return render_template('announcements.html', alerts=result) if request.method == 'POST': post = request.form['post'] link = request.form['link'] type = request.form['type'] sentiment = request.form['sentiment'] print(post, link, type, sentiment) insert_announcement = "insert into ANNOUNCEMENTS (LINK,POST,TYPE,SENTIMENT) values (%s,%s,%s,%s)" params = (link, post, type, sentiment) # Insert announcements cursor.execute(insert_announcement, params) db.commit() announcements_id = cursor.lastrowid print(announcements_id) return jsonify([post, link, type, sentiment])
def calculate(champions, attr, question, answer): cursor.execute(f"""SELECT weight FROM weights WHERE attr = "{attr}" """) weight = cursor.fetchone()[0] cursor.execute( "SELECT champion, `yes`, `probably`, `unknown`, `maybe`, `no`, (`yes` + `probably` + `unknown` + `maybe` + `no`) as total FROM attributes WHERE attr = ?", [attr]) rows = cursor.fetchall() for row in rows: champion, yes, prob, unknown, maybe, no, total = row if champion not in champions: champions[champion] = 50 distribution = [0.5, 0.2, 0.05] # Something like z distribution but I failed probability :( minus_two = row[max(1, answer.value - 2)] * distribution[2] minus_one = row[max(1, answer.value - 1)] * distribution[1] middle = row[answer.value] * distribution[0] plus_two = row[min(1, answer.value + 2)] * distribution[1] plus_one = row[min(1, answer.value + 1)] * distribution[2] score = sum([minus_one, minus_two, middle, plus_one, plus_two ]) / total * weight champions[champion] += score
def show(msg_id): user_id = session['logged_id'] if request.method == 'GET': cursor.execute("SELECT * FROM message where msg_id = %s;", (msg_id,)) m = cursor.fetchone() cursor.execute("SELECT * FROM comment where msg_id = %s;", (msg_id,)) cs = cursor.fetchall() if cs is None: cs = () cs = list(cs) for i, comment in enumerate(cs): comment = list(comment) cursor.execute("SELECT nickname FROM users where user_id = %s", (user_id,)) u = cursor.fetchone() comment.append(u[0]) cursor.execute("SELECT * FROM like_cmt where cmt_id = %s AND user_id = %s", (comment[0], user_id)) like = cursor.fetchone() if like is not None: like_flag = 1 else: like_flag = 0 comment.append(like_flag) cs[i] = comment return render_template('comment/show.html', m=m, cs=cs)
def get(): if studentIdEntry.get().strip() == '': messagebox.showerror('Attendence', 'Please enter a Student ID') elif yearEntry.get().strip() == '': messagebox.showerror('Attendence', 'Please enter a year') else: verifyStudent() studentId = studentIdEntry.get().strip() year = yearEntry.get().strip() try: cursor.execute( 'select * from attendence where studentId = %s and year = %s' % (studentId, year)) except: messagebox.showerror('Attendence', 'No data found') data = cursor.fetchall() if len(data) != 0: field = data[0] jan = field[2] feb = field[3] mar = field[4] apr = field[5] may = field[6] jun = field[7] jul = field[8] aug = field[9] sep = field[10] octo = field[11] nov = field[12] dec = field[13] total = jan + feb + mar + apr + may + jun + jul + aug + sep + nov + octo + nov + dec percent = str(total / 3) + '%' if len(janEntry.get().strip()) != 0: janEntry.config(state='normal') febEntry.config(state='normal') marEntry.config(state='normal') aprEntry.config(state='normal') mayEntry.config(state='normal') junEntry.config(state='normal') julEntry.config(state='normal') augEntry.config(state='normal') sepEntry.config(state='normal') octEntry.config(state='normal') novEntry.config(state='normal') decEntry.config(state='normal') totalEntry.config(state='normal') percentEntry.config(state='normal') janEntry.delete(0, END) febEntry.delete(0, END) marEntry.delete(0, END) aprEntry.delete(0, END) mayEntry.delete(0, END) junEntry.delete(0, END) julEntry.delete(0, END) augEntry.delete(0, END) sepEntry.delete(0, END) octEntry.delete(0, END) novEntry.delete(0, END) decEntry.delete(0, END) totalEntry.delete(0, END) percentEntry.delete(0, END) janEntry.insert(0, jan) janEntry.config(state='disabled', disabledforeground='black') febEntry.insert(0, feb) febEntry.config(state='disabled', disabledforeground='black') marEntry.insert(0, mar) marEntry.config(state='disabled', disabledforeground='black') aprEntry.insert(0, apr) aprEntry.config(state='disabled', disabledforeground='black') mayEntry.insert(0, may) mayEntry.config(state='disabled', disabledforeground='black') junEntry.insert(0, jun) junEntry.config(state='disabled', disabledforeground='black') julEntry.insert(0, jul) julEntry.config(state='disabled', disabledforeground='black') augEntry.insert(0, aug) augEntry.config(state='disabled', disabledforeground='black') sepEntry.insert(0, sep) sepEntry.config(state='disabled', disabledforeground='black') octEntry.insert(0, octo) octEntry.config(state='disabled', disabledforeground='black') novEntry.insert(0, nov) novEntry.config(state='disabled', disabledforeground='black') decEntry.insert(0, dec) decEntry.config(state='disabled', disabledforeground='black') totalEntry.insert(0, total) totalEntry.config(state='disabled', disabledforeground='black') percentEntry.insert(0, percent) percentEntry.config(state='disabled', disabledforeground='black') else: messagebox.showerror('Attendence', 'No data found')
def Load(self): sql = 'select data from tb_guild where id=%s' params=(self.m_Id,) cursor.execute(sql,params) data = cursor.fetchall() self.Unpack(data)
def autoupdate(sc): ## SELECT THE URL AND ID FROM DATABASE cctv_url = 'SELECT CCTV_URL, CCTV_ID FROM SCHEDULE' cursor.execute(cctv_url) result = cursor.fetchall() ## i DECLARED AS 0 , IT REPRESENTS THE ROWS i = 0 ## WHILE LOOP while i < 41: url_out = result[i][0] _id = result[i][1] print(url_out) print(_id) url = url_out print(url) img_request = requests.get(url) img_arr = np.array(bytearray(img_request.content), dtype=np.uint8) img = cv2.imdecode(img_arr, -1) name = './data/img' + '.jpg' cv2.imwrite(name, img) ## IMAGE IS CAPTURED ## OPENED IN FILE FORMAT with open(name, 'rb') as images_file: ## PUT IN OKAY OR NOT OKAY MODEL classes = visual_recognition.classify( images_file, threshold='0.6', classifier_ids='Bus_View_932757643').get_result() visual = json.loads(json.dumps(classes, indent=2)) preds = visual['images'][0]['classifiers'][0]['classes'][0][ 'class'] ## IF NOT OKAY DECLARED AS CROWDED if (preds) == 'Not Okay': count = -1 print(count) ## IF OKAY PUT INTO HUMAN DETECTION TO GET THE HUMAN COUNT else: url1 = "https://gateway.watsonplatform.net/visual-recognition/api/v4/analyze?version=2019-02-11" payload = { 'features': 'objects', 'collection_ids': '465fd7ad-785a-4dab-b64b-08a937c9adcb', 'threshold': '0.15' } files = [('images_file', open(name, 'rb'))] headers = { 'Authorization': 'Basic YXBpa2V5OllnTlNySmNXRlNyTGxJa25nMlhzRW1ZNmstSEllcjNEU2huU05lb3A4RnVl' } response = requests.request("POST", url1, headers=headers, data=payload, files=files) json_con = json.loads(response.text.encode('utf8')) detect = json_con['images'][0]['objects']['collections'][0][ 'objects'] count = len(detect) print(count) ## TAKES TO THE NEXT ROW i += 1 print('loop' + str(i)) ## UPDATE THE COUNT TO SQL DATABASE update_stat = "UPDATE SCHEDULE SET COUNT = %s WHERE CCTV_ID = %s" params = (count, _id) print(params) cursor.execute(update_stat, params) db.commit() print('Upadting SQL') ## EXIST WHEN THE ROWS ARE COMPLTED print('exist') ## AFTER EVERY 30 SECS THE PROGRAM IS RUN AGAIN s.enter(30, 1, autoupdate, (sc, ))