Black'd
This commit is contained in:
parent
e41e03f464
commit
b979002f78
|
@ -13,7 +13,6 @@ from phi.async_ldap.client import (
|
||||||
AsyncClient,
|
AsyncClient,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
BASE_DN = "dc=unit,dc=macaomilano,dc=org"
|
BASE_DN = "dc=unit,dc=macaomilano,dc=org"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
|
|
||||||
def serialize(d):
|
def serialize(obj):
|
||||||
return {k: (v.isoformat() if isinstance(v, datetime) else v)
|
return {
|
||||||
for k, v in d.items()}
|
k: (v.isoformat() if isinstance(v, datetime) else v)
|
||||||
|
for k, v in dict(obj).items()
|
||||||
|
}
|
||||||
|
|
|
@ -125,11 +125,7 @@ def _validate_port(ctx, param, value):
|
||||||
help="Path to a yaml configuration for the logger.",
|
help="Path to a yaml configuration for the logger.",
|
||||||
)
|
)
|
||||||
@click.option(
|
@click.option(
|
||||||
"--debug",
|
"--debug", "debug", is_flag=True, default=False, help="Set the log level to debug.",
|
||||||
"debug",
|
|
||||||
is_flag=True,
|
|
||||||
default=False,
|
|
||||||
help="Set the log level to debug.",
|
|
||||||
)
|
)
|
||||||
def cli(
|
def cli(
|
||||||
host,
|
host,
|
||||||
|
@ -204,8 +200,8 @@ def prepare_config_from_cli(
|
||||||
}
|
}
|
||||||
_logging = {}
|
_logging = {}
|
||||||
if log_conf:
|
if log_conf:
|
||||||
with open(log_conf) as l:
|
with open(log_conf) as log_conf_fd:
|
||||||
_logging = yaml.safe_load(l)
|
_logging = yaml.safe_load(log_conf_fd)
|
||||||
|
|
||||||
return {"core": _core, "ldap": _ldap, "logging": _logging}
|
return {"core": _core, "ldap": _ldap, "logging": _logging}
|
||||||
|
|
||||||
|
|
|
@ -309,9 +309,7 @@ class User(Hackers):
|
||||||
try:
|
try:
|
||||||
await self.modify("userPassword", hash_pass(new_pass))
|
await self.modify("userPassword", hash_pass(new_pass))
|
||||||
except PhiAttributeMissing:
|
except PhiAttributeMissing:
|
||||||
raise PhiUnauthorized(
|
raise PhiUnauthorized(user=self.client.username,)
|
||||||
user=self.client.username,
|
|
||||||
)
|
|
||||||
alog.info("User(%s): password modified", self.name)
|
alog.info("User(%s): password modified", self.name)
|
||||||
|
|
||||||
async def verify_password(self, given_pass):
|
async def verify_password(self, given_pass):
|
||||||
|
@ -322,9 +320,7 @@ class User(Hackers):
|
||||||
try:
|
try:
|
||||||
match_pass = res[0]["userPassword"][0] == hash_pass(given_pass)
|
match_pass = res[0]["userPassword"][0] == hash_pass(given_pass)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise PhiUnauthorized(
|
raise PhiUnauthorized(user=self.client.username,)
|
||||||
user=self.client.username,
|
|
||||||
)
|
|
||||||
return match_pass
|
return match_pass
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,16 +2,10 @@ import os.path
|
||||||
import pkg_resources
|
import pkg_resources
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
|
NAME = "phi"
|
||||||
NAME = 'phi'
|
|
||||||
|
|
||||||
DEFAULT_CONFIG = {
|
DEFAULT_CONFIG = {
|
||||||
"core": {
|
"core": {"listen": {"host": "localhost", "port": 8080}},
|
||||||
"listen": {
|
|
||||||
"host": "localhost",
|
|
||||||
"port": 8080,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ldap": {
|
"ldap": {
|
||||||
"host": "localhost",
|
"host": "localhost",
|
||||||
"port": 389,
|
"port": 389,
|
||||||
|
@ -27,9 +21,7 @@ DEFAULT_CONFIG = {
|
||||||
},
|
},
|
||||||
"logging": {
|
"logging": {
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"formatters": {
|
"formatters": {"default": {"format": "[%(name)s %(levelname)s] %(message)s"}},
|
||||||
"default": {"format": "[%(name)s %(levelname)s] %(message)s"}
|
|
||||||
},
|
|
||||||
"handlers": {
|
"handlers": {
|
||||||
"console": {
|
"console": {
|
||||||
"class": "logging.StreamHandler",
|
"class": "logging.StreamHandler",
|
||||||
|
@ -40,34 +32,26 @@ DEFAULT_CONFIG = {
|
||||||
"class": "logging.FileHandler",
|
"class": "logging.FileHandler",
|
||||||
"formatter": "default",
|
"formatter": "default",
|
||||||
"filename": "phi.log",
|
"filename": "phi.log",
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
"loggers": {
|
"loggers": {
|
||||||
"phi": {
|
"phi": {"level": "INFO", "handlers": ["console", "file"],},
|
||||||
"level": "INFO",
|
"aiohttp": {"level": "INFO", "handlers": ["console", "file"],},
|
||||||
"handlers": ["console", "file"],
|
"ldap3": {"level": "WARNING", "handlers": ["console", "file"],},
|
||||||
},
|
},
|
||||||
"aiohttp": {
|
|
||||||
"level": "INFO",
|
|
||||||
"handlers": ["console", "file"],
|
|
||||||
},
|
},
|
||||||
"ldap3": {
|
|
||||||
"level": "WARNING",
|
|
||||||
"handlers": ["console", "file"],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DUMMY_CONFIG = {"core": {}, "ldap": {}, "logging": {}}
|
DUMMY_CONFIG = {"core": {}, "ldap": {}, "logging": {}}
|
||||||
|
|
||||||
CONFIG_FILE = 'config.yml'
|
CONFIG_FILE = "config.yml"
|
||||||
CONFIG_PATHS = ['./',
|
CONFIG_PATHS = [
|
||||||
'~/.config/' + NAME + '/',
|
"./",
|
||||||
'/usr/local/etc/' + NAME + '/',
|
"~/.config/" + NAME + "/",
|
||||||
'/etc/' + NAME + '/']
|
"/usr/local/etc/" + NAME + "/",
|
||||||
CONFIG_FILES = [os.path.join(p, CONFIG_FILE)
|
"/etc/" + NAME + "/",
|
||||||
for p in CONFIG_PATHS]
|
]
|
||||||
|
CONFIG_FILES = [os.path.join(p, CONFIG_FILE) for p in CONFIG_PATHS]
|
||||||
|
|
||||||
|
|
||||||
def get_config(config_path=None):
|
def get_config(config_path=None):
|
||||||
|
@ -84,7 +68,7 @@ def get_config(config_path=None):
|
||||||
return config_path, config
|
return config_path, config
|
||||||
for f in CONFIG_FILES:
|
for f in CONFIG_FILES:
|
||||||
try:
|
try:
|
||||||
with open(f, 'r') as c:
|
with open(f, "r") as c:
|
||||||
config = yaml.safe_load(c)
|
config = yaml.safe_load(c)
|
||||||
return (f, config)
|
return (f, config)
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
|
|
|
@ -4,10 +4,10 @@ from phi.ldap.utils import flatten_attributes
|
||||||
|
|
||||||
def user_attributes_mapping(client):
|
def user_attributes_mapping(client):
|
||||||
return {
|
return {
|
||||||
client.attribute_id: 'uid',
|
client.attribute_id: "uid",
|
||||||
client.attribute_mail: 'mail',
|
client.attribute_mail: "mail",
|
||||||
'createTimestamp': 'created_at',
|
"createTimestamp": "created_at",
|
||||||
'modifyTimestamp': 'modified_at'
|
"modifyTimestamp": "modified_at",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -19,8 +19,8 @@ def get_user_by_uid(client, uid):
|
||||||
|
|
||||||
mapping = user_attributes_mapping(client)
|
mapping = user_attributes_mapping(client)
|
||||||
|
|
||||||
user = {mapping[k]: v
|
user = {
|
||||||
for k, v in entry['attributes'].items()
|
mapping[k]: v for k, v in entry["attributes"].items() if k in mapping.keys()
|
||||||
if k in mapping.keys()}
|
}
|
||||||
|
|
||||||
return flatten_attributes(user)
|
return flatten_attributes(user)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user