Пример #1
0
 def test_get(self):
     new_words = ["hat", "cat", "rat"]
     for word in new_words:
         UserDictionaryWord(word=word, version=57, owner=self.device).put()
     old_words = ["son", "run"]
     for word in old_words:
         UserDictionaryWord(word=word, version=56, owner=self.device).put()
     request = webapp2.Request.blank('/123/api/udict/since/56')
     request.method = "GET"
     response = request.get_response(main.app)
     diff = json.loads(response.body)
     self.assertEqual(diff["version"], 57)
     self.assertEqual(len(diff["words"]), 3)
     self.assertIn(diff["words"][0]["word"], new_words)
     self.assertEqual(response.status_int, 200)
Пример #2
0
 def post(self, **kwargs):
     changes = json.loads(self.request.get("json"))
     version = _get_max_version(self.user_key) + 1
     for el in changes:
         current_word = (UserDictionaryWord.query(
             self.user_key, UserDictionaryWord.word == el["word"]).get()
                         or UserDictionaryWord(owner=self.device_key))
         current_word.populate(version=version, **el)
         current_word.put()
     self.response.write(version)
Пример #3
0
 def post(self):
     added = self.request.get_all("added[]")
     removed = self.request.get_all("removed[]")
     version = _get_max_version(self.user_key) + 1
     for word in removed:
         w = UserDictionaryWord.query(
             self.user_key, UserDictionaryWord.word == word).get()
         w.status = "removed"
         w.version = version
         w.put()
     for word in added:
         UserDictionaryWord(word=word,
                            status="ok",
                            version=version,
                            owner=self.user_key).put()