コード例 #1
0
    def search_post(cls, request):
        request.response.headers['Content-Type'] = 'text/html'
        user = UserController.get_user(request)
        errors = []
        anagrams = []
        word = request.request.get('word')
        if not Helper.validate_string(word):
            errors.append(
                "Invalid word entered, please enter alphabetical characters only"
            )

        if len(errors) == 0:
            anagrams_request = ndb.Key(
                'Anagram', Helper.get_word_key(user["user"].email, word))
            anagrams_request = anagrams_request.get()

            if anagrams_request:
                anagrams = anagrams_request.anagram
            else:
                errors.append("Anagrams not available for this search")

        data = {
            'url': user["url"],
            'url_string': user['url_string'],
            'errors': errors,
            'user': user['user'],
            'anagrams': anagrams
        }
        template = template_engine.JINJA_ENVIRONMENT.get_template(
            'views/anagram/search.html')
        request.response.write(template.render(data))
コード例 #2
0
 def subanagram_post(cls, request):
     request.response.headers['Content-Type'] = 'text/html'
     user = UserController.get_user(request)
     errors = []
     anagrams = []
     word = request.request.get('word')
     logging.info(word)
     sub_anagrams = Helper.getAnagramCombinations(word)
     #logging.info(sub_anagrams)
     # return
     matched_subs = []
     keys = []
     for val in sub_anagrams:
         sub_key = Helper.get_word_key(user["user"].email, val)
         Anagram_key = ndb.Key('Anagram', sub_key)
         Anagram = Anagram_key.get()
         if Anagram and not sub_key in keys:
             matched_subs.extend(Anagram.anagram)
             keys.append(sub_key)
     if not matched_subs:
         errors.append(
             "There are no sub anagrams available for this search")
     logging.info(matched_subs)
     data = {
         'url': user["url"],
         'url_string': user['url_string'],
         'errors': errors,
         'user': user['user'],
         'anagrams': matched_subs
     }
     template = template_engine.JINJA_ENVIRONMENT.get_template(
         'views/anagram/sub_anagram.html')
     request.response.write(template.render(data))
コード例 #3
0
    def search_get(cls, request):
        request.response.headers['Content-Type'] = 'text/html'
        user = UserController.get_user(request)
        errors = []

        data = {
            'url': user["url"],
            'url_string': user['url_string'],
            'user': user['user'],
            'errors': errors
        }
        template = template_engine.JINJA_ENVIRONMENT.get_template(
            'views/anagram/search.html')
        request.response.write(template.render(data))
コード例 #4
0
 def save_get(self, request):
     # ndb.delete_multi(
     #     Anagram.query().fetch(keys_only=True)
     # )
     request.response.headers['Content-Type'] = 'text/html'
     user = UserController.get_user(request)
     logging.info(user)
     data = {
         'url': user["url"],
         'url_string': user['url_string'],
         'user': user['user']
     }
     template = template_engine.JINJA_ENVIRONMENT.get_template(
         'views/anagram/save.html')
     request.response.write(template.render(data))
コード例 #5
0
 def get(self):
     user = UserController.get_user(self)
     #logging.info(user["user"].email)
     logging.info("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
     self.response.headers['Content-Type'] = 'text/html'
     path = self.request.path
     logging.info(Helper.anagrams("sam"))
     if path == "/anagram/save":
         AnagramController.save_get(self)
     elif path == "/anagram/search":
         AnagramController.search_get(self)
     elif path == "/anagram/sub_anagram":
         AnagramController.subanagram_get(self)
     elif path == "/anagram/upload":
         AnagramController.upload_get(self)
コード例 #6
0
 def get(self):
     self.response.headers['Content-Type'] = 'text/html'
     user = UserController.get_user(self)
     template_values = {
         'url': user["url"],
         'url_string': user['url_string'],
         'user': user['user']
     }
     logging.info(user)
     # shapes = ['c', 't', 's', ]
     # result = itertools.combinations(shapes, 2)
     # for each in result:
     #     logging.info("".join(list(each)))
     template = template_engine.JINJA_ENVIRONMENT.get_template(
         'views/home.html')
     self.response.write(template.render(template_values))
コード例 #7
0
    def upload_get(cls, request):
        request.response.headers['Content-Type'] = 'text/html'
        user = UserController.get_user(request)
        errors = []
        upload_url = blobstore.create_upload_url('/upload_text')
        success = request.request.params

        data = {
            'url': user["url"],
            'url_string': user['url_string'],
            'errors': errors,
            'user': user['user'],
            'upload_url': upload_url,
            'success': success
        }
        template = template_engine.JINJA_ENVIRONMENT.get_template(
            'views/anagram/upload.html')
        request.response.write(template.render(data))
コード例 #8
0
    def save_post(cls, request):
        errors = []
        request.response.headers['Content-Type'] = 'text/html'
        user = UserController.get_user(request)
        success = False
        word = request.request.get('word')
        if Helper.validate_string(word) == None:
            errors.append("Please enter valid word")
        else:
            Helper.saveAnagram(word, user["user"].email)

        data = {
            'url': user["url"],
            'url_string': user['url_string'],
            'user': user['user'],
            'errors': errors,
            'success': True
        }
        template = template_engine.JINJA_ENVIRONMENT.get_template(
            'views/anagram/save.html')
        request.response.write(template.render(data))