def entry_edit(request, pk): post = get_object_or_404(Entry, pk=pk) if request.method == "POST": form = entryForm(request.POST, instance=post) if form.is_valid(): entry = form.save(commit=False) entry.save() return redirect('entry_detail', pk=entry.pk) else: form = entryForm(instance=post) return render(request, 'Database/entry_edit.html', {'form': form})
def entry_new(request, pk): if request.method == "POST": form = entryForm(request.POST) if form.is_valid(): entry = form.save(commit=False) entry.dictionary = Dictionary.objects.get(id=pk) entry.save() #print >> sys.stderr, "saved word: ", entry.word return redirect('entry_detail', pk=entry.pk) else: form = entryForm() return render(request, 'Database/entry_edit.html', {'form': form})
def entry_detail(request, pk): form = entryForm() entry = Entry.objects.get(id=pk) return render(request, 'Database/entry_detail.html', { 'form': form, 'entry': entry })
def entry_list2(request): file = request.FILES['myfile'] # this is my file contentOfFile = file.read() form = entryForm() entries = [] try: #print("FILE:", contentOfFile, file=sys.stderr) # print >> sys.stderr, "FILE: ", contentOfFile logging.info('File: ', contentOfFile) data = simplejson.loads(contentOfFile) except ValueError: # messages.error(request, "Something wrong with JSON format") messages.warning(request, 'Wrong JSON format.') # return JsonResponse({'status': 'false', 'message': "didnt parse a correct JSON file"}, status=500) # return render(request, 'Database/index.html') return HttpResponseRedirect('/Database/') else: # contentOfFile.encode('utf-8') # print >> sys.stderr, "data: ", data #d = Dictionary.objects.create(language="test") #d.save() for item in data: #print >> sys.stderr, "item: ", item logging.info('item: ', item) # print >> sys.stderr, item['word'] e = Entry.objects.create(dictionary=d) for key in item: #print >> sys.stderr, key, ": ", item[key] logging.info('key: ', item[key]) if (key == 'database'): d = Entry.objects.get_or_create(pk=item[key]) e.__setattr__(key, d) else: e.__setattr__(key, item[key]) e.get_HFW() e.save() #print >> sys.stderr, e.word logging.info(e.word) e.refresh_from_db() #print >> sys.stderr, e.get_entry() logging.info(e.get_entry()) entries = Entry.objects.filter(dictionary__language='test') return render(request, 'Database/entry_list.html', { 'file': file, 'entries': entries, 'form': form, 'id': d.pk })
def wordout_add_distractor(request, rpk, gpk): #print >> sys.stderr, rpk, gpk gametype = GameType.objects.get(pk=gpk) rule = LinguisticRule.objects.get(pk=rpk) if request.method == 'POST': distractor = request.POST.get('rules') return redirect('wordout_add_question', rpk=rpk, gpk=gpk, dpk=distractor) rform = rulesForm() lform = linguisticsRForm(instance=rule) wform = entryForm() entries = list() entries,message = get_entries_that_match(instance=rule) num_entries = len(entries) messages.warning(request, message) return render(request, 'Wordout/wordout_add_distractor.html', {'gametype': gametype, 'rule': rule, 'rform': rform, 'lform': lform, 'entries': entries, 'wform': wform,'num_entries': num_entries })
def wordout_add_question(request,rpk,gpk,dpk): #print >> sys.stderr, rpk, gpk, dpk gametype = GameType.objects.get(pk=gpk) rule = LinguisticRule.objects.get(pk=rpk) distractor = LinguisticRule.objects.get(pk=dpk) if request.method == 'POST': #print >> sys.stderr, request.method question = request.POST.get('question') name = request.POST.get('name') association = AssociationTable.objects.create() association.name = name association.gameType = gametype association.linguistic_rule_input = rule association.linguistic_rule_output = distractor association.question = question association.save() #print >> sys.stderr, association return redirect('wordout_print', pk=association.pk) rform = rulesForm() lform = linguisticsRForm(instance=rule) wform = entryForm() entries = list() entries, message1 = get_entries_that_match(instance=rule) num_entries = len(entries) distractors = list() distractors, message2 = get_entries_that_match(instance=distractor) num_distractors = len(distractors) messages.warning(request, message1+message2) return render(request, 'Wordout/wordout_add_question.html', {'gametype': gametype, 'rule': rule, 'rform': rform, 'lform': lform, 'entries': entries, 'wform': wform,'num_entries': num_entries, 'distractor': distractor, 'distractors': distractors, 'num_distractors': num_distractors })
def entry_list(request): file = request.FILES['myfile'] # this is my file contentOfFile = file.read() form = entryForm() entries = [] created = 0 created_total = 0 try: print >> sys.stderr, "FILE: ", contentOfFile data = simplejson.loads(contentOfFile) except ValueError: # messages.error(request, "Something wrong with JSON format") messages.warning(request, 'Wrong JSON format.') # return JsonResponse({'status': 'false', 'message': "didnt parse a correct JSON file"}, status=500) # return render(request, 'Database/index.html') return HttpResponseRedirect('/Database/') else: # contentOfFile.encode('utf-8') #print >> sys.stderr, "data: ", data logging.info('data:', data) #d = Dictionary.objects.create(language="test") #d.save() #print >> sys.stderr, "first item: ", data[0] logging.info("first item: ", data[0]) #print >> sys.stderr, "first dictionary: ", data[0]['dictionary'] #(d,created) = Dictionary.objects.get_or_create(id = data[0]['dictionary']) all_dicts = Dictionary.objects.all() for d in all_dicts: d.delete() d = Dictionary.objects.create() #print >> sys.stderr, "dictionary name: ", d.language logging.info("dictionary name: ", d.language) #print >> sys.stderr, "Needed to create a new dictionary?: ", created logging.info("Needed to create a new dictionary?: ", created) for item in data: # print >> sys.stderr, "item: ", item logging.info(sys.stderr, "item: ", item) #print >> sys.stderr, "item.id: ", item['id'] # (e,created) = Entry.objects.get_or_create(id = item['id'],dictionary=d) e = Entry.objects.create() e.dictionary = d e.__setattr__('word', item['Word']) e.__setattr__('gr', item['gr']) e.__setattr__('ph', item['ph']) e.__setattr__('CVC', item['CVC']) e.save() e.get_HFW() e.save() #print >> sys.stderr, "created: ", created created_total += created #print >> sys.stderr, "new entries created: ", created_total entries = Entry.objects.filter(dictionary=d.pk) #print >> sys.stderr, "Entries: ", entries num_entries = len(entries) return render( request, 'Database/entry_list.html', { 'file': file, 'entries': entries, 'form': form, 'd': d, 'id': d.pk, 'num_entries': num_entries })