Fixed pylint and pep8 violations

This commit is contained in:
Heiko Rothe 2015-10-12 09:18:55 +02:00
parent 1553844279
commit 2f2bd7a616

View file

@ -82,9 +82,6 @@ class TplinkDeviceScanner(object):
self.username = username self.username = username
self.password = password self.password = password
self.stok = ''
self.sysauth = ''
self.last_results = {} self.last_results = {}
self.lock = threading.Lock() self.lock = threading.Lock()
self.success_init = self._update_info() self.success_init = self._update_info()
@ -194,12 +191,18 @@ class Tplink2DeviceScanner(TplinkDeviceScanner):
return False return False
class Tplink3DeviceScanner(TplinkDeviceScanner): class Tplink3DeviceScanner(TplinkDeviceScanner):
""" """
This class queries the Archer C9 router running version 150811 or higher This class queries the Archer C9 router running version 150811 or higher
of TP-Link firmware for connected devices. of TP-Link firmware for connected devices.
""" """
def __init__(self, config):
super(Tplink3DeviceScanner, self).__init__(config)
self.stok = ''
self.sysauth = ''
def scan_devices(self): def scan_devices(self):
""" """
Scans for new devices and return a list containing found device ids. Scans for new devices and return a list containing found device ids.
@ -230,7 +233,8 @@ class Tplink3DeviceScanner(TplinkDeviceScanner):
# if possible implement rsa encryption of password here # if possible implement rsa encryption of password here
response = requests.post(url, params={'operation': 'login', response = requests.post(url,
params={'operation': 'login',
'username': self.username, 'username': self.username,
'password': self.password}, 'password': self.password},
headers={'referer': referer}) headers={'referer': referer})
@ -238,16 +242,15 @@ class Tplink3DeviceScanner(TplinkDeviceScanner):
try: try:
self.stok = response.json().get('data').get('stok') self.stok = response.json().get('data').get('stok')
_LOGGER.info(self.stok) _LOGGER.info(self.stok)
regex_result = re.search('sysauth=(.*);', response.headers['set-cookie']) regex_result = re.search('sysauth=(.*);',
response.headers['set-cookie'])
self.sysauth = regex_result.group(1) self.sysauth = regex_result.group(1)
_LOGGER.info(self.sysauth) _LOGGER.info(self.sysauth)
return True return True
except: except ValueError:
_LOGGER.error("Couldn't fetch auth tokens!") _LOGGER.error("Couldn't fetch auth tokens!")
return False return False
return False
@Throttle(MIN_TIME_BETWEEN_SCANS) @Throttle(MIN_TIME_BETWEEN_SCANS)
def _update_info(self): def _update_info(self):
""" """
@ -265,7 +268,10 @@ class Tplink3DeviceScanner(TplinkDeviceScanner):
.format(self.host, self.stok) .format(self.host, self.stok)
referer = 'http://{}/webpages/index.html'.format(self.host) referer = 'http://{}/webpages/index.html'.format(self.host)
response = requests.post(url, params={'operation': 'load'}, headers={'referer': referer}, cookies={'sysauth': self.sysauth}) response = requests.post(url,
params={'operation': 'load'},
headers={'referer': referer},
cookies={'sysauth': self.sysauth})
try: try:
json_response = response.json() json_response = response.json()
@ -274,12 +280,14 @@ class Tplink3DeviceScanner(TplinkDeviceScanner):
result = response.json().get('data') result = response.json().get('data')
else: else:
if json_response.get('errorcode') == 'timeout': if json_response.get('errorcode') == 'timeout':
_LOGGER.info("Token timed out. Relogging on next scan.") _LOGGER.info("Token timed out. "
"Relogging on next scan.")
self.stok = '' self.stok = ''
self.sysauth = '' self.sysauth = ''
return False return False
else: else:
_LOGGER.error("An unknown error happened while fetching data.") _LOGGER.error("An unknown error happened "
"while fetching data.")
return False return False
except ValueError: except ValueError:
_LOGGER.error("Router didn't respond with JSON. " _LOGGER.error("Router didn't respond with JSON. "