cosmetics

This commit is contained in:
Peter Bieringer
2026-03-03 19:44:35 +01:00
parent ac4ff709d7
commit 3bb333a1a7
5 changed files with 181 additions and 181 deletions

View File

@@ -80,7 +80,7 @@ def xml_proppatch(base_prefix: str, path: str,
all_props = radicale_item.check_and_sanitize_props(all_props_with_remove) all_props = radicale_item.check_and_sanitize_props(all_props_with_remove)
if sharing and sharing_overlay and _sharing is not None: if sharing and sharing_overlay and _sharing is not None:
# _sharing is not None: always the case, but makes mypy happy # _sharing is not None: always the case, but makes mypy happy
_sharing.update_sharing(ShareType=sharing['ShareType'], _sharing.database_update_sharing(ShareType=sharing['ShareType'],
PathOrToken=sharing['PathOrToken'], PathOrToken=sharing['PathOrToken'],
OwnerOrUser=sharing['User'], OwnerOrUser=sharing['User'],
Properties=cast(Dict[str, str], all_props)) Properties=cast(Dict[str, str], all_props))

View File

@@ -132,36 +132,36 @@ class BaseSharing:
# database tasks # database tasks
self.sharing_db_type = configuration.get("sharing", "type") self.sharing_db_type = configuration.get("sharing", "type")
logger.info("sharing.db_type: %s", self.sharing_db_type) logger.info("sharing.database_type: %s", self.sharing_db_type)
try: try:
if self.init_database() is False: if self.database_init() is False:
logger.info("sharing disabled as no database is active") logger.info("sharing disabled as no database is active")
self._enabled = False self._enabled = False
return return
except Exception as e: except Exception as e:
logger.error("sharing database cannot be initialized: %r", e) logger.error("sharing database cannot be initialized: %r", e)
exit(1) exit(1)
database_info = self.get_database_info() database_info = self.database_get_info()
if database_info: if database_info:
logger.info("sharing database info: %r", database_info) logger.info("sharing database info: %r", database_info)
else: else:
logger.info("sharing database info: (not provided)") logger.info("sharing database info: (not provided)")
# overloadable functions # overloadable database functions
def init_database(self) -> bool: def database_init(self) -> bool:
""" initialize database """ """ initialize db """
return False return False
def get_database_info(self) -> Union[dict, None]: def database_get_info(self) -> Union[dict, None]:
""" retrieve database information """ """ retrieve db information """
return None return None
def verify_database(self) -> bool: def database_verify(self) -> bool:
""" verify database information """ """ verify db information """
return False return False
def list_sharing(self, def database_list_sharing(self,
OwnerOrUser: Union[str, None] = None, OwnerOrUser: Union[str, None] = None,
ShareType: Union[str, None] = None, ShareType: Union[str, None] = None,
PathOrToken: Union[str, None] = None, PathOrToken: Union[str, None] = None,
@@ -174,7 +174,7 @@ class BaseSharing:
""" retrieve sharing """ """ retrieve sharing """
return [] return []
def get_sharing(self, def database_get_sharing(self,
ShareType: str, ShareType: str,
PathOrToken: str, PathOrToken: str,
OnlyEnabled: bool = True, OnlyEnabled: bool = True,
@@ -182,7 +182,7 @@ class BaseSharing:
""" retrieve sharing target and attributes by map """ """ retrieve sharing target and attributes by map """
return {"status": "not-implemented"} return {"status": "not-implemented"}
def create_sharing(self, def database_create_sharing(self,
ShareType: str, ShareType: str,
PathOrToken: str, PathMapped: str, PathOrToken: str, PathMapped: str,
Owner: str, User: str, Owner: str, User: str,
@@ -194,7 +194,7 @@ class BaseSharing:
""" create sharing """ """ create sharing """
return {"status": "not-implemented"} return {"status": "not-implemented"}
def update_sharing(self, def database_update_sharing(self,
ShareType: str, ShareType: str,
PathOrToken: str, PathOrToken: str,
OwnerOrUser: Union[str, None] = None, OwnerOrUser: Union[str, None] = None,
@@ -210,7 +210,7 @@ class BaseSharing:
""" update sharing """ """ update sharing """
return {"status": "not-implemented"} return {"status": "not-implemented"}
def delete_sharing(self, def database_delete_sharing(self,
ShareType: str, ShareType: str,
PathOrToken: str) -> dict: PathOrToken: str) -> dict:
""" delete sharing """ """ delete sharing """
@@ -221,7 +221,7 @@ class BaseSharing:
""" verify database """ """ verify database """
logger.info("sharing database verification begin") logger.info("sharing database verification begin")
logger.info("sharing database verification call: %s", self.sharing_db_type) logger.info("sharing database verification call: %s", self.sharing_db_type)
result = self.verify_database() result = self.database_verify()
if result is not True: if result is not True:
logger.error("sharing database verification call -> PROBLEM: %s", self.sharing_db_type) logger.error("sharing database verification call -> PROBLEM: %s", self.sharing_db_type)
return False return False
@@ -231,7 +231,7 @@ class BaseSharing:
# check all entries # check all entries
logger.info("sharing database verification content start") logger.info("sharing database verification content start")
with self._storage.acquire_lock("r"): with self._storage.acquire_lock("r"):
for entry in self.list_sharing(): for entry in self.database_list_sharing():
logger.debug("analyze: %r", entry) logger.debug("analyze: %r", entry)
if entry['ShareType'] not in SHARE_TYPES_V1: if entry['ShareType'] not in SHARE_TYPES_V1:
logger.error("ShareType not supported: %r", entry['ShareType']) logger.error("ShareType not supported: %r", entry['ShareType'])
@@ -285,7 +285,7 @@ class BaseSharing:
# retrieve collections which are enabled and not hidden by owner+user # retrieve collections which are enabled and not hidden by owner+user
if active: if active:
shared_collection_list = self.list_sharing( shared_collection_list = self.database_list_sharing(
ShareType="map", ShareType="map",
OwnerOrUser=user, OwnerOrUser=user,
User=user, User=user,
@@ -295,7 +295,7 @@ class BaseSharing:
HiddenByUser=False) HiddenByUser=False)
else: else:
# unconditional # unconditional
shared_collection_list = self.list_sharing( shared_collection_list = self.database_list_sharing(
ShareType="map", ShareType="map",
OwnerOrUser=user, OwnerOrUser=user,
User=user) User=user)
@@ -320,7 +320,7 @@ class BaseSharing:
# TODO add token validity checks # TODO add token validity checks
if logger.isEnabledFor(logging.DEBUG): if logger.isEnabledFor(logging.DEBUG):
logger.debug("TRACE/sharing/token: supported token found in path: %r (token=%r)", path, match[1]) logger.debug("TRACE/sharing/token: supported token found in path: %r (token=%r)", path, match[1])
return self.get_sharing( return self.database_get_sharing(
ShareType="token", ShareType="token",
PathOrToken=match[1]) PathOrToken=match[1])
else: else:
@@ -337,7 +337,7 @@ class BaseSharing:
if self.sharing_collection_by_map: if self.sharing_collection_by_map:
if logger.isEnabledFor(logging.DEBUG): if logger.isEnabledFor(logging.DEBUG):
logger.debug("TRACE/sharing/map/resolver: check path: %r", path) logger.debug("TRACE/sharing/map/resolver: check path: %r", path)
result = self.get_sharing( result = self.database_get_sharing(
ShareType="map", ShareType="map",
PathOrToken=path, PathOrToken=path,
User=user) User=user)
@@ -348,7 +348,7 @@ class BaseSharing:
parent_path = pathutils.parent_path(path) parent_path = pathutils.parent_path(path)
if logger.isEnabledFor(logging.DEBUG): if logger.isEnabledFor(logging.DEBUG):
logger.debug("TRACE/sharing/map/resolver: check parent path: %r", parent_path) logger.debug("TRACE/sharing/map/resolver: check parent path: %r", parent_path)
result = self.get_sharing( result = self.database_get_sharing(
ShareType="map", ShareType="map",
PathOrToken=parent_path, PathOrToken=parent_path,
User=user) User=user)
@@ -644,13 +644,13 @@ class BaseSharing:
logger.debug("TRACE/" + api_info + ": filter: %r", PathOrToken) logger.debug("TRACE/" + api_info + ": filter: %r", PathOrToken)
if ShareType != "all": if ShareType != "all":
result_array = self.list_sharing( result_array = self.database_list_sharing(
ShareType=ShareType, ShareType=ShareType,
OwnerOrUser=user, OwnerOrUser=user,
PathMapped=PathMapped, PathMapped=PathMapped,
PathOrToken=PathOrToken) PathOrToken=PathOrToken)
else: else:
result_array = self.list_sharing( result_array = self.database_list_sharing(
OwnerOrUser=user, OwnerOrUser=user,
PathMapped=PathMapped, PathMapped=PathMapped,
PathOrToken=PathOrToken) PathOrToken=PathOrToken)
@@ -725,7 +725,7 @@ class BaseSharing:
if logger.isEnabledFor(logging.DEBUG): if logger.isEnabledFor(logging.DEBUG):
logger.debug("TRACE/" + api_info + ": %r (Permissions=%r token=%r)", PathMapped, Permissions, token) logger.debug("TRACE/" + api_info + ": %r (Permissions=%r token=%r)", PathMapped, Permissions, token)
result = self.create_sharing( result = self.database_create_sharing(
ShareType=ShareType, ShareType=ShareType,
PathOrToken=token, PathOrToken=token,
PathMapped=PathMapped, PathMapped=PathMapped,
@@ -750,7 +750,7 @@ class BaseSharing:
PathOrToken = str(PathOrToken) PathOrToken = str(PathOrToken)
# retrieve existing share # retrieve existing share
share = self.get_sharing(ShareType=ShareType, PathOrToken=PathOrToken, OnlyEnabled=False) share = self.database_get_sharing(ShareType=ShareType, PathOrToken=PathOrToken, OnlyEnabled=False)
if share is not None: if share is not None:
logger.error("Sharing/create/%s: already exists: %r", ShareType, PathOrToken) logger.error("Sharing/create/%s: already exists: %r", ShareType, PathOrToken)
return httputils.CONFLICT return httputils.CONFLICT
@@ -792,7 +792,7 @@ class BaseSharing:
if logger.isEnabledFor(logging.DEBUG): if logger.isEnabledFor(logging.DEBUG):
logger.debug("TRACE/" + api_info + ": %r (Permissions=%r PathOrToken=%r user=%r)", PathMapped, Permissions, PathOrToken, User) logger.debug("TRACE/" + api_info + ": %r (Permissions=%r PathOrToken=%r user=%r)", PathMapped, Permissions, PathOrToken, User)
result = self.create_sharing( result = self.database_create_sharing(
ShareType=ShareType, ShareType=ShareType,
PathOrToken=PathOrToken, PathOrToken=PathOrToken,
PathMapped=PathMapped, PathMapped=PathMapped,
@@ -840,7 +840,7 @@ class BaseSharing:
PathOrToken = str(PathOrToken) PathOrToken = str(PathOrToken)
# retrieve existing share # retrieve existing share
share = self.get_sharing(ShareType=ShareType, PathOrToken=PathOrToken, OnlyEnabled=False) share = self.database_get_sharing(ShareType=ShareType, PathOrToken=PathOrToken, OnlyEnabled=False)
if share is None: if share is None:
return httputils.NOT_FOUND return httputils.NOT_FOUND
@@ -852,7 +852,7 @@ class BaseSharing:
logger.warning("Update sharing: access to PathMapped %r not allowed for user %r", PathMapped, user) logger.warning("Update sharing: access to PathMapped %r not allowed for user %r", PathMapped, user)
return httputils.NOT_ALLOWED return httputils.NOT_ALLOWED
result = self.update_sharing( result = self.database_update_sharing(
ShareType=ShareType, ShareType=ShareType,
PathMapped=PathMapped, PathMapped=PathMapped,
Permissions=Permissions, Permissions=Permissions,
@@ -887,7 +887,7 @@ class BaseSharing:
return httputils.NOT_ALLOWED return httputils.NOT_ALLOWED
# limited update as user # limited update as user
result = self.update_sharing( result = self.database_update_sharing(
ShareType=ShareType, ShareType=ShareType,
PathOrToken=str(PathOrToken), # verification above that it is not None PathOrToken=str(PathOrToken), # verification above that it is not None
EnabledByUser=Enabled, EnabledByUser=Enabled,
@@ -930,12 +930,12 @@ class BaseSharing:
PathOrToken = str(PathOrToken) PathOrToken = str(PathOrToken)
# check whether share exists # check whether share exists
share = self.get_sharing(ShareType=ShareType, PathOrToken=PathOrToken, OnlyEnabled=False) share = self.database_get_sharing(ShareType=ShareType, PathOrToken=PathOrToken, OnlyEnabled=False)
if share is None: if share is None:
return httputils.NOT_FOUND return httputils.NOT_FOUND
if user == share['Owner']: if user == share['Owner']:
result = self.delete_sharing( result = self.database_delete_sharing(
ShareType=ShareType, ShareType=ShareType,
PathOrToken=PathOrToken) # verification above that it is not None PathOrToken=PathOrToken) # verification above that it is not None
else: else:
@@ -982,7 +982,7 @@ class BaseSharing:
else: else:
PathOrToken = str(PathOrToken) PathOrToken = str(PathOrToken)
share = self.get_sharing(ShareType=ShareType, PathOrToken=PathOrToken, OnlyEnabled=False) share = self.database_get_sharing(ShareType=ShareType, PathOrToken=PathOrToken, OnlyEnabled=False)
if share is None: if share is None:
return httputils.NOT_FOUND return httputils.NOT_FOUND
@@ -1001,7 +1001,7 @@ class BaseSharing:
if user == share['Owner']: if user == share['Owner']:
if user == share['User']: if user == share['User']:
# user is Owner and User # user is Owner and User
result = self.update_sharing( result = self.database_update_sharing(
ShareType=ShareType, ShareType=ShareType,
PathOrToken=PathOrToken, PathOrToken=PathOrToken,
EnabledByOwner=Enabled, EnabledByOwner=Enabled,
@@ -1010,7 +1010,7 @@ class BaseSharing:
HiddenByUser=Hidden, HiddenByUser=Hidden,
Timestamp=Timestamp) Timestamp=Timestamp)
else: else:
result = self.update_sharing( result = self.database_update_sharing(
ShareType=ShareType, ShareType=ShareType,
PathOrToken=PathOrToken, PathOrToken=PathOrToken,
EnabledByOwner=Enabled, EnabledByOwner=Enabled,
@@ -1018,7 +1018,7 @@ class BaseSharing:
Timestamp=Timestamp) Timestamp=Timestamp)
elif user == share['User']: elif user == share['User']:
result = self.update_sharing( result = self.database_update_sharing(
ShareType=ShareType, ShareType=ShareType,
PathOrToken=str(PathOrToken), # verification above that it is not None PathOrToken=str(PathOrToken), # verification above that it is not None
EnabledByUser=Enabled, EnabledByUser=Enabled,

View File

@@ -31,7 +31,7 @@ class Sharing(sharing.BaseSharing):
_sharing_db_file: str _sharing_db_file: str
# Overloaded functions # Overloaded functions
def init_database(self) -> bool: def database_init(self) -> bool:
logger.debug("sharing database initialization for type 'csv'") logger.debug("sharing database initialization for type 'csv'")
sharing_db_file = self.configuration.get("sharing", "database_path") sharing_db_file = self.configuration.get("sharing", "database_path")
if sharing_db_file == "": if sharing_db_file == "":
@@ -76,11 +76,11 @@ class Sharing(sharing.BaseSharing):
self._sharing_db_file = sharing_db_file self._sharing_db_file = sharing_db_file
return True return True
def get_database_info(self) -> Union[dict, None]: def database_get_info(self) -> Union[dict, None]:
database_info = {'type': "csv"} database_info = {'type': "csv"}
return database_info return database_info
def verify_database(self) -> bool: def database_verify(self) -> bool:
logger.info("sharing database (csv) verification begin") logger.info("sharing database (csv) verification begin")
logger.info("sharing database (csv) file: %r", self._sharing_db_file) logger.info("sharing database (csv) file: %r", self._sharing_db_file)
logger.info("sharing database (csv) loaded entries: %d", self._lines) logger.info("sharing database (csv) loaded entries: %d", self._lines)
@@ -88,7 +88,7 @@ class Sharing(sharing.BaseSharing):
logger.info("sharing database (csv) verification end") logger.info("sharing database (csv) verification end")
return True return True
def get_sharing(self, def database_get_sharing(self,
ShareType: str, ShareType: str,
PathOrToken: str, PathOrToken: str,
OnlyEnabled: bool = True, OnlyEnabled: bool = True,
@@ -143,7 +143,7 @@ class Sharing(sharing.BaseSharing):
"Properties": Properties} "Properties": Properties}
return None return None
def list_sharing(self, def database_list_sharing(self,
OwnerOrUser: Union[str, None] = None, OwnerOrUser: Union[str, None] = None,
ShareType: Union[str, None] = None, ShareType: Union[str, None] = None,
PathOrToken: Union[str, None] = None, PathOrToken: Union[str, None] = None,
@@ -201,7 +201,7 @@ class Sharing(sharing.BaseSharing):
index += 1 index += 1
return result return result
def create_sharing(self, def database_create_sharing(self,
ShareType: str, ShareType: str,
PathOrToken: str, PathMapped: str, PathOrToken: str, PathMapped: str,
Owner: str, User: str, Owner: str, User: str,
@@ -264,7 +264,7 @@ class Sharing(sharing.BaseSharing):
logger.error("sharing/%s/create: cannot update CSV database", ShareType) logger.error("sharing/%s/create: cannot update CSV database", ShareType)
return {"status": "error"} return {"status": "error"}
def update_sharing(self, def database_update_sharing(self,
ShareType: str, ShareType: str,
PathOrToken: str, PathOrToken: str,
OwnerOrUser: Union[str, None] = None, OwnerOrUser: Union[str, None] = None,
@@ -337,7 +337,7 @@ class Sharing(sharing.BaseSharing):
else: else:
return {"status": "not-found"} return {"status": "not-found"}
def delete_sharing(self, def database_delete_sharing(self,
ShareType: str, ShareType: str,
PathOrToken: str) -> dict: PathOrToken: str) -> dict:
""" delete sharing """ """ delete sharing """

View File

@@ -29,19 +29,19 @@ DB_VERSION: str = "1"
class Sharing(sharing.BaseSharing): class Sharing(sharing.BaseSharing):
_sharing_db_path_ShareType: dict = {} _sharing_database_path_ShareType: dict = {}
# Overloaded functions # Overloaded functions
def init_database(self) -> bool: def database_init(self) -> bool:
logger.debug("sharing database initialization for type 'files'") logger.debug("sharing database initialization for type 'files'")
sharing_db_path = self.configuration.get("sharing", "database_path") sharing_database_path = self.configuration.get("sharing", "database_path")
if sharing_db_path == "": if sharing_database_path == "":
folder = self.configuration.get("storage", "filesystem_folder") folder = self.configuration.get("storage", "filesystem_folder")
folder_db = os.path.join(folder, "collection-db") folder_db = os.path.join(folder, "collection-db")
sharing_db_path = os.path.join(folder_db, "files") sharing_database_path = os.path.join(folder_db, "files")
logger.info("sharing database path not provided, use default: %r", sharing_db_path) logger.info("sharing database path not provided, use default: %r", sharing_database_path)
else: else:
logger.info("sharing database path: %r", sharing_db_path) logger.info("sharing database path: %r", sharing_database_path)
if not os.path.exists(folder_db): if not os.path.exists(folder_db):
logger.warning("sharing database folder is not existing: %r (create now)", folder_db) logger.warning("sharing database folder is not existing: %r (create now)", folder_db)
@@ -52,18 +52,18 @@ class Sharing(sharing.BaseSharing):
return False return False
logger.info("sharing database folder successfully created: %r", folder_db) logger.info("sharing database folder successfully created: %r", folder_db)
if not os.path.exists(sharing_db_path): if not os.path.exists(sharing_database_path):
logger.warning("sharing database path is not existing: %r", sharing_db_path) logger.warning("sharing database path is not existing: %r", sharing_database_path)
try: try:
os.mkdir(sharing_db_path) os.mkdir(sharing_database_path)
except Exception as e: except Exception as e:
logger.error("sharing database path cannot be created (check permissions): %r (%r)", sharing_db_path, e) logger.error("sharing database path cannot be created (check permissions): %r (%r)", sharing_database_path, e)
return False return False
logger.info("sharing database path successfully created: %r", sharing_db_path) logger.info("sharing database path successfully created: %r", sharing_database_path)
for ShareType in sharing.SHARE_TYPES_V1: for ShareType in sharing.SHARE_TYPES_V1:
path = os.path.join(sharing_db_path, ShareType) path = os.path.join(sharing_database_path, ShareType)
self._sharing_db_path_ShareType[ShareType] = path self._sharing_database_path_ShareType[ShareType] = path
if not os.path.exists(path): if not os.path.exists(path):
logger.warning("sharing database path for %r is not existing: %r", ShareType, path) logger.warning("sharing database path for %r is not existing: %r", ShareType, path)
try: try:
@@ -74,19 +74,19 @@ class Sharing(sharing.BaseSharing):
logger.info("sharing database path for %r successfully created: %r", ShareType, path) logger.info("sharing database path for %r successfully created: %r", ShareType, path)
return True return True
def get_database_info(self) -> Union[dict, None]: def database_get_info(self) -> Union[dict, None]:
database_info = {'type': "files"} database_info = {'type': "files"}
return database_info return database_info
def verify_database(self) -> bool: def database_verify(self) -> bool:
logger.info("sharing database (files) verification begin") logger.info("sharing database (files) verification begin")
for ShareType in sharing.SHARE_TYPES_V1: for ShareType in sharing.SHARE_TYPES_V1:
logger.info("sharing database (files) path for %r: %r", ShareType, self._sharing_db_path_ShareType[ShareType]) logger.info("sharing database (files) path for %r: %r", ShareType, self._sharing_database_path_ShareType[ShareType])
# TODO: count amount of files # TODO: count amount of files
logger.info("sharing database (files) verification end") logger.info("sharing database (files) verification end")
return True return True
def get_sharing(self, def database_get_sharing(self,
ShareType: str, ShareType: str,
PathOrToken: str, PathOrToken: str,
OnlyEnabled: bool = True, OnlyEnabled: bool = True,
@@ -96,7 +96,7 @@ class Sharing(sharing.BaseSharing):
if logger.isEnabledFor(logging.DEBUG): if logger.isEnabledFor(logging.DEBUG):
logger.debug("TRACE/sharing/%s/get: PathOrToken=%r User=%r)", ShareType, PathOrToken, User) logger.debug("TRACE/sharing/%s/get: PathOrToken=%r User=%r)", ShareType, PathOrToken, User)
sharing_config_file = os.path.join(self._sharing_db_path_ShareType[ShareType], self._encode_path(PathOrToken)) sharing_config_file = os.path.join(self._sharing_database_path_ShareType[ShareType], self._encode_path(PathOrToken))
if not os.path.isfile(sharing_config_file): if not os.path.isfile(sharing_config_file):
return None return None
@@ -141,7 +141,7 @@ class Sharing(sharing.BaseSharing):
return None return None
def list_sharing(self, def database_list_sharing(self,
OwnerOrUser: Union[str, None] = None, OwnerOrUser: Union[str, None] = None,
ShareType: Union[str, None] = None, ShareType: Union[str, None] = None,
PathOrToken: Union[str, None] = None, PathOrToken: Union[str, None] = None,
@@ -162,7 +162,7 @@ class Sharing(sharing.BaseSharing):
# skip # skip
continue continue
path = self._sharing_db_path_ShareType[_ShareType] path = self._sharing_database_path_ShareType[_ShareType]
with self._storage.acquire_lock("r", OwnerOrUser, path=path): with self._storage.acquire_lock("r", OwnerOrUser, path=path):
for entry in os.scandir(path): for entry in os.scandir(path):
if not entry.is_file(): if not entry.is_file():
@@ -213,7 +213,7 @@ class Sharing(sharing.BaseSharing):
return result return result
def create_sharing(self, def database_create_sharing(self,
ShareType: str, ShareType: str,
PathOrToken: str, PathMapped: str, PathOrToken: str, PathMapped: str,
Owner: str, User: str, Owner: str, User: str,
@@ -225,7 +225,7 @@ class Sharing(sharing.BaseSharing):
""" create sharing """ """ create sharing """
row: dict row: dict
sharing_config_file = os.path.join(self._sharing_db_path_ShareType[ShareType], self._encode_path(PathOrToken)) sharing_config_file = os.path.join(self._sharing_database_path_ShareType[ShareType], self._encode_path(PathOrToken))
if logger.isEnabledFor(logging.DEBUG): if logger.isEnabledFor(logging.DEBUG):
logger.debug("TRACE/sharing/%s/create: sharing_config_file=%r", ShareType, sharing_config_file) logger.debug("TRACE/sharing/%s/create: sharing_config_file=%r", ShareType, sharing_config_file)
@@ -262,7 +262,7 @@ class Sharing(sharing.BaseSharing):
logger.error("sharing/%s/create: cannot store share-config: %r (%r)", ShareType, sharing_config_file, e) logger.error("sharing/%s/create: cannot store share-config: %r (%r)", ShareType, sharing_config_file, e)
return {"status": "error"} return {"status": "error"}
def update_sharing(self, def database_update_sharing(self,
ShareType: str, ShareType: str,
PathOrToken: str, PathOrToken: str,
OwnerOrUser: Union[str, None] = None, OwnerOrUser: Union[str, None] = None,
@@ -279,7 +279,7 @@ class Sharing(sharing.BaseSharing):
if logger.isEnabledFor(logging.DEBUG): if logger.isEnabledFor(logging.DEBUG):
logger.debug("TRACE/sharing/%s/update: PathOrToken=%r OwnerOrUser=%r User=%r Properties=%r", ShareType, PathOrToken, OwnerOrUser, User, Properties) logger.debug("TRACE/sharing/%s/update: PathOrToken=%r OwnerOrUser=%r User=%r Properties=%r", ShareType, PathOrToken, OwnerOrUser, User, Properties)
sharing_config_file = os.path.join(self._sharing_db_path_ShareType[ShareType], self._encode_path(PathOrToken)) sharing_config_file = os.path.join(self._sharing_database_path_ShareType[ShareType], self._encode_path(PathOrToken))
if not os.path.isfile(sharing_config_file): if not os.path.isfile(sharing_config_file):
return {"status": "not-found"} return {"status": "not-found"}
@@ -331,14 +331,14 @@ class Sharing(sharing.BaseSharing):
logger.error("sharing/%s/create: cannot store share-config: %r (%r)", ShareType, sharing_config_file, e) logger.error("sharing/%s/create: cannot store share-config: %r (%r)", ShareType, sharing_config_file, e)
return {"status": "error"} return {"status": "error"}
def delete_sharing(self, def database_delete_sharing(self,
ShareType: str, ShareType: str,
PathOrToken: str) -> dict: PathOrToken: str) -> dict:
""" delete sharing """ """ delete sharing """
if logger.isEnabledFor(logging.DEBUG): if logger.isEnabledFor(logging.DEBUG):
logger.debug("TRACE/sharing/%s/delete: PathOrToken=%r", ShareType, PathOrToken) logger.debug("TRACE/sharing/%s/delete: PathOrToken=%r", ShareType, PathOrToken)
sharing_config_file = os.path.join(self._sharing_db_path_ShareType[ShareType], self._encode_path(PathOrToken)) sharing_config_file = os.path.join(self._sharing_database_path_ShareType[ShareType], self._encode_path(PathOrToken))
if not os.path.isfile(sharing_config_file): if not os.path.isfile(sharing_config_file):
return {"status": "not-found"} return {"status": "not-found"}

View File

@@ -470,7 +470,7 @@ class TestSharingApiSanity(BaseTest):
assert "Status=success" in answer assert "Status=success" in answer
assert "Lines=1" in answer assert "Lines=1" in answer
logging.info("\n*** disable token#2 as iwner (form->text)") logging.info("\n*** disable token#2 as owner (form->text)")
form_array = ["PathOrToken=" + token2] form_array = ["PathOrToken=" + token2]
_, headers, answer = self._sharing_api_form("token", "disable", check=200, login="owner:ownerpw", form_array=form_array) _, headers, answer = self._sharing_api_form("token", "disable", check=200, login="owner:ownerpw", form_array=form_array)
assert "Status=success" in answer assert "Status=success" in answer