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))
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))
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))
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))
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)
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))
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))
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))