Make more pylint compliant

master
azzy9 1 year ago
parent 78b3e42fbc
commit 1f74fa10d4

@ -29,7 +29,7 @@ requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
reqs = requests.session()
def request_get( url, data=None, extraHeaders=None ):
def request_get( url, data=None, extra_headers=None ):
""" makes a request """
@ -47,8 +47,8 @@ def request_get( url, data=None, extraHeaders=None ):
}
# add extra headers
if extraHeaders:
my_headers.update(extraHeaders)
if extra_headers:
my_headers.update(extra_headers)
# get stored cookie string
cookies = ADDON.getSetting('cookies')

@ -19,11 +19,11 @@ except ImportError:
ADDON = xbmcaddon.Addon()
class rumbleUser:
class RumbleUser:
""" main rumble user class """
baseUrl = 'https://rumble.com'
base_url = 'https://rumble.com'
username = ''
password = ''
session = ''
@ -33,9 +33,9 @@ class rumbleUser:
""" Construct to get the saved details """
self.getLoginDetails()
self.get_login_details()
def getLoginDetails( self ):
def get_login_details( self ):
""" get the saved login details """
@ -47,13 +47,13 @@ class rumbleUser:
if self.expiry:
self.expiry = float( self.expiry )
def hasLoginDetails( self ):
def has_login_details( self ):
""" if there is login details """
return ( self.username and self.password )
def setSessionDetails( self ):
def set_session_details( self ):
"""
sets the session details
@ -62,39 +62,39 @@ class rumbleUser:
ADDON.setSetting( 'session', self.session )
ADDON.setSetting( 'expiry', str( self.expiry ) )
self.setSessionCookie()
self.set_session_cookie()
def resetSessionDetails( self ):
def reset_session_details( self ):
""" resets the session details to force a login """
self.session = ''
self.expiry = ''
self.setSessionDetails()
self.set_session_details()
def hasSession( self, login=True ):
def has_session( self, login=True ):
""" resets the session details to force a login """
has_session = self.session and self.expiry and self.expiry > time.time()
if not has_session and login and self.hasLoginDetails():
if not has_session and login and self.has_login_details():
self.login()
return self.hasSession(False)
return self.has_session(False)
return has_session
def getSalts( self ):
def get_salts( self ):
"""
method to get the salts from rumble
these are used to generate the login hashes
"""
if self.hasLoginDetails():
if self.has_login_details():
# gets salts
data = request_get(
self.baseUrl + '/service.php?name=user.get_salts',
self.base_url + '/service.php?name=user.get_salts',
{'username': self.username},
[ ( 'Referer', self.baseUrl ), ( 'Content-type', 'application/x-www-form-urlencoded' ) ]
[ ( 'Referer', self.base_url ), ( 'Content-type', 'application/x-www-form-urlencoded' ) ]
)
if data:
salts = json.loads(data)['data']['salts']
@ -106,16 +106,19 @@ class rumbleUser:
""" method to generate the hashes and login """
salts = self.getSalts()
salts = self.get_salts()
if salts:
login_hash = MD5Ex()
hashes = login_hash.hash( login_hash.hashStretch( self.password, salts[0], 128) + salts[1] ) + ',' + login_hash.hashStretch( self.password, salts[2], 128 ) + ',' + salts[1]
hashes = login_hash.hash(
login_hash.hashStretch( self.password, salts[0], 128) + salts[1] ) + ',' \
+ login_hash.hashStretch( self.password, salts[2], 128
) + ',' + salts[1]
# login
data = request_get(
self.baseUrl + '/service.php?name=user.login',
self.base_url + '/service.php?name=user.login',
{'username': self.username, 'password_hashes': hashes},
[ ( 'Referer', self.baseUrl ), ( 'Content-type', 'application/x-www-form-urlencoded' ) ]
[( 'Referer', self.base_url ), ( 'Content-type', 'application/x-www-form-urlencoded' )]
)
if data:
@ -124,13 +127,15 @@ class rumbleUser:
self.session = session
# Expiry is 30 Days
self.expiry = math.floor( time.time() ) + 2592000
self.setSessionDetails()
self.set_session_details()
return session
return False
def setSessionCookie( self ):
def set_session_cookie( self ):
""" Sets the cookie to be used in the session """
if self.session:
# get stored cookie string
@ -138,14 +143,14 @@ class rumbleUser:
# split cookies into dictionary
if cookies:
cookieDict = json.loads( cookies )
cookie_dict = json.loads( cookies )
else:
cookieDict = {}
cookie_dict = {}
cookieDict[ 'u_s' ] = self.session
cookie_dict[ 'u_s' ] = self.session
# store cookies
ADDON.setSetting('cookies', json.dumps(cookieDict))
ADDON.setSetting('cookies', json.dumps(cookie_dict))
else:
ADDON.setSetting('cookies', '')
@ -153,7 +158,7 @@ class rumbleUser:
""" method to subscribe and unsubscribe to a channel or user """
if self.hasSession():
if self.has_session():
post_content = {
'slug': name,
@ -162,11 +167,16 @@ class rumbleUser:
}
headers = {
'Referer': self.baseUrl + name,
'Referer': self.base_url + name,
'Content-type': 'application/x-www-form-urlencoded'
}
data = request_get( self.baseUrl + '/service.php?api=2&name=user.subscribe', post_content, headers )
data = request_get(
self.base_url + '/service.php?api=2&name=user.subscribe',
post_content,
headers
)
return data
return False

@ -13,7 +13,7 @@ import six
from six.moves import urllib
from lib.general import *
from lib.rumble_user import rumbleUser
from lib.rumble_user import RumbleUser
try:
import json
@ -36,7 +36,7 @@ MEDIA_DIR = RESOURCE_DIR + 'media/'
kodi_version = float(xbmcaddon.Addon('xbmc.addon').getAddonInfo('version')[:4])
date_format = ADDON.getSetting('date_format')
rumbleUser = rumbleUser()
RUMBLE_USER = RumbleUser()
if six.PY2:
favorites = xbmc.translatePath(os.path.join(ADDON.getAddonInfo('profile'), 'favorites.dat'))
@ -113,7 +113,7 @@ def home_menu():
# Favorites
add_dir( get_string(1036), '', 7, MEDIA_DIR + 'favorite.png', '', '', '' )
if rumbleUser.hasLoginDetails():
if RUMBLE_USER.has_login_details():
# subscriptions
add_dir( 'Subscriptions', BASE_URL + '/subscriptions', 3, MEDIA_DIR + 'favorite.png', '', '', 'other' )
# subscriptions
@ -226,7 +226,7 @@ def list_rumble( url, cat ):
if 'subscriptions' in url or cat == 'following':
# make sure there is a session
# result is stored in a cookie
rumbleUser.hasSession()
RUMBLE_USER.has_session()
#{ 'cookie': 'u_s=' + ADDON.getSetting('session')}
data = request_get(url, None, headers)
@ -514,7 +514,7 @@ def login_session_reset():
""" Forces a rumble session reset """
rumbleUser.resetSessionDetails()
RUMBLE_USER.reset_session_details()
notify( 'Session has been reset' )
@ -523,7 +523,7 @@ def subscribe( name, action ):
""" Attempts to (un)subscribe to rumble channel """
# make sure we have a session
if rumbleUser.hasSession():
if RUMBLE_USER.has_session():
action_type = False
if '/user/' in name:
@ -536,7 +536,7 @@ def subscribe( name, action ):
if action_type:
# subscribe to action
data = rumbleUser.subscribe( action, action_type, name )
data = RUMBLE_USER.subscribe( action, action_type, name )
if data:
@ -599,7 +599,7 @@ def add_dir(name, url, mode, iconimage, fanart, description, cat, folder=True, f
else:
list_item.setProperty('fanart_image', HOME_DIR + 'fanart.jpg')
if rumbleUser.hasLoginDetails():
if RUMBLE_USER.has_login_details():
if subscribe_context:
if subscribe_context['subscribe']:
context_menu.append(('Subscribe to ' + subscribe_context['name'],'RunPlugin(%s)' % build_url( {'mode': '11','name': subscribe_context['name'], 'cat': 'subscribe'} )))

Loading…
Cancel
Save