Correction du style

Le style a été un peu corrigé à l'aide de pycodestyle
This commit is contained in:
Sasha MOREL 2018-02-22 21:29:53 +01:00
parent ca831382d7
commit bfe348ed48
1 changed files with 31 additions and 31 deletions

View File

@ -10,9 +10,16 @@ This is a wrap aroud website, this could stop working without prior notice
## Manage cameras ## Manage cameras
### Get video ### Get video
from urllib import request
from http.cookiejar import CookieJar
from urllib.parse import urlencode
from xml.etree import ElementTree as ET
from urllib.error import HTTPError
from datetime import datetime
authors = ( authors = (
'Gilles "Almtesh" Émilien MOREL', 'Gilles "Almtesh" Émilien MOREL',
) )
name = 'homesfr for Python 3' name = 'homesfr for Python 3'
version = '1.0' version = '1.0'
@ -30,13 +37,6 @@ REMOTE_CONTROLER = 'REMOTE'
KEYPAD_CONTROLER = 'KEYPAD' KEYPAD_CONTROLER = 'KEYPAD'
PRESENCE_CAMERA_DETECTOR = 'PIR_CAMERA' PRESENCE_CAMERA_DETECTOR = 'PIR_CAMERA'
from urllib import request
from http.cookiejar import CookieJar
from urllib.parse import urlencode
from xml.etree import ElementTree as ET
from urllib.error import HTTPError
from datetime import datetime
class Common (): class Common ():
''' '''
Common ressources to the library's classes Common ressources to the library's classes
@ -50,7 +50,7 @@ class Common ():
# path to login test # path to login test
self.auth_path = '/mysensors' self.auth_path = '/mysensors'
self.auth_ok = '/accueil' # if logged self.auth_ok = '/accueil' # if logged
self.auth_post_url = 'https://boutique.home.sfr.fr/authentification' self.auth_post_url = 'https://boutique.home.sfr.fr/authentification'
self.auth_referer = 'https://boutique.home.sfr.fr/authentification?back=service' self.auth_referer = 'https://boutique.home.sfr.fr/authentification?back=service'
self.auth_user_field = 'email' self.auth_user_field = 'email'
@ -68,10 +68,10 @@ class Common ():
self.mode_get_path = '/mysensors' self.mode_get_path = '/mysensors'
self.mode_get_label = 'alarm_mode' self.mode_get_label = 'alarm_mode'
self.mode_set_path = '/alarmmode' self.mode_set_path = '/alarmmode'
self.mode_set_field = 'action' # Name for GET field self.mode_set_field = 'action' # Name for GET field
self.mode_off = 'OFF' # Value for off self.mode_off = 'OFF' # Value for off
self.mode_custom = 'CUSTOM' # Value for custom self.mode_custom = 'CUSTOM' # Value for custom
self.mode_on = 'ON' # Value for on self.mode_on = 'ON' # Value for on
# Cameras # Cameras
self.cameras_list = '/homescope/mycams' self.cameras_list = '/homescope/mycams'
@ -87,15 +87,15 @@ class Common ():
self.camera_get_config_path = '/homescope/camsettings' self.camera_get_config_path = '/homescope/camsettings'
self.camera_get_config_mac = 'mac' self.camera_get_config_mac = 'mac'
self.camera_get_config_flip = 'FLIP' self.camera_get_config_flip = 'FLIP'
self.camera_get_config_leds = 'LEDMODE' # set to 0 to turn the leds on self.camera_get_config_leds = 'LEDMODE' # set to 0 to turn the leds on
self.camera_get_config_detectionsensibility = 'DP' # from 1 to 4 self.camera_get_config_detectionsensibility = 'DP' # from 1 to 4
self.camera_get_config_recording = 'REC24' self.camera_get_config_recording = 'REC24'
self.camera_get_config_name = 'NAME' self.camera_get_config_name = 'NAME'
self.camera_set_config_path = '/homescope/camsettings' self.camera_set_config_path = '/homescope/camsettings'
self.camera_set_config_mac = 'mac' self.camera_set_config_mac = 'mac'
self.camera_set_config_flip = 'flip' self.camera_set_config_flip = 'flip'
self.camera_set_config_leds = 'led_mode' # set to 0 to turn the leds on self.camera_set_config_leds = 'led_mode' # set to 0 to turn the leds on
self.camera_set_config_detectionsensibility = 'dp' # from 1 to 4 self.camera_set_config_detectionsensibility = 'dp' # from 1 to 4
self.camera_set_config_recording = 'rec24' self.camera_set_config_recording = 'rec24'
self.camera_set_config_name = 'name' self.camera_set_config_name = 'name'
@ -109,7 +109,7 @@ class Common ():
self.sensors_version_field = 'deviceVersion' self.sensors_version_field = 'deviceVersion'
self.sensors_name_field = 'name' self.sensors_name_field = 'name'
self.sensors_longname_field = 'long_name' self.sensors_longname_field = 'long_name'
self.sensors_namegender_field = 'name_gender' # Only usefull for French for the moment self.sensors_namegender_field = 'name_gender' # Only usefull for French for the moment
self.sensors_batterylevel_field = 'batteryLevel' self.sensors_batterylevel_field = 'batteryLevel'
self.sensors_signal_field = 'signalLevel' self.sensors_signal_field = 'signalLevel'
self.sensors_lasttrigger_field = 'lastTriggerTime' self.sensors_lasttrigger_field = 'lastTriggerTime'
@ -119,7 +119,7 @@ class Common ():
# I don't have any other value for the moment # I don't have any other value for the moment
# Logs # Logs
self.logs_path = '/getlog?page=1&nbparpage=10000' # should retrieve all available logs self.logs_path = '/getlog?page=1&nbparpage=10000' # should retrieve all available logs
self.logs_labels = 'LOG' self.logs_labels = 'LOG'
def bytes2file (self, b): def bytes2file (self, b):
@ -142,7 +142,7 @@ class Common ():
r = Image.open (f) r = Image.open (f)
return (r) return (r)
def get_xml_elements (self,url, label, id_label=None): def get_xml_elements (self, url, label, id_label=None):
def build_tree (element): def build_tree (element):
r = {} r = {}
for i in element.getchildren (): for i in element.getchildren ():
@ -154,7 +154,7 @@ class Common ():
a = self.bytes2file (self.opener.open (url).read ()) a = self.bytes2file (self.opener.open (url).read ())
a.seek (0) a.seek (0)
b = ET.parse (a) b = ET.parse (a)
if id_label == None: if id_label is None:
r = [] r = []
for i in b.findall (label): for i in b.findall (label):
r.append (build_tree (i)) r.append (build_tree (i))
@ -181,22 +181,22 @@ class HomeSFR (Common):
print ('Authors:') print ('Authors:')
for i in authors: for i in authors:
print (' - ' + i) print (' - ' + i)
if username != None: if username is not None:
print ('init with username ' + username) print ('init with username ' + username)
if cookies != None: if cookies is not None:
print ('init with cookies') print ('init with cookies')
print ('debug = ' + str (debug)) print ('debug = ' + str (debug))
print ('autologin = ' + str (autologin)) print ('autologin = ' + str (autologin))
if (username == None or password == None) and cookies == None: if (username is None or password is None) and cookies is None:
raise TypeError ('You must define either username AND password or cookies') raise TypeError ('You must define either username AND password or cookies')
self.username = username self.username = username
self.password = password self.password = password
if self.username != None and self.password != None: if self.username is not None and self.password is not None:
self.autologin = autologin self.autologin = autologin
else: else:
self.autologin = False self.autologin = False
if cookies == None: if cookies is None:
self.cookies = CookieJar () self.cookies = CookieJar ()
elif type (cookies) == CookieJar: elif type (cookies) == CookieJar:
self.cookies = cookies self.cookies = cookies
@ -208,7 +208,7 @@ class HomeSFR (Common):
''' '''
Shows name, version, defined user and debug state Shows name, version, defined user and debug state
''' '''
if self.username != None: if self.username is not None:
return (name + ' ' + version + '\nUser: ' + self.username + '\nDebug: ' + str (self.DEBUG)) return (name + ' ' + version + '\nUser: ' + self.username + '\nDebug: ' + str (self.DEBUG))
else: else:
return (name + ' ' + version + '\nUser: Unknown (auth from cookie class)\nDebug: ' + str (self.DEBUG)) return (name + ' ' + version + '\nUser: Unknown (auth from cookie class)\nDebug: ' + str (self.DEBUG))
@ -237,14 +237,14 @@ class HomeSFR (Common):
Returns True if the login was a success, False either Returns True if the login was a success, False either
This method will always return False if no username and password are defined This method will always return False if no username and password are defined
''' '''
if self.username != None and self.password != None: if self.username is not None and self.password is not None:
self.opener.open (self.auth_referer) self.opener.open (self.auth_referer)
data = self.auth_extra_fields data = self.auth_extra_fields
data [self.auth_user_field] = self.username data [self.auth_user_field] = self.username
data [self.auth_pass_field] = self.password data [self.auth_pass_field] = self.password
data = bytes (urlencode (data), 'UTF8') data = bytes (urlencode (data), 'UTF8')
if self.DEBUG: if self.DEBUG:
print ('Cookies ' + str( len(self.cookies))) print ('Cookies ' + str (len (self.cookies)))
print ('Sending data ' + str (data)) print ('Sending data ' + str (data))
a = self.opener.open (self.auth_post_url, data = data) a = self.opener.open (self.auth_post_url, data = data)
if self.DEBUG: if self.DEBUG:
@ -257,7 +257,7 @@ class HomeSFR (Common):
''' '''
Trigger the autologin Trigger the autologin
''' '''
if (self.autologin and self.test_login () == False): if (self.autologin and not self.test_login ()):
self.login () self.login ()
def logout (self): def logout (self):
@ -362,7 +362,7 @@ class HomeSFR (Common):
Get a Camera object from the sensor's id Get a Camera object from the sensor's id
''' '''
self.do_autologin () self.do_autologin ()
if (self.autologin and self.test_login () == False): if (self.autologin and not self.test_login ()):
self.login () self.login ()
r = Camera (id, self.opener) r = Camera (id, self.opener)
r.refresh () r.refresh ()