def create_entry_from_dict(data): p = Entry( address=data.get('address').decode('utf8'), email=data.get('email').decode('utf8'), phone=data.get('tlf').decode('utf8'), ) last_address_line = p.address.split(',')[-1] m = re.match('\W(\d{4})\W(.+)$', last_address_line) if m: try: postnr = Postnummer.objects.get(postnr=m.group(1)) place = m.group(2) if postnr.poststad.lower() == place.lower(): p.postnummer = postnr else: print("Expected place {}, got {} for {}." .format(postnr.poststad, place, p.address)) except Postnummer.DoesNotExist: print("Could not find postnr %s, for address %s" % (m.group(1), p.address)) if data['smth']: p.phone += " / %s" % data['smth'] name = data['name'].decode('utf8') if ',' in name: try: p.last_name, p.first_name = name.split(',') except ValueError: print("Couldn't split name %s" % name) p.shown_name = name else: p.shown_name = name return p
def on_incoming_message(request): if request.method == 'POST': try: data = json.loads(request.body) except: data = request.POST try: sender = data['sender'] stripped_text = data['stripped-text'] except: sender = None stripped_text = None if stripped_text is not None: try: user = User.objects.get(email=sender) except User.DoesNotExist: user = None if user is not None: user_tz = pytz.timezone(user.timezone) local_time = datetime.now(user_tz) todays_day = local_time.day todays_month = local_time.month todays_year = local_time.year try: todays_prompt = Prompt.objects.get( mail_day__day=todays_day, mail_day__month=todays_month, mail_day__year=todays_year) except Prompt.DoesNotExist: todays_prompt = None if todays_prompt is not None: try: entry_exists = Entry.objects.get( pub_date__day=todays_day, pub_date__month=todays_month, pub_date__year=todays_year, author=user) except Entry.DoesNotExist: entry_exists = None if entry_exists is None: entry = Entry(content=stripped_text, author=user, prompt=todays_prompt, pub_date=timezone.now()) entry.save() return HttpResponse('OK')
def api_putJSON(request): logger.info('function_call api_putJSON(request) ->') if request.POST: entry = Entry(id = request.POST.get('id'), json = request.POST.get('json')) entry.save() response = 'OK' else: response = 'No POST' return HttpResponse(response, content_type="application/json")
def create_entry_from_dict(self, data): postnr = data.pop('postnummer', None) pay_postnr = data.pop('pay_postnummer', None) p = Entry(**data) def getpostnr(postnr): if not postnr: return try: return Postnummer.objects.get(postnr=postnr) except Postnummer.DoesNotExist: print("Could not find postnr %s, for address %s" % (postnr, p.address)) p.postnummer = getpostnr(postnr) p.pay_postnummer = getpostnr(pay_postnr) return p
def bulk_insert_approach(self): batch_size = 500 objs = (Entry(name='Test %s' % i) for i in range(1000000)) while True: batch = list(islice(objs, batch_size)) if not batch: break Entry.objects.bulk_create(batch, batch_size)
def add_entry(request): data = _get_default_template_data(request) if not data['user']: return HttpResponseRedirect(users.create_login_url(request.path)) if request.method == "POST": form = EntryForm(request.POST) if form.is_valid(): data = form.cleaned_data instance = Entry(title=data['title'], content=data['content'], labels=data['labels'].split(' ')) instance.put() return HttpResponseRedirect("/entry/%s" % instance.key().id()) else: form = EntryForm() data['form'] = form data.update(csrf(request)) return render_to_response('edit.html', data)
def index(request): label = request.GET.get('label', '') entries = Entry.all() if label: entries.filter("labels =", label) entries.order('-created_date') data = _get_default_template_data(request) data['entries'] = entries return render_to_response('index.html', data)
def edit_entry(request, entry_id): data = _get_default_template_data(request) if not data['user']: return HttpResponseRedirect(users.create_login_url(request.path)) entry = Entry.get_by_id(long(entry_id)) if request.method == "POST": form = EntryForm(request.POST) if form.is_valid(): entry.title = form.cleaned_data['title'] entry.content = form.cleaned_data['content'] entry.put() return HttpResponseRedirect("/entry/%s/" % entry_id) else: form = EntryForm(initial={'title': entry.title, 'content': entry.content}) data['form'] = form data.update(csrf(request)) return render_to_response('edit.html', data)
def entry(request, entry_id): data = _get_default_template_data(request) data['entry'] = Entry.get_by_id(long(entry_id)) return render_to_response('entry.html', data)
def common_insert_approach(self): for i in range(100000): entry = Entry() entry.name = "Test {}".format(i) entry.save()