Skip to content
Snippets Groups Projects
Commit 060b2e0e authored by Joscha Schmiedt's avatar Joscha Schmiedt
Browse files

Add type hints to administration

parent 89920b24
No related branches found
No related tags found
2 merge requests!143Release 0.15.0,!135Add and fix more type hints
Pipeline #49968 failed
......@@ -23,7 +23,7 @@
#
# ** end header
#
from __future__ import annotations
"""missing docstring."""
import random
......@@ -38,8 +38,12 @@ from ..exceptions import (EntityDoesNotExistError, HTTPClientError,
ServerConfigurationException)
from .utils import xml2str
from typing import Dict, Optional, TYPE_CHECKING
if TYPE_CHECKING:
from ..common.models import Entity
def set_server_property(key, value):
def set_server_property(key: str, value: str):
"""set_server_property.
Set a server property.
......@@ -65,7 +69,7 @@ def set_server_property(key, value):
"Debug mode in server is probably disabled.") from None
def get_server_properties():
def get_server_properties() -> Dict[str, Optional[str]]:
"""get_server_properties.
Get all server properties as a dict.
......@@ -84,7 +88,7 @@ def get_server_properties():
"Debug mode in server is probably disabled.") from None
xml = etree.parse(body)
props = dict()
props: Dict[str, Optional[str]] = dict()
for elem in xml.getroot():
props[elem.tag] = elem.text
......@@ -92,7 +96,7 @@ def get_server_properties():
return props
def get_server_property(key):
def get_server_property(key: str) -> Optional[str]:
"""get_server_property.
Get a server property.
......@@ -149,7 +153,7 @@ def generate_password(length: int):
return password
def _retrieve_user(name, realm=None, **kwargs):
def _retrieve_user(name: str, realm: Optional[str] = None, **kwargs):
con = get_connection()
try:
return con._http_request(method="GET", path="User/" + (realm + "/" + name if realm is not None else name), **kwargs).read()
......@@ -161,7 +165,7 @@ def _retrieve_user(name, realm=None, **kwargs):
raise
def _delete_user(name, **kwargs):
def _delete_user(name: str, **kwargs):
con = get_connection()
try:
return con._http_request(method="DELETE", path="User/" + name, **kwargs).read()
......@@ -173,10 +177,14 @@ def _delete_user(name, **kwargs):
raise
def _update_user(name, realm=None, password=None, status=None,
email=None, entity=None, **kwargs):
def _update_user(name: str,
realm: Optional[str] = None,
password: Optional[str] = None,
status: Optional[str] = None,
email: Optional[str] = None,
entity: Optional[Entity] = None, **kwargs):
con = get_connection()
params = {}
params: Dict[str, Optional[str]] = {}
if password is not None:
params["password"] = password
......@@ -204,7 +212,11 @@ def _update_user(name, realm=None, password=None, status=None,
raise
def _insert_user(name, password=None, status=None, email=None, entity=None, **kwargs):
def _insert_user(name: str,
password: Optional[str] = None,
status: Optional[str] = None,
email: Optional[str] = None,
entity: Optional[Entity] = None, **kwargs):
con = get_connection()
params = {"username": name}
......@@ -394,15 +406,15 @@ priority : bool, optional
"""
@staticmethod
def _parse_boolean(bstr):
def _parse_boolean(bstr) -> bool:
return str(bstr) in ["True", "true", "TRUE", "yes"]
def __init__(self, action, permission, priority=False):
def __init__(self, action: str, permission: str, priority: bool = False):
self._action = action
self._permission = permission
self._priority = PermissionRule._parse_boolean(priority)
def _to_xml(self):
def _to_xml(self) -> etree._Element:
xml = etree.Element(self._action)
xml.set("permission", self._permission)
......@@ -412,12 +424,15 @@ priority : bool, optional
return xml
@staticmethod
def _parse_element(elem):
return PermissionRule(elem.tag, elem.get(
"permission"), elem.get("priority"))
def _parse_element(elem: etree._Element):
permission = elem.get("permission")
if permission is None:
raise ValueError(f"Permission is missing in PermissionRule xml: {etree.tostring(elem)}")
priority = PermissionRule._parse_boolean(elem.get("priority"))
return PermissionRule(elem.tag, permission, priority if priority is not None else False)
@staticmethod
def _parse_body(body):
def _parse_body(body: str):
xml = etree.fromstring(body)
ret = set()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment