def test_erase(self): word1 = {constants.complained_word: "vasya", constants.reason: "typo", constants.word_to_replace: "petya"} word2 = {constants.complained_word: "kokoko", constants.reason: "not_a_noun"} request = webapp2.Request.blank('/abc/complain') request.body = "json={0}". \ format(json.dumps([word1, word2])) request.method = 'POST' request.get_response(main.app) request.get_response(main.app) request = webapp2.Request.blank('/admin/complain/cancel') request.method = 'POST' request.body = "word=vasya" len_before = ComplainedWord.query().count() response = request.get_response(main.app) self.assertEqual(response.status_int, 200) len_after = ComplainedWord.query().count() self.assertEqual(len_before, len_after + 2) request = webapp2.Request.blank('/admin/complain/clear') request.method = 'POST' response = request.get_response(main.app) self.assertEqual(ComplainedWord.query().count(), 0)
def test_erase(self): word1 = { constants.complained_word: "vasya", constants.reason: "typo", constants.word_to_replace: "petya" } word2 = { constants.complained_word: "kokoko", constants.reason: "not_a_noun" } request = webapp2.Request.blank('/abc/complain') request.body = "json={0}". \ format(json.dumps([word1, word2])) request.method = 'POST' request.get_response(main.app) request.get_response(main.app) request = webapp2.Request.blank('/admin/complain/cancel') request.method = 'POST' request.body = "word=vasya" len_before = ComplainedWord.query().count() response = request.get_response(main.app) self.assertEqual(response.status_int, 200) len_after = ComplainedWord.query().count() self.assertEqual(len_before, len_after + 2) request = webapp2.Request.blank('/admin/complain/clear') request.method = 'POST' response = request.get_response(main.app) self.assertEqual(ComplainedWord.query().count(), 0)
def post(self, *args, **kwargs): words = json.loads(self.request.get("json")) for word in words: g_word = GlobalDictionaryWord.get(word["word"]) if not g_word or g_word.tags.find("-deleted") >= 0: continue current_word = ComplainedWord(device=self.device_key, word=word["word"], reason=word["reason"]) if "replace_word" in word: current_word.replacement_word = \ word["replace_word"] current_word.put()
def get(self, *args, **kwargs): cnt = 0 words = [] for word in ComplainedWord.query(): words.append(WordRow(word, cnt)) cnt += 1 self.draw_page('complained_words', quantity=len(words), words=words)
def test_post(self): word1 = {constants.complained_word: "vasya", constants.reason: "typo", constants.word_to_replace: "petya"} word2 = {constants.complained_word: "vasya", constants.reason: "not_a_noun"} len_before = ComplainedWord.query().count() request = webapp2.Request.blank('/abc/complain') request.body = "json={0}". \ format(json.dumps([word1, word2])) request.method = 'POST' request.get_response(main.app) response = request.get_response(main.app) # It is need to call it twice len_after = ComplainedWord.query().count() self.assertEqual(response.status_int, 200) self.assertEqual(len_after, len_before + 4)
def post(self, *args, **kwargs): data = self.request.get("word") word = ndb.Key(GlobalDictionaryWord, data).get() if word: if word.tags.find("-deleted") == -1: word.tags += "-deleted" word.put() ndb.delete_multi(ComplainedWord.query(ComplainedWord.word == data).fetch(keys_only=True))
def test_delete_from_global_dictionary(self): words = ["a", "b", "c", "d"] for i in words: GlobalDictionaryWord(word=i, id=i, tags="").put() ComplainedWord(word="c").put() ComplainedWord(word="c").put() ComplainedWord(word="d").put() request = make_request("/admin/complain/remove", "POST", True, 'word=c') response = request.get_response(main.app) self.assertEqual(response.status_int, 200) self.assertEqual(ComplainedWord.query().count(), 1) self.assertEqual(GlobalDictionaryWord.query().count(), 4) self.assertEqual(ndb.Key(GlobalDictionaryWord, "c").get().tags, "-deleted") ComplainedWord(word="c").put() response = request.get_response(main.app) self.assertEqual(ComplainedWord.query().count(), 1) self.assertEqual(GlobalDictionaryWord.query().count(), 4) self.assertEqual(ndb.Key(GlobalDictionaryWord, "c").get().tags, "-deleted")
def post(self, *args, **kwargs): data = self.request.get("word") word = ndb.Key(GlobalDictionaryWord, data).get() if word: if word.tags.find("-deleted") == -1: word.tags += "-deleted" word.put() ndb.delete_multi( ComplainedWord.query(ComplainedWord.word == data).fetch( keys_only=True))
def test_post(self): word1 = { constants.complained_word: "vasya", constants.reason: "typo", constants.word_to_replace: "petya" } word2 = { constants.complained_word: "vasya", constants.reason: "not_a_noun" } len_before = ComplainedWord.query().count() request = webapp2.Request.blank('/abc/complain') request.body = "json={0}". \ format(json.dumps([word1, word2])) request.method = 'POST' request.get_response(main.app) response = request.get_response( main.app) # It is need to call it twice len_after = ComplainedWord.query().count() self.assertEqual(response.status_int, 200) self.assertEqual(len_after, len_before + 4)
def test_delete_from_global_dictionary(self): words = ["a", "b", "c", "d"] for i in words: GlobalDictionaryWord(word=i, id=i, tags="").put() ComplainedWord(word="c").put() ComplainedWord(word="c").put() ComplainedWord(word="d").put() request = make_request("/admin/complain/remove", "POST", True, 'word=c') response = request.get_response(main.app) self.assertEqual(response.status_int, 200) self.assertEqual(ComplainedWord.query().count(), 1) self.assertEqual(GlobalDictionaryWord.query().count(), 4) self.assertEqual( ndb.Key(GlobalDictionaryWord, "c").get().tags, "-deleted") ComplainedWord(word="c").put() response = request.get_response(main.app) self.assertEqual(ComplainedWord.query().count(), 1) self.assertEqual(GlobalDictionaryWord.query().count(), 4) self.assertEqual( ndb.Key(GlobalDictionaryWord, "c").get().tags, "-deleted")
def post(self, *args, **kwargs): deleted_word = self.request.get("word") ndb.delete_multi(ComplainedWord.query(ComplainedWord.word == deleted_word).fetch(offset=1, keys_only=True))
def post(self, *args, **kwargs): ndb.delete_multi(ComplainedWord.query().fetch(keys_only=True)) self.redirect("/admin/complain/list")
def post(self, *args, **kwargs): deleted_word = self.request.get("word") ndb.delete_multi( ComplainedWord.query(ComplainedWord.word == deleted_word).fetch( offset=1, keys_only=True))