예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
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)
예제 #4
0
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)