def setUp(self): super().setUp() category = Category(name='test_category') item = Item(name='test_item') item.category = category record_1 = Record(start=datetime(2019, 1, 10, 6, 0, 0), finish=datetime(2019, 1, 10, 7, 0, 0), remark='test_record_1') record_2 = Record(start=datetime(2019, 1, 11, 6, 0, 0), finish=datetime(2019, 1, 11, 7, 0, 0), remark='test_record_2') item.records = [record_1, record_2] db.session.add(item) db.session.commit()
def run(self): while not self.stoprequest.isSet(): #Receive and unpack message try: can_pkt = self.sock.recv(16) except socket.error: self.logger.info('Exiting can receiver loop') self.session.commit() self.db_session.remove() self.logger.info("Commiting the session and clearing resources") continue can_id, length, x, y, z, timestamp = struct.unpack(self.FMT, can_pkt) # This code only with real device and in debugging if self.debug is False: self.logger.info('can_id: %d, length: %d, x: %d, y: %d, z: %d', can_id, length, x, y, z) #Mask ID to hide possible flags can_id = can_id & socket.CAN_EFF_MASK self.logger.info('CAN id masked is %d', can_id) #Create Record hold_id = self.canid_holdid_dict[can_id] if hold_id is None: self.logger.warn('No hold found for can_id %d', can_id) continue record = Record(hold_id=hold_id, can_id=can_id, x=x, y=y, z=z, timestamp=timestamp, climb_id=self.climb.id) #Send Record to WS socketio.emit('json', json.dumps(record.to_ws_dict()), namespace='/api/climbs') #Save the Record in db self.session.add(record)
def face(): form = FaceForm( MultiDict({ **request.form.to_dict(), **request.files.to_dict() })) if form.validate(): # 获取图片 img = cv2.imdecode(np.fromstring(form.img.data.read(), np.uint8), cv2.IMREAD_COLOR) if img is None: return make_response(jsonify({'msg': '上传图片出错'}), 400) sid = face_model.compare(img) if sid is None: return make_response(jsonify({'msg': '未注册'}), 400) # 获取人员信息 staff = Staff.query.filter_by(id=sid).first() if len(staff.record) == 0 or valid_interval(staff.record[-1]): record = Record(sid=sid, device=form.device.data, time=datetime.now()) try: db.session.add(record) db.session.commit() return make_response(jsonify(StaffViewModel(staff).info), 200) except Exception: db.session.rollback() return make_response(jsonify({'msg': '写入数据库失败'}), 400) else: return make_response(jsonify({'msg': '参数验证失败'}), 400) return make_response(jsonify({'msg': '未知错误'}), 400)
def getCarAttrApi(): try: if request.method == 'POST': username = request.form.get('username') image = request.form.get('image') key_token=request.form.get('key_token') else: username = request.args.get('username') image = request.args.get('image') key_token=request.form.get('key_token') if username == None: return formattingData1(username=-1, msg='未登录') # 此处保留有关页码的问题,暂时不做处理 if key_token == None: return formattingData1(username=-1,msg='key_token值错误') user = User.query.filter_by(username=username).first() if(user.count_access > 500): return formattingData1(username=-1,msg='此用户接口使用次数已达上限') if(user.key_token != key_token): return formattingData1(username=-1,msg='用户名和key_token值不符合') user.count_access+=1 db.session.commit()#调用接口次数加一 string=CarTeller.car_attribute_tell(image) time1=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") url1="jpg/"+username+time1+".jpg" url1=url1.replace(" ","1") record = Record(username=username, msg="属性检测一次:" + string, time=time1,url=url1) db.session.add(record) db.session.commit() imgdata(image,username,time1) return formattingData1(username=username, msg=string) except KeyError as e: return formattingData1(username=-1, msg='Sorry,get num failed.')
def get_record(): try: #首先验证是否有username参数 username = request.args.get('username') session = request.args.get('session') if username == None: return formattingData1(username=-1, msg='未输入用户名') elif session == None: return formattingData1(username=-1, msg='未登录') #此处保留有关页码的问题,暂时不做处理 print("用户名"+username+"session"+session) print('键的数量'+str(len(session_dict))) if username not in session_dict.keys(): print("session数据消失") print("sessname"+str(session_dict[username])) #现在进行验证session if username not in session_dict.keys(): return formattingData1(username=-1, msg='未登录') if session_dict[username] != int(session): return formattingData1(username=-1, msg='被挤下线啦') record = Record.query.filter_by(username=username).all() my_record = [] for item in record: r = Record(item.username, item.msg, item.time,item.url) my_record.append(r) str_json = json.dumps(my_record, default=Record.serialize, ensure_ascii=False) str_json = "{\"code\":0,\"msg\":\"\",\"count\":" + str(len(my_record)) + ",\"data\":" + str_json + "}" return str_json except KeyError as e: return formattingData1(username=-1, msg='Sorry,get record failed.')
def save_record(request): if request.POST: try: teacher_name = request.POST['teacher_name'] grade_no = request.POST['grade_no'] dt = request.POST['date'] dt = datetime.datetime.strptime(dt, '%m-%d-%Y') tm = request.POST['time'] tm = datetime.datetime.strptime(tm, "%I:%M%p") timestamp = str(dt.date()) + " " + str(tm.time()) comments = request.POST['comments'] user = request.user record = Record() record.user = user record.teacher_name = teacher_name record.grade = grade_no record.timestamp = timestamp record.district = user.first_name record.comments = comments record.save() messages.success(request, 'Data saved successfully!') return HttpResponseRedirect("/cal/save_record/") except Exception as err: messages.error(request, 'Error saving data ({0})'.format(str(err))) return HttpResponseRedirect("/cal/save_record/") else: query = Record.objects.filter(user=request.user).values() data = [] for i in query: obj = {} obj['teacher_name'] = i['teacher_name'] obj['grade'] = i['grade'] obj['timestamp'] = str(i['timestamp']).split('+')[0] data.append(obj) return render(request, "calendar.html", {'message': ' ', 'data': data})
def delete_all(name): depot = Depot.query.filter_by(name=name).first() template_id = depot.template_id if request.method == 'POST': all_id = request.form.get('ids') all_id = all_id.split(',') if '' in all_id: all_id.remove('') if 'on' in all_id: all_id.remove('on') print("all_id=", all_id) all_id = list(map(int, all_id)) for i in all_id: if template_id == 1: cmp = T1.query.filter(and_(T1.name == name, T1.id == i)).first() elif template_id == 2: cmp = T2.query.filter(and_(T2.name == name, T2.id == i)).first() elif template_id == 3: cmp = T3.query.filter(and_(T3.name == name, T3.id == i)).first() db.session.delete(cmp) # 删除cmp时,将cmp的信息写入record表中 r = { 'assetnumber': cmp.assetnumber, 'brand': cmp.product_name, 'product': cmp.model_name, 'depotname': depot.name } record = Record(**r) db.session.add(record) db.session.commit() return redirect_back()
def test_good(self): app.app.config['WTF_CSRF_ENABLED'] = False with app.app.test_request_context('/'): r = Record(**test_record) form = EditForm(MultiDict(r.record)) result = form.validate() self.assertEqual(result, True)
def delete_all(): if request.method == 'POST': id = request.form.get('ids') print('id=', id) id = id.split(',') if 'on' in id: id.remove('on') if '' in id: id.remove('') print('id=', id) for i in id: book = Book.query.get_or_404(i) db.session.delete(book) # 每删除一个book,即将book信息添加record表中 r = { 'assetnumber': book.booknumber, 'brand': '', 'product': book.bookname, 'depotname': '图书管理' } record = Record(**r) db.session.add(record) db.session.commit() flash('删除成功', 'success') return redirect_back('book.index')
def test_record(database): recorder = Recorder(uid="RecorderX") parameters = RecordingParameters(uid="ParametersX", duration=100.0) series = Series(uid="SeriesX", recorder_uid=recorder.uid, parameters_uid=parameters.uid) database.session.add_all([recorder, parameters, series]) record = Record(uid='SuperQualityRecord', start_time=time(), series_uid=series.uid) database.session.add(record) database.session.commit() assert record.uid == 'SuperQualityRecord' assert record.created_at is not None assert record.start_time < time() assert record.stop_time == record.start_time + parameters.duration assert record.uploaded_at is None assert record.series == series assert record.label is None assert not record.is_uploaded() assert record.filepath is not None assert not record.filepath.exists() # fake upload file record.filepath.parent.mkdir(parents=True, exist_ok=True) record.filepath.touch() record.uploaded_at = datetime.now() database.session.commit() assert record.is_uploaded() record.filepath.unlink() record.uploaded_at = None database.session.commit() assert not record.is_uploaded()
def create_resource_record(req_record_data): """ create a new resource object based on the request parameters :param req_record_data: :return: """ validation, error = new_record_validator(req_record_data) if error: return jsonify({'error': error}) record_type = req_record_data.get('type') validation, error = DNS_TYPES[record_type](req_record_data) if error: return jsonify({"error": error}) record_id = req_record_data.get('zone_id') resource_record = Domain.query.filter_by(id=record_id).first() new_record = Record() new_record.domain_id = record_id if req_record_data.get('name'): new_record.name = req_record_data.get( "name") + '.' + resource_record.name else: new_record.name = resource_record.name new_record.type = record_type new_record.content = req_record_data.get("content") new_record.ttl = req_record_data.get("ttl") or 3600 new_record.prio = req_record_data.get("priority") or None db.session.add(new_record) db.session.commit() return jsonify({"status": "ok"})
def create_record(): mbid = request.args.get('mbid') data = None form = RecordForm() if mbid: r = requests.get( 'http://ws.audioscrobbler.com/2.0/' '?method=album.getinfo' '&mbid=' + mbid + '&api_key=' + app.config['LAST_API_KEY'] + '&format=json' ) data = r.json() form.album.data = data['album']['name'] form.artist.data = data['album']['artist'] if form.validate_on_submit(): record = Record( artist=form.artist.data, album=form.album.data, year_released=form.year_released.data, year_printed=form.year_printed.data, condition=form.condition.data, user_id=current_user.id, mbid=mbid ) db.session.add(record) db.session.commit() flash('Record created!') return redirect(url_for('records')) return render_template('create_record.html', form=form, data=data, title='Create')
def borrow(): form = BorrowBookForm() if form.validate_on_submit(): if db.session.query(Card).filter( Card.cno == form.cno.data).count() != 0: if db.session.query(Book).filter(Book.id == form.bno.data).filter( Book.stock > 0).count() != 0: book = db.session.query(Book).filter( Book.id == form.bno.data).filter(Book.stock > 0).one() record = Record(bno=book.id, cno=form.cno.data, btime=datetime.utcnow(), username=current_user.name) try: db.session.add(record) db.session.commit() book.stock = book.stock - 1 db.session.add(book) db.session.commit() flash(u'借书成功') return redirect(url_for('admin.borrow')) except: flash(u'未知错误') return redirect(url_for('admin.borrow')) flash(u'卡号错误或者库存不足') return render_template('admin/borrow.html', form=form)
def ImportAllRecords(csvFile): num = 0 with open(csvFile) as csvTextFile: csvReader = csv.reader(csvTextFile) for line in csvReader: print(line[0]) if num > 0: record = Record(EnterpriseId=int(line[0]), LastName=line[1], FirstName=line[2], MiddleName=line[3], Suffix=line[4], DOB=line[5], Gender=line[6], SSN=line[7], Address1=line[8], Address2=line[9], Zip=line[10], MothersMaidenName=line[11], MRN=line[12], City=line[13], State=line[14], Phone=line[15], Phone2=line[16], Email=line[17], Alias=line[18]) record.save() num = num + 1 return
def site(site_name): form = RecordForm() page = request.args.get('page', 1, type=int) site=Site.query.filter_by(name=site_name).first_or_404() if form.validate_on_submit(): site.latest_count = form.count.data record = Record(site_id=site.id, user_id=current_user.id, count=form.count.data, comments=form.comments.data) db.session.add(record) db.session.commit() flash(_('Record saved')) return redirect(url_for('main.site', site_name=site.name)) cameras = Camera.query.filter_by(site_id=site.id).paginate( page, current_app.config['ITEMS_PER_PAGE'], False) next_url = url_for('site', page=cameras.next_num) \ if cameras.has_next else None prev_url = url_for('site', page=cameras.prev_num) \ if cameras.has_prev else None return render_template('site.html', title=site.name, site=site, cameras=cameras.items, form=form, prev_url=prev_url, next_url=next_url)
def patient_profile(unit_id): unit = Unit.query.get(unit_id) form = RecordForm() if form.validate_on_submit(): record = Record(complaint=form.complaint.data, history=form.history.data, results=form.results.data, assessment=form.assessment.data, plan=form.plan.data, prescriptions=form.prescriptions.data, demographics=form.demographics.data, body=form.body.data, owner=unit, author=current_user) db.session.add(record) db.session.commit() flash('新的病历记录已经被提交', category='info') return redirect(url_for('patient_profile', unit_id=unit.id)) page = request.args.get('page', 1, type=int) pagination = unit.records.order_by(Record.timestamp.desc()).paginate( page, app.config['UNITS_PER_PAGE'], False) records = pagination.items if unit.owner == current_user or current_user.can('ADMINISTER') == True: return render_template('patient_profile.html', page=page, pagination=pagination, records=records, form=form, unit=unit) else: return render_template('patient_profile.html', page=page, pagination=pagination, records=records, unit=unit)
def record_add(): form = AddRecordForm() form.unit_id.choices = [ (u.id, u.name) for u in Unit.query.order_by(Unit.timestamp.desc()).all() ] if form.validate_on_submit(): record = Record(complaint=form.complaint.data, history=form.history.data, results=form.results.data, assessment=form.assessment.data, plan=form.plan.data, prescriptions=form.prescriptions.data, demographics=form.demographics.data, body=form.body.data, owner=Unit.query.get(form.unit_id.data), author=current_user) db.session.add(record) db.session.commit() flash('新的病历记录已经被提交', category='info') return redirect_back() page = request.args.get('page', 1, type=int) pagination = Record.query.order_by(Record.timestamp.desc()).paginate( page, app.config['RECORDS_PER_PAGE_ADD'], False) records = pagination.items return render_template('add_record.html', title='Add Record', form=form, records=records, pagination=pagination)
def test_record_from_int_value(self): """ Test that a record instance's value is returned as float even if it was passed an int """ data = {"value": 42} result = Record(**data) self.assertEqual(result.value, float(data["value"]))
def test_record_no_datetime(self): """ Test that a record instance created without a given datetime has one earlier or equal than dt.now() """ data = {"value": 10.00} result = Record(**data) self.assertLessEqual(dt.strptime(result.datetime, "%Y-%m-%dT%H:%M:%S"), dt.now())
def test_record_negative_value(self): """ Test that a record instance can be created with a negative value """ data = { "value": -2.43, } result = Record(**data) self.assertEqual(result.value, data["value"])
def test_record_no_value(self): """ Test that Record raises TypeError if not given a value upon creation """ data = { "description": "Just a regular record", "datetime": dt.now().isoformat(timespec="seconds") } with self.assertRaises(TypeError): result = Record(**data)
def take_attendance(id): if request.method == "POST": if not "image" in request.files: return "no image found", 400 file = request.files["image"] if not file: return "no image found", 400 image = face_recognition.load_image_file(file) encodings = face_recognition.face_encodings(image) if (len(encodings) != 1): return str( len(encodings)) + " faces found. But required only 1 face", 400 attendance = Attendance.query.get(id) if not attendance: return "invalid attendance id", 400 # logic candidates = Candidate.query.filter_by(user=attendance.user).all() known_encodings = [] for c in candidates: known_encodings.append(c.encoding) result = face_recognition.compare_faces(known_encodings, encodings[0]) for i in range(len(result)): if result[i]: if Record.query.filter_by( candidate=candidates[i], attendance=attendance).first() is not None: return "success", 200 record = Record() now = datetime.now() record.candidate = candidates[i] record.attendance = attendance record.user = attendance.user record.created_at = now record.candidate.last_attendance = now db.session.add_all([record, record.candidate]) db.session.commit() return "success", 200 return "unauthorized", 401 return render_template("take_attendance.html", id=id)
def test_5_add_record_for_user(self): print('\n------ add record for user --------') users = User.query.all() tasks = Task.query.all() u1 = users[0] for task in tasks: record = Record(uid=u1.id, tid=task.id, done=True) db.session.add(record) db.session.commit() print(f'user {u1.name} has records:') print(u1.records)
def test_record_no_description(self): """ Test that a record instance created without a given description has one that is None """ data = { "value": 10.00, "datetime": dt.now().isoformat(timespec="seconds") } result = Record(**data) self.assertIsNone(result.description)
def new_record(docId): form = RecordForm() if request.method == 'POST': rec = Record(rectype = form.rectype.data, citation = form.citation.data, date=form.date.data, comments = form.comments.data, document_id = docId) db.session.add(rec) db.session.commit() return redirect(url_for('get_document', docId = docId)) return render_template('new_record.html', form = form)
def db_update_avail_libs_dict(avail_libs_dict, record_name): db_nuke_avail_libs_dict(record_name) db_record = Record(name=record_name) db.session.add(db_record) db.session.flush() for library, books in avail_libs_dict.items(): db_library = Library(name=library, record_id=db_record.id) db.session.add(db_library) db.session.flush() for book, reference in books: db_book = Book(title=book, ref=reference, library_id=db_library.id) db.session.add(db_book) db.session.commit()
def add_record(): form = RecordForm() if form.validate_on_submit(): record = Record(amount=form.amount.data, desc=form.desc.data, category=form.category.data, user=current_user) db.session.add(record) db.session.commit() flash('Expense added in your expense book!', 'success') if 'another' in form.submit.data.lower(): return redirect(url_for('add_record')) return redirect(url_for('index')) return render_template('add_record.html', title='Add Record', form=form)
def test_record_init(self): """ Test that a record instance has the same attributes as given """ data = { "value": 10.00, "description": "Just a regular record", "datetime": dt.now().isoformat(timespec="seconds") } result = Record(**data) self.assertEqual(result.value, data["value"]) self.assertEqual(result.description, data["description"]) self.assertEqual(result.datetime, data["datetime"])
def getCarInfoApi(): try: if request.method == 'POST': username = request.form.get('username') image = request.form.get('image') key_token=request.form.get('key_token') else: username = request.args.get('username') image = request.args.get('image') key_token=request.form.get('key_token') if username == None: return formattingData1(username=-1, msg='未登录') # 此处保留有关页码的问题,暂时不做处理 if key_token == None: return formattingData1(username=-1,msg='key_token值错误') user = User.query.filter_by(username=username).first() if(user.count_access > 500): return formattingData1(username=-1,msg='此用户接口使用次数已达上限') if(user.key_token != key_token): return formattingData1(username=-1,msg='用户名和key_token值不符合') user.count_access+=1 db.session.commit() imagetemp=image image = base64_cv2(image) car_info_li,pros_li = CarTeller.car_info_tell(image) carname = ["carone", "cartwo", "carthree", "carfour", "carfive"] mydict1 = [] for name, pro in zip(car_info_li, pros_li): mydict2 = {} mydict2["carname"] = name mydict2["pro"] = pro mydict1.append(mydict2) dictstr=dict(zip(carname,mydict1)) jsonstring=json.dumps(dictstr) string = jsonstring del car_info_li del pros_li gc.collect() time1=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") url1="jpg/"+username+time1+".jpg" url1=url1.replace(" ","1") record = Record(username=username, msg="车辆检测一次:" + string, time=time1,url=url1) db.session.add(record) db.session.commit() imgdata(imagetemp,username,time1) return formattingData1(username=username, msg=string) except KeyError as e: return formattingData1(username=-1, msg='Sorry,get num failed.')
def saverecord(): try: user_id = request.headers.get('user_id') date = request.headers.get('date') sleep = request.headers.get('sleep') nutrition = request.headers.get('nutrition') hydration = request.headers.get('hydration') family = request.headers.get('family') friends = request.headers.get('friends') intimate = request.headers.get('intimate') vigorous = request.headers.get('vigorous') movement = request.headers.get('movement') standing = request.headers.get('standing') needed_work = request.headers.get('needed_work') creative_work = request.headers.get('creative_work') relaxed_state = request.headers.get('relaxed_state') substance_abuse = request.headers.get('substance_abuse') unhealthy_relationships = request.headers.get( 'unhealthy_relationships') self_harm = request.headers.get('self_harm') mental_clarity = request.headers.get('mental_clarity') notes = request.headers.get('notes') record = Record(user_id=user_id, date=date, sleep=sleep, nutrition=nutrition, hydration=hydration, family=family, friends=friends, intimate=intimate, vigorous=vigorous, movement=movement, standing=standing, needed_work=needed_work, creative_work=creative_work, relaxed_state=relaxed_state, substance_abuse=substance_abuse, unhealthy_relationships=unhealthy_relationships, self_harm=self_harm, mental_clarity=mental_clarity, notes=notes) db.session.add(record) db.session.commit() return jsonify({'success': 'Record Created'}) except: return jsonify({'error': 'Record Not Created'})