def test_saving_and_retrieving_items(self): word_ = Word() word_.save() first_item = Item() first_item.text = 'kaizen' first_item.word = word_ first_item.save() second_item = Item() second_item.text = 'genki' second_item.word = word_ second_item.save() saved_words = Word.objects.first() self.assertEqual(saved_words, word_) saved_items = Item.objects.all() self.assertEqual(2, saved_items.count()) first_saved_item = saved_items[0] second_saved_item = saved_items[1] self.assertEqual(first_saved_item.text, 'kaizen') self.assertEqual(second_saved_item.text, 'genki') self.assertEqual(first_saved_item.word, word_) self.assertEqual(second_saved_item.word, word_)
def index(request): if request.user.is_anonymous() or request.method != 'POST': return HttpResponseRedirect('/search/?group=words') form = WordForm(request.POST) if form.is_valid(): word = Word( word=form.cleaned_data['word'], creator=request.user ) word.save() if request.user.is_words_created_public and request.user.is_profile_public: visibility = ActivityVisibilityChoices.PUBLIC elif request.user.is_words_created_public and not request.user.is_profile_public: visibility = ActivityVisibilityChoices.LIMITED else: visibility = ActivityVisibilityChoices.PRIVATE db.activities.insert({ 'user': { 'username': request.user.username, 'id': request.user.id, 'facebook_id': request.user.facebook_id, }, 'type': ActivityTypeChoices.CREATED_WORD, 'word': word.word, 'created_at': datetime.utcnow(), 'visibility': visibility }) return HttpResponseRedirect(reverse('words:word', args=(word.word,))) return HttpResponseRedirect('/search/?group=words')
def add(request): if request.POST.get('word'): word_text = request.POST.get('word') if not Word.objects.filter(text = word_text): word = Word(text=request.POST.get('word')) word.save() context = get_context(request) return HttpResponse(json.dumps(context)) else: return HttpResponseBadRequest("bad request")
def post(self, request, *args, **kwargs): username = kwargs.get('username') # TODO: вынести обработку в forms.py en = request.POST['english'] ru = request.POST['russian'] if len(en) != 0 or len(ru) != 0: w = Word(english=en, russian=ru, pub_date=timezone.now(), user=request.user) w.save() return redirect('users:account', username = username)
def handle(self, *args, **options): Word.objects.all().delete() files_list = [ f for f in listdir(settings.STATIC_AUDIO) if isfile(join(settings.STATIC_AUDIO, f)) ] for file_path in files_list: new_word = Word( word=file_path.split('.')[0], transcription='[...]', audio_path=os.path.join(settings.STATIC_AUDIO, file_path), ) new_word.save()
def test_word_guess_category(): """ Should guess and set the word category """ word = Word() word.word = 'word' word.save() assert word.category == 'word' word = Word() word.word = 'come up with' word.save() assert word.category == 'phrasal_verb' word = Word() word.word = 'get over' word.save() assert word.category == 'phrasal_verb' word = Word() word.word = 'to put it mildly' word.save() assert word.category == 'phrase'
def populate(): f = open("/home/mrunmayi/wordify-new/wordsadd.txt", "r") wrd = True str1 = "" count = 0 finalcount = 0 l1 = [] for line in f: if (line != "\n") and wrd == True: word = line.split("\n")[0] # print word if Word.objects.filter(word=word).exists(): print word, "aahe" else: obj = Word(word=word) obj.save() print word, "add zala" count += 1 finalcount += 1 l1.append(word) if (line == "\n") and wrd == True: pkey = 0 wrd = False continue if line != "\n" and wrd == False: line = line.split("; ") str1 = "" for i in range(len(line)): str1 = str1 + "\n" + str(i + 1) + ")" + str(line[i]) print pkey, str1 obj = Word.objects.get(word=l1[pkey]) obj.mean = str1 obj.save() pkey += 1 if line == "\n" and wrd == False: wrd = True count = 0 l1 = [] continue
def add_word(request): try: w_obj = json.loads(request.POST['w_obj']) # first add word object w = Word(spelling = w_obj['spelling'], level = w_obj['level']) w.save() #add meaning for m in w_obj['meanings']: w.meaning_set.create(text = m['text'], pos = m['pos'], example = m['example']) #add derivatives for d in w_obj['derivatives']: deriv = w.derivative_set.create(spelling = d['spelling']) for m in d['meanings']: deriv.meaning_set.create(text = m['text'], pos = m['pos'], example = m['example']) #now synonyms [w.synonym_set.create(text=syn) for syn in w_obj['synonyms']] #antonyms [w.antonym_set.create(text=syn) for syn in w_obj['antonyms']] def get_or_default(lst, i, default): try: return lst[i].text except IndexError: return default return HttpResponse(json.dumps({'spelling': w.spelling, 'meaning': get_or_default(list(w.meaning_set.all()), 0, ''), 'id': w.id})) except json.decoder.JSONDecodeError: return HttpResponse("false")
def _save_data_to_db(word, spelling, raw_json): new_word = Word() new_word.value = word new_word.spelling = spelling new_word.raw_od_article = raw_json new_word.save()
def add_word(): w = Word() w.spelling = raw_input('::: word spelling ::: >> ') w.level = get_level('::: word level ::: >> ') #get meanings meanings = [] def meaning_prompt(lst, spelling): if len(lst) == 0: return 'add a meaning to %s? >> ' % spelling else: return 'add another meaning to %s? >> ' % spelling while(get_bool(meaning_prompt(meanings, w.spelling))): meanings.append(get_meaning('::: POS ::: >> ', '::: meaning ::: >> ', '::: example ::: >> ')) #get derivatives derivatives = [] def derivative_prompt(): if len(derivatives) == 0: return 'add a derivative to %s >> ' % w.spelling else: return 'add another derivative to %s >> ' % w.spelling while(get_bool(derivative_prompt())): d = Derivative() d.spelling = raw_input('::: derivative spelling ::: >> ') d_meanings = [] while(get_bool(meaning_prompt(d_meanings, d.spelling))): d_meanings.append(get_meaning('::: POS ::: >> ', '::: meaning ::: >> ', '::: example ::: >> ')) derivatives.append((d, d_meanings)) # confirm adding word print '' print '%s:\nlevel %d\n' % (w.spelling, w.level) for m in meanings: print_meaning(m.pos, m.text, m.example, ' ') for d, ms in derivatives: prefix = ' ' print '%s%s:\n' % (prefix, d.spelling) for m in ms: print_meaning(m.pos, m.text, m.example, 2*prefix) if get_bool('add this word to the database? >> '): w.save() for m in meanings: w.meaning_set.add(m) for d, ms in derivatives: d.parent = w d.save() for m in ms: d.meaning_set.add(m) w.derivative_set.add(d) print '%s added to database successfuly\n' % w.spelling
line = f.readline() # 每次读取一行 lst = line.split() # 切分成列表 size = len(lst) if not line: break # 至少应含有两项:名称和释义 # 找到第一个释义项的位置,释义一定含有"."因为要指明词汇类型,如"v." k = 0 for k in range(size): if lst[k].find(".") != -1: break # 从第一个释义项之前的所有项合在一起是name name = "" for i in range(k): if i != 0: name += " " name += lst[i] # 从第一个释义项到结尾合在一起是explian explain = "" for i in range(k, size): if i != k: explain += " " explain += lst[i] # 保存到数据库 word = Word() word.name = name word.explain = explain word.save() print("生成完成,见words_word表")