def _add_record(self, user, tags=[]): record = Record(user=user, transaction_type='EXP', amount=10, tags=tags) record.save() return record
def add_record(request): if request.method != "POST": raise NotImplementedError token = request.POST.get("token", None) data = request.POST.get("data", None) if not token: raise PermissionDenied if not data: raise PermissionDenied try: data = float(data) except ValueError: raise PermissionDenied try: token = CollectorToken.objects.get(token=token) r = Record( data=data, token=token, ) r.save() return jsonResp(r.to_dict()) except CollectorToken.DoesNotExist: raise PermissionDenied
def _add_record(self, amount, transaction_type='EXP', bits=[]): record = Record(user=self.user, transaction_type=transaction_type, amount=amount) for bit in bits: record.tags.set_bit(bit, True) record.save() record.save() return record
def add(request): if request.is_ajax(): text = request.POST['record'] record = Record(text=text, author=request.user, date=now()) record.save() return JsonResponse({"text": record.text, "id": record.id, "date": record.date.strftime("%d.%m.%Y %H:%M"), "author_id": record.author.id, "author_name": record.author.get_full_name(), "author_alias": record.author.username})
def _add_record(self, amount, transaction_type='EXP', tags=None): tags = tags or [] record = Record(user=self.user, transaction_type=transaction_type, amount=amount, tags=tags) record.save() return record
def submit_record_proc(request): try: tonn_username = request.POST['tonn_username'] nann_username = request.POST['nann_username'] sha_username = request.POST['sha_username'] pei_username = request.POST['pei_username'] tonn_score = int(request.POST['tonn_score']) nann_score = int(request.POST['nann_score']) sha_score = int(request.POST['sha_score']) pei_score = int(request.POST['pei_score']) match_type = int(request.POST['match_type']) except: return HttpResponse("Invalid inputs...") try: extra_point = int(request.POST['extra_point']) except KeyError: extra_point = 0 try: replay_url = request.POST['replay_url'] if not replay_url: replay_url = None except KeyError: replay_url = None # validate point inputs total = tonn_score + nann_score + sha_score + pei_score + extra_point if total % 10000 or total % 4: return HttpResponse("Invalid points...") # create record record = Record(extra_point=extra_point, match_type=match_type, replay_url=replay_url) record.save() # get users tonn = get_user_from_name(tonn_username) nann = get_user_from_name(nann_username) sha = get_user_from_name(sha_username) pei = get_user_from_name(pei_username) if not tonn or not nann or not sha or not pei: return HttpResponse("Invalid users...") # create player tonn_player = Player(user=tonn, record=record, kaze="동", point=tonn_score) tonn_player.save() nann_player = Player(user=nann, record=record, kaze="남", point=nann_score) nann_player.save() sha_player = Player(user=sha, record=record, kaze="서", point=sha_score) sha_player.save() pei_player = Player(user=pei, record=record, kaze="북", point=pei_score) pei_player.save() return HttpResponseRedirect("/submit_record")
def submit_record_proc(request): try: tonn_username = request.POST['tonn_username'] nann_username = request.POST['nann_username'] sha_username = request.POST['sha_username'] pei_username = request.POST['pei_username'] tonn_score = int(request.POST['tonn_score']) nann_score = int(request.POST['nann_score']) sha_score = int(request.POST['sha_score']) pei_score = int(request.POST['pei_score']) match_type = int(request.POST['match_type']) except: return HttpResponse("Invalid inputs..."); try: extra_point = int(request.POST['extra_point']) except KeyError: extra_point = 0 try: replay_url = request.POST['replay_url'] if not replay_url: replay_url = None except KeyError: replay_url = None # validate point inputs total = tonn_score + nann_score + sha_score + pei_score + extra_point if total % 10000 or total % 4: return HttpResponse("Invalid points..."); # create record record = Record(extra_point=extra_point, match_type=match_type, replay_url=replay_url) record.save() # get users tonn = get_user_from_name(tonn_username) nann = get_user_from_name(nann_username) sha = get_user_from_name(sha_username) pei = get_user_from_name(pei_username) if not tonn or not nann or not sha or not pei: return HttpResponse("Invalid users..."); # create player tonn_player = Player(user=tonn, record=record, kaze="동", point=tonn_score) tonn_player.save() nann_player = Player(user=nann, record=record, kaze="남", point=nann_score) nann_player.save() sha_player = Player(user=sha, record=record, kaze="서", point=sha_score) sha_player.save() pei_player = Player(user=pei, record=record, kaze="북", point=pei_score) pei_player.save() return HttpResponseRedirect("/submit_record")
def test_cannot_save_duplicate_records(self): pack = Pack.objects.create() Record.objects.create(text='dup', pack=pack) # with self.assertRaises(ValidationError): # IntegrityError 错误, 而不是 ValidationError 错误 with self.assertRaises(IntegrityError): dup_record = Record(text='dup', pack=pack) # dup_record.full_clean() # Django 把 unique_together 约束添加到数据库中,而不是应用层 # 所以要测 save 方法 dup_record.save()
def record_entry(self, lifter): cleaned_data = self.cleaned_data entry = Entry(**{field: cleaned_data.get(field) for field in self.entry_fields}) record = Record(**{field: cleaned_data.get(field) for field in self.record_fields}) record.date_completed = datetime.datetime.today() record.lifter = lifter record.save() entry.time_posted = datetime.datetime.now() entry.lifter = lifter entry.record = record entry.save()
def homePost(request, text_id): github_login, twitter_login, facebook_login, google_login = get_account( request) if request.method == 'POST': innput = get_object_or_404(Input, pk=text_id) temp_accuracy = 0.0 total = innput.happy + innput.sad + innput.stupefied + innput.angry + innput.others + 1 if request.POST.get('expression') == "1": innput.happy += 1 temp_accuracy = innput.happy / total elif request.POST.get('expression') == "2": innput.sad += 1 temp_accuracy = innput.sad / total elif request.POST.get('expression') == "3": innput.stupefied += 1 temp_accuracy = innput.stupefied / total elif request.POST.get('expression') == "4": innput.angry += 1 temp_accuracy = innput.angry / total elif request.POST.get('expression') == "5": innput.others += 1 temp_accuracy = innput.others / total innput.save() user = User.objects.get(pk=request.user.pk) record = Record.objects.filter(user=request.user) print("RECORD:::: ") print(record) if not record: record = Record(user=user) record.save() record = Record.objects.get(user_id=user.id) record.total_tags += 1 record.total_accuracy = Decimal( record.total_accuracy) + Decimal(temp_accuracy) record.accuracy = Decimal(record.total_accuracy) / Decimal( record.total_tags) record.accuracy = Decimal(record.accuracy) * Decimal(100.0) record.save() else: pass random_text = Input.objects.order_by('?')[0] return render( request, 'index.html', { 'texts': random_text, 'github_login': github_login, 'twitter_login': twitter_login, 'facebook_login': facebook_login, 'google_login': google_login })
def test_06_include_budget_with_records(self): budget = Budget( user=self.user, amount=100, tags_type='INCL', start_date=datetime.date(2016, 7, 1), ) budget.tags = ['books'] budget.save() # add record record = Record(user=self.user, transaction_type='EXP', amount='10') record.tags = ['books', 'cafe'] record.save() self.assertEqual(budget.spent, 10) self.assertEqual(budget.left, 90) self.assertEqual(budget.left_average_per_day, Decimal('4.50')) self.assertEqual(budget.average_per_day, Decimal('3.22'))
def record_init(): f = open('raw_data').readlines() f.pop(0) r_list=[] lineno = 0 for line in f: lineno += 1 try: line = line.strip().split(',') record = Record() record.country = int(line[1]) record.age = int(line[2]) record.gender = int(line[3]) record.education = int(line[4]) record.suggested_priority = line[6] b = BitString.objects.filter(bit_string=line[5]) if b: record.bit_string = b[0] r_list.append(record) if len(r_list) >= 500: info_logger.info('save 500') Record.objects.bulk_create(r_list) r_list=[] except Exception,e: if r_list: Record.objects.bulk_create(r_list) r_list=[] error_logger.error(str(lineno))
def test_save_record_S(self): """Save a S type call record""" _srecord = Record() _srecord.timestamp = datetime.datetime.strptime( "2018-08-26T15:07:10+0000", "%Y-%m-%dT%H:%M:%S%z") _srecord.source = '51992657100' _srecord.destination = '5133877079' _srecord.call_type = 'S' _srecord.call_id = '1' _srecord.save() self.assertEquals(Record.objects.filter(call_id=1).count(), 1)
def test_save_record_Not_E_or_S(self): """Save a X type call record Expect fail (NotFound exception) """ _srecord = Record() _srecord.timestamp = datetime.datetime.strptime( "2018-08-26T15:07:10+0000", "%Y-%m-%dT%H:%M:%S%z") _srecord.source = '51992657100' _srecord.destination = '5133877079' _srecord.call_type = 'X' _srecord.call_id = '1' self.assertRaises(ValidationError, lambda: _srecord.save())
def test_save_record_S(self): """Save a S type call record with same source and destination Expect fail (ValidationError exception) """ _srecord = Record() _srecord.timestamp = datetime.datetime.strptime( "2018-08-26T15:07:10+0000", "%Y-%m-%dT%H:%M:%S%z") _srecord.source = '51992657100' _srecord.destination = '51992657100' _srecord.call_type = 'S' _srecord.call_id = '1' self.assertRaises(ValidationError, lambda: _srecord.save())
def record_entry(self, lifter): cleaned_data = self.cleaned_data entry = Entry( **{field: cleaned_data.get(field) for field in self.entry_fields} ) record = Record( **{field: cleaned_data.get(field) for field in self.record_fields} ) record.date_completed = datetime.datetime.today() record.lifter = lifter record.save() entry.time_posted = datetime.datetime.now() entry.lifter = lifter entry.record = record entry.save()
def _generate_record(self, user: User, source_code: str, compiler: str, problem: Problem, result: Result) -> Record: """Generate record from problem and source code.""" accepted_flag = all(map(lambda res: res == 0, result.results)) record = Record( user=user, problem=problem, compiler=compiler, source_code=source_code, accepted_flag=accepted_flag, # TODO Add running time and memory cost # running_time = models.DurationField(editable=False) # memory_cost = models. ... ) # Add result for per test_case if result.is_compilation_error(): self._add_ce_result(record) else: self._add_results(record, result.results, problem.testcase_set.all()) return record
def post(self, request): # Iff you can't do it pretty, do it ugly. My god I am sorry. # https://docs.djangoproject.com/en/dev/ref/models/instances/#django.db.models.Model data = json.loads(request.raw_post_data) logging.warning("Post contains: %s" % str(data)) record = Record(user='******') record.save() # Begin the for loop of death metric_type = data.keys() logging.warning('Keys are: %s' % metric_type) for m in metric_type: logging.warning(m) if m is None: return redirect('/') if m == 'Weight': logging.warning("Creating weight record") value = data[m]['value'] time_measured = data[m]['time_measured'] if all([value, time_measured]): time_measured = datetime.datetime.strptime(time_measured, '%m/%d/%Y') metric = WeightMeasurement(record=record, value=value, time_measured=time_measured) metric.save() return redirect('/') if m == 'Body Fat': value = data[m].get('value', None) time_measured = data[m].get('time_measured', None) if all([value, time_measured]): metric = BodyFatMeasurement(record=record, value=value, time_measured=time_measured) metric.save() return redirect('/') if m == 'Body Size': value = data[m].get('value', None) time_measured = data[m].get('time_measured', None) body_part = data[m].get('body_part', None) if all([value, time_measured, body_part]): metric = BodyFatMeasurement(record=record, value=value, body_part=body_part, time_measured=time_measured) metric.save() return redirect('/') if m == 'Max Lift': value = data[m].get('value', None) time_measured = data[m].get('time_measured', None) lift = request.POST[m].get('lift', None) if all([value, time_measured, lift]): metric = MaxLiftMeasurement(record=record, value=value, lift=lift, time_measured=time_measured) metric.save() return redirect('/') if m == 'Resting Heart Rate': value = request.POST[m].get('value', None) time_measured = request.POST[m].get('time_measured', None) if all([value, time_measured]): metric = RestingHRMeasurement(record=record, value=value, time_measured=time_measured) metric.save() return redirect('/') if m == 'Sleep': hours = request.POST[m].get('value', None) time_measured = request.POST[m].get('time_measured', None) quality = request.Post.POST[m].get('quality', None) if all([time_measured, hours, quality]): metric = SleepMeasurement(record=record, hours=hours, quality=quality, time_measured=time_measured) metric.save() return redirect('/') else: return redirect('/')
def test_cannot_save_empty_records(self): pack = Pack.objects.create() record = Record(pack=pack, text='') with self.assertRaises(ValidationError): record.save() record.full_clean()
def test_record_is_related_to_pack(self): pack = Pack.objects.create() record = Record() record.pack = pack record.save() self.assertIn(record, pack.record_set.all())
def test_save_record_E_lower_time_S(self): """Save a E type call record with timestamp lower than the S type call origin Expect fail (ValidationError exception) """ _srecord = Record() _srecord.timestamp = datetime.datetime.strptime( "2018-08-26T15:07:10+0000", "%Y-%m-%dT%H:%M:%S%z") _srecord.source = '51992657100' _srecord.destination = '5133877079' _srecord.call_type = 'S' _srecord.call_id = '1' _srecord.save() _ierecord = Record() _ierecord.timestamp = datetime.datetime.strptime( "2018-08-26T14:16:13+0000", "%Y-%m-%dT%H:%M:%S%z") _ierecord.call_type = 'E' _ierecord.call_id = '1' self.assertRaises(ValidationError, lambda: _ierecord.save()) self.assertNotEquals(Record.objects.filter(call_id=1).count(), 2)
def test_save_record_E_without_S_origin(self): """Save a E type call record without a S origin Expect fail (NotFound exception) """ _srecord = Record() _srecord.timestamp = datetime.datetime.strptime( "2018-08-26T15:07:10+0000", "%Y-%m-%dT%H:%M:%S%z") _srecord.source = '51992657100' _srecord.destination = '5133877079' _srecord.call_type = 'S' _srecord.call_id = '1' _srecord.save() _ierecord = Record() _ierecord.timestamp = datetime.datetime.strptime( "2018-08-26T16:16:13+0000", "%Y-%m-%dT%H:%M:%S%z") _ierecord.call_type = 'E' _ierecord.call_id = '2' self.assertRaises(NotFound, lambda: _ierecord.save()) self.assertNotEquals(Record.objects.filter(call_id=1).count(), 2)
def setUp(self): self.client = APIClient() # Create a Bill of last month for tests _start_call = Record() _start_call.timestamp = datetime.datetime.strptime( "2018-08-26T15:07:10+0000", "%Y-%m-%dT%H:%M:%S%z") _start_call.source = '51992657100' _start_call.destination = '5133877079' _start_call.call_type = 'S' _start_call.call_id = '1' _start_call.save() _end_call = Record() _end_call.timestamp = datetime.datetime.strptime( "2018-08-26T15:17:10+0000", "%Y-%m-%dT%H:%M:%S%z") _end_call.call_type = 'E' _end_call.call_id = '1' _end_call.save() _start_period = _start_call.timestamp _end_period = _end_call.timestamp _bill = Bill() _bill.subscriber = '51992657100' _bill.period = last_month_string() _bill.save() _bill_record = BillRecord() _bill_record.bill_origin = _bill _bill_record.start_call = _start_call _bill_record.end_call = _end_call _bill_record.call_price = _bill.calculate_charge( _start_period, _end_period ) _bill_record.save()
def test_call_bill_period(self): """Save a call pair record and verify his bill period Should have to be the end call record date period """ _srecord = Record() _srecord.timestamp = datetime.datetime.strptime( "2018-07-26T15:07:10+0000", "%Y-%m-%dT%H:%M:%S%z") _srecord.source = '51992657100' _srecord.destination = '5133877079' _srecord.call_type = 'S' _srecord.call_id = '1' _srecord.save() _erecord = Record() _erecord.timestamp = datetime.datetime.strptime( "2018-08-01T16:16:13+0000", "%Y-%m-%dT%H:%M:%S%z") _erecord.call_type = 'E' _erecord.call_id = '1' _erecord.save() self.assertEquals( Bill.objects.filter(subscriber='51992657100', period='082018').count(), 1)
def test_save_record_S_already_closed(self): """Save a S type call record for a already created S call record with same call_id Expect fail (ValidationError exception) """ _srecord_1 = Record() _srecord_1.timestamp = datetime.datetime.strptime( "2018-08-26T15:07:10+0000", "%Y-%m-%dT%H:%M:%S%z") _srecord_1.source = '51992657100' _srecord_1.destination = '5133877079' _srecord_1.call_type = 'S' _srecord_1.call_id = '1' _srecord_1.save() _srecord_2 = Record() _srecord_2.timestamp = datetime.datetime.strptime( "2018-08-28T15:07:10+0000", "%Y-%m-%dT%H:%M:%S%z") _srecord_2.source = '51992657100' _srecord_2.destination = '51994355677' _srecord_2.call_type = 'S' _srecord_2.call_id = '1' self.assertRaises(ValidationError, lambda: _srecord_2.save()) self.assertNotEquals(Record.objects.filter(call_id=1).count(), 2)
def save(request, app_id, source): app = App.objects.get(id=app_id) record_object = Record(campaign=app.campaign) if (request.POST.get('name')): record_object.name = request.POST.get('name') if (request.POST.get('lastname')): record_object.lastname = request.POST.get('lastname') if (request.POST.get('email')): record_object.email = request.POST.get('email') if (request.POST.get('id')): record_object.identification = request.POST.get('id') if (request.POST.get('cellphone')): record_object.cellphone = request.POST.get('cellphone') if (request.POST.get('year_of_birth')): record_object.year_of_birth = request.POST.get('year_of_birth') if (request.POST.get('birth_month')): record_object.birth_month = request.POST.get('birth_month') if (request.POST.get('day_of_birth')): record_object.day_of_birth = request.POST.get('day_of_birth') record_object.save() record_app = App_record(app=app, record=record_object) try: source_obj = App_source.objects.get(app=app, token=source) except: if source == 'facebook': source_obj = App_source(app=app, name="Facebook", token='facebook') source_obj.save() else: try: source_obj = App_source.objects.get(app=app, token='direct') except: source_obj = App_source(app=app, name="Directo", token='direct') source_obj.save() record_app.source = source_obj record_app.save() return HttpResponse(1)
def post(self, request): # 上传的文件都在request.FILES里面获取,所以这里要多传一个这个参数 excel_form = UploadExcelForm(request.POST, request.FILES) next_url = request.GET.get('next', '') if excel_form.is_valid(): excel_file = excel_form.cleaned_data["excel_file"] case_file = File() case_file.excel_file = excel_file case_file.save() excel_file_name = os.path.join(MEDIA_ROOT, case_file.excel_file.name) wb = openpyxl.load_workbook(excel_file_name) sheet = wb.get_active_sheet() for i in range(1, sheet.max_row): record = Record() record.asin = sheet.cell(row=i + 1, column=1).value record.c_price = sheet.cell(row=i + 1, column=2).value record.purchase_cost = sheet.cell(row=i + 1, column=3).value record.product_profit = sheet.cell(row=i + 1, column=4).value record.product_upload_time = sheet.cell(row=i + 1, column=5).value # record.brush_number = sheet.cell(row=i + 1, column=6).value record.sale_30_number = sheet.cell(row=i + 1, column=6).value record.sale_7_number = sheet.cell(row=i + 1, column=7).value record.record_src = sheet.cell(row=i + 1, column=8).value record.now_score = sheet.cell(row=i + 1, column=9).value record.now_review_number = sheet.cell(row=i + 1, column=10).value review_type = sheet.cell(row=i + 1, column=11).value record.review_type = review_type if review_type == "留评": record.direct_review = '0' record.free_review_number = '0' record.feedback = '0' elif review_type == "直评": record.review_number = '0' record.free_review_number = '0' record.feedback = '0' elif review_type == "免评": record.review_number = '0' record.direct_review = '0' record.feedback = '0' elif review_type == "feedback": record.review_number = '0' record.direct_review = '0' record.free_review_number = '0' record.user = request.user record.save() messages.add_message(request, messages.SUCCESS, "文件上传成功", extra_tags='success') return redirect(next_url) else: messages.add_message(request, messages.ERROR, "表单验证错误", extra_tags='danger') return redirect(next_url)
def test_default_text(self): record = Record() self.assertEqual(record.text, '')
def test_can_save_same_record_to_diffrent_pack(self): pack1 = Pack.objects.create() pack2 = Pack.objects.create() Record.objects.create(pack=pack1, text='dup') record = Record(pack=pack2, text='dup') record.full_clean() # should not raise
def test_string_representation(self): record = Record(text='成长记录') self.assertEqual(str(record), '成长记录')
def test_many_subscribers_bills_in_same_month(self): # loop for create 40 subscribers _total_subs = 40 while _total_subs > 0: _srecord = Record() _srecord.timestamp = datetime.datetime.strptime( "2018-07-26T15:07:10+0000", "%Y-%m-%dT%H:%M:%S%z") _srecord.source = '519926571%s' % str(_total_subs) _srecord.destination = '513387707%s' % str(_total_subs) _srecord.call_type = 'S' _srecord.call_id = _total_subs _srecord.save() _erecord = Record() _erecord.timestamp = datetime.datetime.strptime( "2018-08-01T16:16:13+0000", "%Y-%m-%dT%H:%M:%S%z") _erecord.call_type = 'E' _erecord.call_id = _total_subs _erecord.save() _total_subs = _total_subs - 1 # loop for verify the 40 created bills _total_subs = 40 while _total_subs > 0: self.assertEquals( Bill.objects.filter(subscriber='519926571%s' % str(_total_subs), period='082018').count(), 1) _total_subs = _total_subs - 1
def _add_record(self, user, tags_bits=[]): record = Record(user=user, transaction_type='EXP', amount=10) for bit in tags_bits: record.tags.set_bit(bit, True) record.save() return record
def test_bill_update(self): """ Test a Bill update (new Bill record) """ _start_call = Record() _start_call.timestamp = datetime.datetime.strptime( "2018-08-26T15:07:10+0000", "%Y-%m-%dT%H:%M:%S%z") _start_call.source = '51992657100' _start_call.destination = '5133877079' _start_call.call_type = 'S' _start_call.call_id = '1' _start_call.save() _end_call = Record() _end_call.timestamp = datetime.datetime.strptime( "2018-08-26T15:17:10+0000", "%Y-%m-%dT%H:%M:%S%z") _end_call.call_type = 'E' _end_call.call_id = '1' _end_call.save() _start_period = _start_call.timestamp _end_period = _end_call.timestamp _bill = Bill() _bill.subscriber = '51992657100' _bill.period = '072018' _bill.save() _bill_record = BillRecord() _bill_record.bill_origin = _bill _bill_record.start_call = _start_call _bill_record.end_call = _end_call _bill_record.call_price = _bill.calculate_charge( _start_period, _end_period) _bill_record.save() self.assertEquals( BillRecord.objects.filter(bill_origin=_bill).count(), 1)
def test_save_record_E_already_closed(self): """Save a E type call record for a already ended call pair Expect fail (ValidationError exception) """ _srecord = Record() _srecord.timestamp = datetime.datetime.strptime( "2018-08-26T15:07:10+0000", "%Y-%m-%dT%H:%M:%S%z") _srecord.source = '51992657100' _srecord.destination = '5133877079' _srecord.call_type = 'S' _srecord.call_id = '1' _srecord.save() _ierecord = Record() _ierecord.timestamp = datetime.datetime.strptime( "2018-08-26T16:16:13+0000", "%Y-%m-%dT%H:%M:%S%z") _ierecord.call_type = 'E' _ierecord.call_id = '1' _ierecord.save() _ierecord_2 = Record() _ierecord_2.timestamp = datetime.datetime.strptime( "2018-08-26T16:26:13+0000", "%Y-%m-%dT%H:%M:%S%z") _ierecord_2.call_type = 'E' _ierecord_2.call_id = '1' self.assertRaises(ValidationError, lambda: _ierecord_2.save()) self.assertNotEquals(Record.objects.filter(call_id=1).count(), 3)
def addrecord_android(request): if request.method == 'POST': # form = RecordForm(request.POST) # if form.is_valid(): reqJson = simplejson.loads(request.raw_post_data) record = Record() record.user = request.user record.companyname_cn = reqJson['companyname_cn'] record.city = reqJson['city'] record.post = reqJson['post'] # record.date = reqJson['date'] # record.time = reqJson['time'] record.date_time = reqJson['dateTime'] record.location = reqJson['location'] record.state = reqJson['state'] record.orig_record_id = reqJson['orig_record_id'] # record.post = reqJson['post'] try: record.save() except Exception,e: print str(e) return HttpResponse(str(e)) else: return HttpResponse("added")