示例#1
0
def get_new_token():
    storage = Shelver(config.database_file)
    method_name = 'auth.get_token'
    session = requests.Session()

    # Установим "правильный" юзер-агент
    session.headers = {
        'User-agent':
        'Mozilla/5.0 (Windows NT 6.1; rv:38.0)'
        'Gecko/20100101 Firefox/38.0'
    }

    # Мойте куки перед едой!
    session.cookies.clear()
    response = session.get('https://vk.com/')
    # TODO: Может быть, добавить сюда ещё и ip_h?
    params = {
        'act': 'login',
        'utf-8': 1,
        'email': config.username,
        'pass': config.password,
        'lg_h': search_re(RE_LOGIN_HASH, response.text),
    }
    response = session.post('https://login.vk.com/', params)
    if 'm=1' in response.url:
        raise BadPasswordException(method_name)

    data = {}

    if 'remixsid' in session.cookies:
        global remixsid
        remixsid = session.cookies['remixsid']
    else:
        raise CookieErrorException(method_name)

    if remixsid:
        data['remixdid'] = remixsid
    # Обновляем куки
    session.cookies.update({'p': session.cookies['p']})
    session.cookies.update({'l': session.cookies['l']})
    session.cookies.update({'remixsid': remixsid})

    values = {
        'client_id': config.client_id,
        'scope': config.permissions,
        'response_type': 'token',
    }
    response = session.post('https://oauth.vk.com/authorize', values)
    print(response.url)
    token = response.url.split('#')[1].split('=')[1].split('&')[0]
    expire_time = response.url.split('&')[1].split('=')[1]
    try:
        exp_time = int(time()) + int(expire_time)
        storage.save('token', token)
        storage.save('expire_time', exp_time)
        print('New token acquired!')
    except Exception as e:
        print('API::Auth::Saving data to db got exception: ' + str(e))
#!/usr/bin/python3.4
# -*- coding: utf-8 -*-

from shelver import Shelver
import shelve
import config

storage = Shelver(config.database_file)
print(config.categories)
for entry in config.categories.split(','):
    storage.save(entry.strip(), [])
    storage.save(entry.strip() + config.users_db_postfix, [])

list_categories = config.categories.split(',')
list_entries = config.cat_entries.split('\n')
if len(list_categories) != len(list_entries):
    print('Размерности массивов не совпадают! Проверьте списки.')
else:
    for i in range(len(list_categories)):
        for j in range(len(list_entries[i].split(','))):
            print('Inserting {0} into {1}'.format(
                list_entries[i].split(',')[j], list_categories[i]))
            storage.append(list_categories[i],
                           list_entries[i].split(',')[j].strip(),
                           strict=True)

print(len(storage.get('News')[1]))

storage.save('expire_time', 0)
storage.save('token', 0)
storage.close()
#!/usr/bin/python3.4
# -*- coding: utf-8 -*-

from shelver import Shelver
import shelve
import config

storage = Shelver(config.database_file)
print(config.categories)
for entry in config.categories.split(","):
    storage.save(entry.strip(), [])
    storage.save(entry.strip() + config.users_db_postfix, [])


list_categories = config.categories.split(",")
list_entries = config.cat_entries.split("\n")
if len(list_categories) != len(list_entries):
    print("Размерности массивов не совпадают! Проверьте списки.")
else:
    for i in range(len(list_categories)):
        for j in range(len(list_entries[i].split(","))):
            print("Inserting {0} into {1}".format(list_entries[i].split(",")[j], list_categories[i]))
            storage.append(list_categories[i], list_entries[i].split(",")[j].strip(), strict=True)

print(len(storage.get("News")[1]))


storage.save("expire_time", 0)
storage.save("token", 0)
storage.close()