Cleanup / Lint

This commit is contained in:
Daniel Perna 2018-07-06 20:59:31 +02:00
parent 1f24c15b52
commit ec852f05ad

View file

@ -3399,7 +3399,6 @@ def load_settings(settingsfile):
ENV_PREFIX = settings.get('ENV_PREFIX', ENV_PREFIX) ENV_PREFIX = settings.get('ENV_PREFIX', ENV_PREFIX)
for key, value in os.environ.items(): for key, value in os.environ.items():
if key.startswith(ENV_PREFIX): if key.startswith(ENV_PREFIX):
print("Got setting: %s" % key)
# Convert booleans # Convert booleans
if value in ['true', 'false', 'True', 'False']: if value in ['true', 'false', 'True', 'False']:
value = True if value in ['true', 'True'] else False value = True if value in ['true', 'True'] else False
@ -3411,7 +3410,6 @@ def load_settings(settingsfile):
value = int(value) value = int(value)
# Make lists out of comma separated values for list-settings # Make lists out of comma separated values for list-settings
elif key[len(ENV_PREFIX):] in ["ALLOWED_NETWORKS", "BANNED_IPS", "IGNORE_PATTERN"]: elif key[len(ENV_PREFIX):] in ["ALLOWED_NETWORKS", "BANNED_IPS", "IGNORE_PATTERN"]:
print("got networks: %s" % value)
value = value.split(',') value = value.split(',')
settings[key[len(ENV_PREFIX):]] = value settings[key[len(ENV_PREFIX):]] = value
LISTENIP = settings.get("LISTENIP", LISTENIP) LISTENIP = settings.get("LISTENIP", LISTENIP)
@ -3517,6 +3515,7 @@ def get_html():
def password_problems(password, name="UNKNOWN"): def password_problems(password, name="UNKNOWN"):
problems = 0 problems = 0
password = str(password)
if password is None: if password is None:
return problems return problems
if len(password) < 8: if len(password) < 8:
@ -3641,7 +3640,8 @@ class RequestHandler(BaseHTTPRequestHandler):
if dirpath: if dirpath:
dirpath = unquote(dirpath[0]).encode('utf-8') dirpath = unquote(dirpath[0]).encode('utf-8')
if os.path.isdir(dirpath): if os.path.isdir(dirpath):
if ENFORCE_BASEPATH and not is_safe_path(BASEPATH, dirpath): if ENFORCE_BASEPATH and not is_safe_path(BASEPATH,
dirpath):
raise OSError('Access denied.') raise OSError('Access denied.')
repo = None repo = None
activebranch = None activebranch = None
@ -3649,7 +3649,8 @@ class RequestHandler(BaseHTTPRequestHandler):
branches = [] branches = []
if REPO: if REPO:
try: try:
repo = REPO(dirpath.decode('utf-8'), search_parent_directories=True) repo = REPO(dirpath.decode('utf-8'),
search_parent_directories=True)
activebranch = repo.active_branch.name activebranch = repo.active_branch.name
dirty = repo.is_dirty() dirty = repo.is_dirty()
for branch in repo.branches: for branch in repo.branches:
@ -3718,7 +3719,9 @@ class RequestHandler(BaseHTTPRequestHandler):
} }
if HASS_API_PASSWORD: if HASS_API_PASSWORD:
headers["x-ha-access"] = HASS_API_PASSWORD headers["x-ha-access"] = HASS_API_PASSWORD
req = urllib.request.Request("%sservices/homeassistant/restart" % HASS_API, headers=headers, method='POST') req = urllib.request.Request(
"%sservices/homeassistant/restart" % HASS_API,
headers=headers, method='POST')
with urllib.request.urlopen(req) as response: with urllib.request.urlopen(req) as response:
res = json.loads(response.read().decode('utf-8')) res = json.loads(response.read().decode('utf-8'))
LOG.debug(res) LOG.debug(res)
@ -3738,7 +3741,9 @@ class RequestHandler(BaseHTTPRequestHandler):
} }
if HASS_API_PASSWORD: if HASS_API_PASSWORD:
headers["x-ha-access"] = HASS_API_PASSWORD headers["x-ha-access"] = HASS_API_PASSWORD
req = urllib.request.Request("%sservices/homeassistant/check_config" % HASS_API, headers=headers, method='POST') req = urllib.request.Request(
"%sservices/homeassistant/check_config" % HASS_API,
headers=headers, method='POST')
# with urllib.request.urlopen(req) as response: # with urllib.request.urlopen(req) as response:
# print(json.loads(response.read().decode('utf-8'))) # print(json.loads(response.read().decode('utf-8')))
# res['service'] = "called successfully" # res['service'] = "called successfully"
@ -3758,7 +3763,9 @@ class RequestHandler(BaseHTTPRequestHandler):
} }
if HASS_API_PASSWORD: if HASS_API_PASSWORD:
headers["x-ha-access"] = HASS_API_PASSWORD headers["x-ha-access"] = HASS_API_PASSWORD
req = urllib.request.Request("%sservices/automation/reload" % HASS_API, headers=headers, method='POST') req = urllib.request.Request(
"%sservices/automation/reload" % HASS_API,
headers=headers, method='POST')
with urllib.request.urlopen(req) as response: with urllib.request.urlopen(req) as response:
LOG.debug(json.loads(response.read().decode('utf-8'))) LOG.debug(json.loads(response.read().decode('utf-8')))
res['service'] = "called successfully" res['service'] = "called successfully"
@ -3778,7 +3785,9 @@ class RequestHandler(BaseHTTPRequestHandler):
} }
if HASS_API_PASSWORD: if HASS_API_PASSWORD:
headers["x-ha-access"] = HASS_API_PASSWORD headers["x-ha-access"] = HASS_API_PASSWORD
req = urllib.request.Request("%sservices/script/reload" % HASS_API, headers=headers, method='POST') req = urllib.request.Request(
"%sservices/script/reload" % HASS_API,
headers=headers, method='POST')
with urllib.request.urlopen(req) as response: with urllib.request.urlopen(req) as response:
LOG.debug(json.loads(response.read().decode('utf-8'))) LOG.debug(json.loads(response.read().decode('utf-8')))
res['service'] = "called successfully" res['service'] = "called successfully"
@ -3798,7 +3807,9 @@ class RequestHandler(BaseHTTPRequestHandler):
} }
if HASS_API_PASSWORD: if HASS_API_PASSWORD:
headers["x-ha-access"] = HASS_API_PASSWORD headers["x-ha-access"] = HASS_API_PASSWORD
req = urllib.request.Request("%sservices/group/reload" % HASS_API, headers=headers, method='POST') req = urllib.request.Request(
"%sservices/group/reload" % HASS_API,
headers=headers, method='POST')
with urllib.request.urlopen(req) as response: with urllib.request.urlopen(req) as response:
LOG.debug(json.loads(response.read().decode('utf-8'))) LOG.debug(json.loads(response.read().decode('utf-8')))
res['service'] = "called successfully" res['service'] = "called successfully"
@ -3818,7 +3829,9 @@ class RequestHandler(BaseHTTPRequestHandler):
} }
if HASS_API_PASSWORD: if HASS_API_PASSWORD:
headers["x-ha-access"] = HASS_API_PASSWORD headers["x-ha-access"] = HASS_API_PASSWORD
req = urllib.request.Request("%sservices/homeassistant/reload_core_config" % HASS_API, headers=headers, method='POST') req = urllib.request.Request(
"%sservices/homeassistant/reload_core_config" % HASS_API,
headers=headers, method='POST')
with urllib.request.urlopen(req) as response: with urllib.request.urlopen(req) as response:
LOG.debug(json.loads(response.read().decode('utf-8'))) LOG.debug(json.loads(response.read().decode('utf-8')))
res['service'] = "called successfully" res['service'] = "called successfully"
@ -3918,7 +3931,8 @@ class RequestHandler(BaseHTTPRequestHandler):
length = int(self.headers['content-length']) length = int(self.headers['content-length'])
if req.path.endswith('/api/save'): if req.path.endswith('/api/save'):
try: try:
postvars = parse_qs(self.rfile.read(length).decode('utf-8'), keep_blank_values=1) postvars = parse_qs(self.rfile.read(length).decode('utf-8'),
keep_blank_values=1)
except Exception as err: except Exception as err:
LOG.warning(err) LOG.warning(err)
response['message'] = "%s" % (str(err)) response['message'] = "%s" % (str(err))
@ -3974,7 +3988,8 @@ class RequestHandler(BaseHTTPRequestHandler):
return return
elif req.path.endswith('/api/delete'): elif req.path.endswith('/api/delete'):
try: try:
postvars = parse_qs(self.rfile.read(length).decode('utf-8'), keep_blank_values=1) postvars = parse_qs(self.rfile.read(length).decode('utf-8'),
keep_blank_values=1)
except Exception as err: except Exception as err:
LOG.warning(err) LOG.warning(err)
response['message'] = "%s" % (str(err)) response['message'] = "%s" % (str(err))
@ -4008,7 +4023,8 @@ class RequestHandler(BaseHTTPRequestHandler):
response['message'] = "Missing filename or text" response['message'] = "Missing filename or text"
elif req.path.endswith('/api/exec_command'): elif req.path.endswith('/api/exec_command'):
try: try:
postvars = parse_qs(self.rfile.read(length).decode('utf-8'), keep_blank_values=1) postvars = parse_qs(self.rfile.read(length).decode('utf-8'),
keep_blank_values=1)
except Exception as err: except Exception as err:
LOG.warning(err) LOG.warning(err)
response['message'] = "%s" % (str(err)) response['message'] = "%s" % (str(err))
@ -4023,7 +4039,9 @@ class RequestHandler(BaseHTTPRequestHandler):
timeout = int(postvars['timeout'][0]) timeout = int(postvars['timeout'][0])
try: try:
proc = subprocess.Popen( proc = subprocess.Popen(
command, stdout=subprocess.PIPE, stderr=subprocess.PIPE) command,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
stdout, stderr = proc.communicate(timeout=timeout) stdout, stderr = proc.communicate(timeout=timeout)
self.send_response(200) self.send_response(200)
self.send_header('Content-type', 'text/json') self.send_header('Content-type', 'text/json')
@ -4055,7 +4073,8 @@ class RequestHandler(BaseHTTPRequestHandler):
response['message'] = "Missing command" response['message'] = "Missing command"
elif req.path.endswith('/api/gitadd'): elif req.path.endswith('/api/gitadd'):
try: try:
postvars = parse_qs(self.rfile.read(length).decode('utf-8'), keep_blank_values=1) postvars = parse_qs(self.rfile.read(length).decode('utf-8'),
keep_blank_values=1)
except Exception as err: except Exception as err:
LOG.warning(err) LOG.warning(err)
response['message'] = "%s" % (str(err)) response['message'] = "%s" % (str(err))
@ -4064,7 +4083,8 @@ class RequestHandler(BaseHTTPRequestHandler):
if postvars['path']: if postvars['path']:
try: try:
addpath = unquote(postvars['path'][0]) addpath = unquote(postvars['path'][0])
repo = REPO(addpath, search_parent_directories=True) repo = REPO(addpath,
search_parent_directories=True)
filepath = "/".join(addpath.split(os.sep)[len(repo.working_dir.split(os.sep)):]) filepath = "/".join(addpath.split(os.sep)[len(repo.working_dir.split(os.sep)):])
response['path'] = filepath response['path'] = filepath
try: try:
@ -4088,7 +4108,8 @@ class RequestHandler(BaseHTTPRequestHandler):
response['message'] = "Missing filename" response['message'] = "Missing filename"
elif req.path.endswith('/api/commit'): elif req.path.endswith('/api/commit'):
try: try:
postvars = parse_qs(self.rfile.read(length).decode('utf-8'), keep_blank_values=1) postvars = parse_qs(self.rfile.read(length).decode('utf-8'),
keep_blank_values=1)
except Exception as err: except Exception as err:
LOG.warning(err) LOG.warning(err)
response['message'] = "%s" % (str(err)) response['message'] = "%s" % (str(err))
@ -4099,7 +4120,8 @@ class RequestHandler(BaseHTTPRequestHandler):
commitpath = unquote(postvars['path'][0]) commitpath = unquote(postvars['path'][0])
response['path'] = commitpath response['path'] = commitpath
message = unquote(postvars['message'][0]) message = unquote(postvars['message'][0])
repo = REPO(commitpath, search_parent_directories=True) repo = REPO(commitpath,
search_parent_directories=True)
try: try:
repo.index.commit(message) repo.index.commit(message)
response['error'] = False response['error'] = False
@ -4121,7 +4143,8 @@ class RequestHandler(BaseHTTPRequestHandler):
response['message'] = "Missing path" response['message'] = "Missing path"
elif req.path.endswith('/api/checkout'): elif req.path.endswith('/api/checkout'):
try: try:
postvars = parse_qs(self.rfile.read(length).decode('utf-8'), keep_blank_values=1) postvars = parse_qs(self.rfile.read(length).decode('utf-8'),
keep_blank_values=1)
except Exception as err: except Exception as err:
LOG.warning(err) LOG.warning(err)
response['message'] = "%s" % (str(err)) response['message'] = "%s" % (str(err))
@ -4132,7 +4155,8 @@ class RequestHandler(BaseHTTPRequestHandler):
branchpath = unquote(postvars['path'][0]) branchpath = unquote(postvars['path'][0])
response['path'] = branchpath response['path'] = branchpath
branch = unquote(postvars['branch'][0]) branch = unquote(postvars['branch'][0])
repo = REPO(branchpath, search_parent_directories=True) repo = REPO(branchpath,
search_parent_directories=True)
try: try:
head = [h for h in repo.heads if h.name == branch][0] head = [h for h in repo.heads if h.name == branch][0]
head.checkout() head.checkout()
@ -4155,7 +4179,8 @@ class RequestHandler(BaseHTTPRequestHandler):
response['message'] = "Missing path or branch" response['message'] = "Missing path or branch"
elif req.path.endswith('/api/newbranch'): elif req.path.endswith('/api/newbranch'):
try: try:
postvars = parse_qs(self.rfile.read(length).decode('utf-8'), keep_blank_values=1) postvars = parse_qs(self.rfile.read(length).decode('utf-8'),
keep_blank_values=1)
except Exception as err: except Exception as err:
LOG.warning(err) LOG.warning(err)
response['message'] = "%s" % (str(err)) response['message'] = "%s" % (str(err))
@ -4166,7 +4191,8 @@ class RequestHandler(BaseHTTPRequestHandler):
branchpath = unquote(postvars['path'][0]) branchpath = unquote(postvars['path'][0])
response['path'] = branchpath response['path'] = branchpath
branch = unquote(postvars['branch'][0]) branch = unquote(postvars['branch'][0])
repo = REPO(branchpath, search_parent_directories=True) repo = REPO(branchpath,
search_parent_directories=True)
try: try:
repo.git.checkout("HEAD", b=branch) repo.git.checkout("HEAD", b=branch)
response['error'] = False response['error'] = False
@ -4188,7 +4214,8 @@ class RequestHandler(BaseHTTPRequestHandler):
response['message'] = "Missing path or branch" response['message'] = "Missing path or branch"
elif req.path.endswith('/api/init'): elif req.path.endswith('/api/init'):
try: try:
postvars = parse_qs(self.rfile.read(length).decode('utf-8'), keep_blank_values=1) postvars = parse_qs(self.rfile.read(length).decode('utf-8'),
keep_blank_values=1)
except Exception as err: except Exception as err:
LOG.warning(err) LOG.warning(err)
response['message'] = "%s" % (str(err)) response['message'] = "%s" % (str(err))
@ -4219,7 +4246,8 @@ class RequestHandler(BaseHTTPRequestHandler):
response['message'] = "Missing path or branch" response['message'] = "Missing path or branch"
elif req.path.endswith('/api/push'): elif req.path.endswith('/api/push'):
try: try:
postvars = parse_qs(self.rfile.read(length).decode('utf-8'), keep_blank_values=1) postvars = parse_qs(self.rfile.read(length).decode('utf-8'),
keep_blank_values=1)
except Exception as err: except Exception as err:
LOG.warning(err) LOG.warning(err)
response['message'] = "%s" % (str(err)) response['message'] = "%s" % (str(err))
@ -4259,7 +4287,8 @@ class RequestHandler(BaseHTTPRequestHandler):
response['message'] = "Missing path or branch" response['message'] = "Missing path or branch"
elif req.path.endswith('/api/stash'): elif req.path.endswith('/api/stash'):
try: try:
postvars = parse_qs(self.rfile.read(length).decode('utf-8'), keep_blank_values=1) postvars = parse_qs(self.rfile.read(length).decode('utf-8'),
keep_blank_values=1)
except Exception as err: except Exception as err:
LOG.warning(err) LOG.warning(err)
response['message'] = "%s" % (str(err)) response['message'] = "%s" % (str(err))
@ -4291,7 +4320,8 @@ class RequestHandler(BaseHTTPRequestHandler):
response['message'] = "Missing path or branch" response['message'] = "Missing path or branch"
elif req.path.endswith('/api/newfolder'): elif req.path.endswith('/api/newfolder'):
try: try:
postvars = parse_qs(self.rfile.read(length).decode('utf-8'), keep_blank_values=1) postvars = parse_qs(self.rfile.read(length).decode('utf-8'),
keep_blank_values=1)
except Exception as err: except Exception as err:
LOG.warning(err) LOG.warning(err)
response['message'] = "%s" % (str(err)) response['message'] = "%s" % (str(err))
@ -4320,7 +4350,8 @@ class RequestHandler(BaseHTTPRequestHandler):
LOG.warning(err) LOG.warning(err)
elif req.path.endswith('/api/newfile'): elif req.path.endswith('/api/newfile'):
try: try:
postvars = parse_qs(self.rfile.read(length).decode('utf-8'), keep_blank_values=1) postvars = parse_qs(self.rfile.read(length).decode('utf-8'),
keep_blank_values=1)
except Exception as err: except Exception as err:
LOG.warning(err) LOG.warning(err)
response['message'] = "%s" % (str(err)) response['message'] = "%s" % (str(err))
@ -4352,7 +4383,8 @@ class RequestHandler(BaseHTTPRequestHandler):
response['message'] = "Missing filename or text" response['message'] = "Missing filename or text"
elif req.path.endswith('/api/allowed_networks'): elif req.path.endswith('/api/allowed_networks'):
try: try:
postvars = parse_qs(self.rfile.read(length).decode('utf-8'), keep_blank_values=1) postvars = parse_qs(self.rfile.read(length).decode('utf-8'),
keep_blank_values=1)
except Exception as err: except Exception as err:
LOG.warning(err) LOG.warning(err)
response['message'] = "%s" % (str(err)) response['message'] = "%s" % (str(err))
@ -4389,7 +4421,8 @@ class RequestHandler(BaseHTTPRequestHandler):
response['message'] = "Missing network" response['message'] = "Missing network"
elif req.path.endswith('/api/banned_ips'): elif req.path.endswith('/api/banned_ips'):
try: try:
postvars = parse_qs(self.rfile.read(length).decode('utf-8'), keep_blank_values=1) postvars = parse_qs(self.rfile.read(length).decode('utf-8'),
keep_blank_values=1)
except Exception as err: except Exception as err:
LOG.warning(err) LOG.warning(err)
response['message'] = "%s" % (str(err)) response['message'] = "%s" % (str(err))