def listTracking(bot, update): tg_user = update.message.chat_id userdb = User.select().where(User.telegramId == tg_user).get() activeTrackings = Tracking.select().where(Tracking.user == userdb.id) message = 'Tus trackins registrados son estos: \n' for item in activeTrackings: message = message + str(item.asin) + '\n' bot.send_message(chat_id=update.message.chat_id, text=message)
def removeTracking(bot, update): tg_user = update.message.chat_id userdb = User.select().where(User.telegramId == tg_user).get() activeTrackings = Tracking.select().where(Tracking.user == userdb.id) button_list = [] for item in activeTrackings: button_list.append( InlineKeyboardButton(item.asin, callback_data=item.id)) reply_markup = InlineKeyboardMarkup(build_menu(button_list, n_cols=1)) bot.send_message( tg_user, "Estos son tus trackings activos, selecciona el que desees borrar:", reply_markup=reply_markup)
def cmd_sub(bot, update, args, chat=None): if len(args) < 1: bot.reply(update, "Use /sub username1 username2 username3 ...") return tw_usernames = args not_found = [] already_subscribed = [] successfully_subscribed = [] for tw_username in tw_usernames: tw_user = bot.get_tw_user(tw_username) if tw_user is None: not_found.append(tw_username) continue if Tracking.select().where(Tracking.tw_user == tw_user, Tracking.tg_chat == chat).count() == 1: already_subscribed.append(tw_user.full_name) continue Tracking.create(tg_chat=chat, tw_user=tw_user) successfully_subscribed.append(tw_user.full_name) reply = "" if len(not_found) is not 0: reply += "Sorry, I didn't find username{} {}\n\n".format( "" if len(not_found) is 1 else "s", ", ".join(not_found)) if len(already_subscribed) is not 0: reply += "You're already subscribed to {}\n\n".format( ", ".join(already_subscribed)) if len(successfully_subscribed) is not 0: reply += "I've added your subscription to {}".format( ", ".join(successfully_subscribed)) bot.reply(update, reply)
login_form.select('[name="username"]')[0]['value'] = '' login_form.select('[name="password"]')[0]['value'] = '' page2 = browser.submit(login_form, login_page.url) remaining_data = page2.soup.select('#datausagediv1 > table > tr > td > font')[-1].text package_expiry = page2.soup.select('td.inputtd > font') package_expiry_date = datetime.datetime.strptime(package_expiry[5].text, '%d/%m/%Y %H:%M') remaining_data add_data = Tracking.create(remaining_data=remaining_data.strip('MBmbKGkg')) add_data.save() expires_in = package_expiry_date - datetime.datetime.now() print "Expires in {} days".format(expires_in.days) data_in_gb = round(float(remaining_data.strip('GMKBgmkb'))/1024, 2) print "{}, or {} GB of data remaining".format(remaining_data, data_in_gb) today = datetime.date.today() last_30_days = arrow.now().replace(days=-30).naive query = Tracking.select().where(Tracking.added_time >= last_30_days).order_by(Tracking.added_time.asc()) first_day = list(query)[0] last_day = list(query)[-1] print "Used {} MB of data in the last 30 days, as recorded in DB.".format(first_day.remaining_data - last_day.remaining_data) print "Used on average {} MB of data per day in last 30 days.".format((first_day.remaining_data - last_day.remaining_data)/30)