Allow use of kate mobile's tokens for accessing all methods
This commit is contained in:
@@ -94,8 +94,8 @@ class vkSession(object):
|
||||
def login(self):
|
||||
try:
|
||||
config_filename = os.path.join(paths.config_path(), self.session_id, "vkconfig.json")
|
||||
self.vk.login(self.settings["vk"]["user"], self.settings["vk"]["password"], filename=config_filename)
|
||||
self.settings["vk"]["token"] = self.vk.client._session.access_token
|
||||
self.vk.login(self.settings["vk"]["user"], self.settings["vk"]["password"], token=self.settings["vk"]["token"], alt_token=self.settings["vk"]["use_alternative_tokens"], filename=config_filename)
|
||||
self.settings["vk"]["token"] = self.vk.session_object.token["access_token"]
|
||||
self.settings.write()
|
||||
self.logged = True
|
||||
self.get_my_data()
|
||||
@@ -130,13 +130,15 @@ class vkSession(object):
|
||||
|
||||
def get_page(self, name="", show_nextpage=False, endpoint="", *args, **kwargs):
|
||||
data = None
|
||||
if "audio" in endpoint:
|
||||
if "audio" in endpoint and self.settings["vk"]["use_alternative_tokens"]:
|
||||
log.info("Using alternative audio methods.")
|
||||
c = self.vk.client_audio
|
||||
else:
|
||||
c = self.vk.client
|
||||
if kwargs.has_key("parent_endpoint"):
|
||||
p = kwargs["parent_endpoint"]
|
||||
if "audio" in p:
|
||||
if "audio" in p and self.settings["vk"]["use_alternative_tokens"]:
|
||||
log.info("Using alternative audio methods.")
|
||||
c = self.vk.client_audio
|
||||
kwargs.pop("parent_endpoint")
|
||||
try:
|
||||
|
@@ -12,13 +12,22 @@ class vkObject(object):
|
||||
def __init__(self):
|
||||
self.api_key = keys.keyring.get_api_key()
|
||||
|
||||
def login(self, user, password, filename):
|
||||
log.debug("Logging in vk using user/password authentication")
|
||||
# token = core.requestAuth(user, password)
|
||||
self.session_object = vk_api.VkApi(app_id=self.api_key, login=user, password=password, scope="offline, wall, notify, friends, photos, audio, video, docs, notes, pages, status, groups, messages, notifications, stats", config_filename=filename)
|
||||
self.session_object.auth(token_only=True)
|
||||
def login(self, user, password, token, alt_token, filename):
|
||||
if alt_token == False:
|
||||
log.info("Using kate's token...")
|
||||
if token == "" or token == None:
|
||||
log.info("Token is not valid. Generating one...")
|
||||
token = core.requestAuth(user, password)
|
||||
token = token[0]
|
||||
receipt = core.getReceipt(token)
|
||||
token = core.validateToken(token, receipt)
|
||||
log.info("Token validated...")
|
||||
self.session_object = vk_api.VkApi(app_id=self.api_key, login=user, password=password, token=token, scope="offline, wall, notify, friends, photos, audio, video, docs, notes, pages, status, groups, messages, notifications, stats", config_filename=filename)
|
||||
else:
|
||||
self.session_object = vk_api.VkApi(app_id=self.api_key, login=user, password=password, scope="offline, wall, notify, friends, photos, audio, video, docs, notes, pages, status, groups, messages, notifications, stats", config_filename=filename)
|
||||
self.session_object.auth(token_only=True)
|
||||
self.client = self.session_object.get_api()
|
||||
# self.client = API(s, v=self.api_version)
|
||||
# print self.client.audio.get()
|
||||
log.debug("Getting tokens for 24 hours...")
|
||||
# info = self.client.account.getProfileInfo()
|
||||
# Add session data to the application statistics.
|
||||
|
Reference in New Issue
Block a user