def get_hash(string = None): logging.debug("get_hash") seed = "4b9bb860b4934a7fa17d1bedf31b78679ed3fe5f" random_number = random.random() random_string = str(random_number) time = get_date_time() h = "" if string: hash_string = time + seed + string h = hashlib.sha1(seed + string) #print 3 else: h = hashlib.sha1(time + random_string) new_hash = h.hexdigest() return new_hash
def put_comment(self): logging.debug("put_post") if check_login(self): continue_boolean = False email = "" #try: session = get_current_session() email = session['email'] continue_boolean = True #except: #logging.debug("gaesessions exception, do not continue") #continue_boolean = False #show_error_html(self, "session error") comment = self.request.get("comment") post_id = self.request.get("post_id") if not comment: logging.debug("No comment entered") return False, post_id if continue_boolean: ### check db, if not in db put tag new_hash = get_hash() timestamp = get_date_time() c = model.Comment(comment = comment, email = email, comment_id = new_hash, post_id = post_id, timestamp = timestamp) c.put() filters = { "email": email, } results, results_exist = datastore_results("Member", filters = filters, inequality_filters = None, order = None, fetch_total = 1, offset = 0, mem_key = None) if results_exist: for result in results: key = result.key() points = result.rep_points member = model.Member.get(key) member.rep_points = points + 5 member.put() return True, post_id else: self.redirect("/")
def put_post(self): logging.debug("put_post") if check_login(self): continue_boolean = False email = "" #try: session = get_current_session() email = session['email'] continue_boolean = True #except: #logging.debug("gaesessions exception, do not continue") #continue_boolean = False #show_error_html(self, "session error") if continue_boolean: title = self.request.get("title") tags = self.request.get("tags") entry = self.request.get("entry") old_hash = self.request.get("old_hash") tags_list = [] final_list = [] tags = tags.lower() tags_list = tags.split(",") for item in tags_list: final_item = item.strip() put_tag(self, final_item) final_list.append(final_item) new_hash = get_hash() timestamp = get_date_time() key = check_post_duplicates(old_hash) if key: p = model.Post.get(key) p.title = title p.tags = tags p.entry = entry p.tags_list = final_list p.timestamp = timestamp p.put() return old_hash p = model.Post(post_id = new_hash, email = email, title = title, tags = tags, entry = entry, tags_list = final_list, timestamp = timestamp, points=0) p.put() filters = { "email": email, } results, results_exist = datastore_results("Member", filters = filters, inequality_filters = None, order = None, fetch_total = 1, offset = 0, mem_key = None) if results_exist: for result in results: key = result.key() points = result.rep_points member = model.Member.get(key) member.rep_points = points + 10 member.put() return new_hash else: self.redirect("/")