def process_submission(reddit, submission): print('Processing new submission: ' + submission.title) already_commented = False author = submission.author if hour_difference(submission.created_utc, time.time()) >= MAX_TIME: print('Old post, ignoring') return if submission.removed: print('Violates rules, ignoring') return for comment in submission.comments: if USERNAME == comment.author: already_commented = True if not already_commented: first_response = get_response(FIRST_RESPONSE_CODE) reddit.redditor(author.name).message(submission.url, first_response.comment) db.add_entry(submission.id.lower(), submission.url.lower(), author.name.lower(), FIRST_RESPONSE_CODE) print('Messaged author of new post') submission.mod.remove() print('Processed Successfully')
def make_an_entry(data): entry = input('Write about the book, [x] to exit: \n') if entry == 'x': return db.add_entry(entry, data)
def on_save_clicked(w): entry = self.get_entry() db.add_entry(self._con, entry) db.commit(self._con) self.clear() if self.on_save: self.on_save(entry)
def add(): is_login() if request.method == 'POST': title = request.form['title'] content = request.form['content'] tags = request.form['tags'] db.add_entry(title, content, tags) return redirect(url_for('index')) return render_template('add.html')
def get_loot(loot, category: str) -> ENTRIES: """Gets loot for a given `loot` type. Called by `get_all_loot`. Args: fg (FeedGenerator): the feed to add entries loot: bs4 object; the loot to parse category (str): either 'In-Game Loot and More' or 'Games with Prime' Returns: dict: {title: (description, category, link, pub_date)} """ today = pendulum.today(tz='UTC') entries = {} for offer in loot.find_all('div', 'offer'): description = [] info = offer.find('div', 'offer__body__titles') title = info.find('p', 'tw-amazon-ember-bold').text.strip() offered_by = info.find('p', 'tw-c-text-alt-2').text.strip() description.append(f'Offered by: {offered_by}') claim_info = offer.find('div', 'claim-info') expires_by = claim_info.find('span', '').text.strip() if expires_by == 'Offer ends soon': expires_by = 'soon' description.append(f'Expires: {expires_by}') try: link = offer.find('a')['href'] except TypeError: link = URL description.append('Visit main page to claim offer.') if db.check_if_entry_exists(title): pub_date = db.get_entry_time(title) else: pub_date = today db.add_entry( title, today ) entries[title] = ( ' | '.join(description), category, link, pub_date ) return entries
def add_entry(date): try: db.add_entry(current_user.username, request.form['sign_message'], date) return redirect(url_for('signed')) except IntegrityError: flash('New entry failed, duplicate entry.', 'flash-error') except Exception as e: flash('New entry failed.', 'flash-error') return redirect(url_for('log_entries', date=date))
def get_news(): # with open('example.html', 'r') as example: # soup = BeautifulSoup(example, 'html.parser') page = requests.get('https://treeofsavior.com/page/news/') soup = BeautifulSoup(page.text, 'html.parser') news = soup.find_all('div', 'news_box') all_news = [] for news_article in news: article = {} inner = news_article.find('div', 'box_inner') article_date = inner.find('div', 'date') try: article_date = article_date.string.lstrip().split() article['url'] = get_article_url(news_article) article['title'] = news_article.h3.string a_date = convert_article_date(article_date) today = pendulum.today() if db.check_if_entry_exists(article['url']): article['date'] = db.get_entry_time(article['url']) else: if today == pendulum.datetime(*a_date, tz = today.tz): article['date'] = pendulum.datetime( *a_date, pendulum.now(tz = 'UTC').hour, tz = 'UTC' ) else: # If the article date doesn't match up with today's date, # do not modify the publish time. Fallback for # migrating setups, or resuming after pausing for some # time. article['date'] = pendulum.datetime( *a_date, 0, tz = 'UTC' ) db.add_entry( article['url'], article['date'] ) all_news.append(article) except AttributeError as e: logger.warning( f'Caught exception {e} from {article}, inner {inner}' ) db.purge_old() return all_news
def add(name, number, phonebook): from pudb import set_trace; set_trace() pb_id = db.get_phonebook_id(phonebook) if pb_id: status = db.add_entry(pb_id[0], (name, number)) if status: print "%s added to %s with number %s" % (name, phonebook, number) else: print "Error: name: %s or number: %s already present in %s" % (name,number , phonebook) else: print "Error: phonebook does not exist"
def POST(self): i = web.input() if(len(i.word) and len(i.description)): print "sanitising strings..." word = sanitize(i.word) desc = sanitize(i.description) if db.add_entry(word, desc) != None: return "ah-okay!" else: return "something went haywire..." return "booo..."
def post_entry(): '''POST data from the form will come here. Notice that we have specified methods (http VERB) which can access this route. If you are running this application locally, try hitting http://localhost:5000/post_entry and see what you get''' if request.method == 'POST': ## Adding the reccord to DB and redirecting with proper flash message ret = db.add_entry(user_name=request.form['user_name'], title=request.form['entry_title'], date=request.form['entry_date'], entry=request.form['entry']) if ret == True: flash('Entry successfully added -- ' + session['name']) return redirect(url_for('index')) else: flash("Opps! Somwthing went wrong!") return redirect(url_for('index'))
def prompt_new_entry(): content = input("Subject studied today: ") entry_date = input("Date: ") add_entry(content, entry_date)
def add_db(self): db.add_entry(self.direction, self.start, self.end, self.timeElapsed)