From fe73736eb22c1b30f1ac0f17460ddba749424eb9 Mon Sep 17 00:00:00 2001 From: Ubbo Veentjer <veentjer@sub.uni-goettingen.de> Date: Thu, 24 Feb 2022 20:25:06 +0100 Subject: [PATCH] feat(textgrid_named_dav_provider.py): show project names in dav root --- src/repdav/textgrid_named_dav_provider.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/repdav/textgrid_named_dav_provider.py b/src/repdav/textgrid_named_dav_provider.py index 92fd92a..7216b5c 100644 --- a/src/repdav/textgrid_named_dav_provider.py +++ b/src/repdav/textgrid_named_dav_provider.py @@ -6,6 +6,7 @@ from pprint import pformat from tgclients.config import TextgridConfig from tgclients.crud import TextgridCRUD from tgclients.metadata import TextgridMetadata +from tgclients.auth import TextgridAuth from wsgidav.util import join_uri from repdav.stream_tools import FileLikeQueue @@ -42,6 +43,16 @@ class TextgridNamedRoot(TextgridRoot): def __init__(self, path, environ): super().__init__(path, environ) + config = TextgridConfig() + self._auth = TextgridAuth(config) + + def get_member_names(self): + _logger.debug("Called TextgridNamedRoot.get_member_names(self).") + projects = [] + for project in tuple(self._auth.list_assigned_projects(self._sid)): + projects.append(self._auth.get_project_description(project).name + ' [' + project + ']') + _logger.debug("MY PROJECTS: %s", projects) + return projects def get_member(self, name): _logger.debug("Called TextgridRoot.get_member(self, %s).", name) @@ -62,7 +73,9 @@ class TextgridNamedProject(TextgridProject): # return names # # path resolution has to be rewritten before we can work with resource titles - response = self._tgsearch.list_project_root(self.path.split("/")[-1], self._sid) + name = self.path.split("/")[-1] + project_id = name[name.rfind('[')+1:name.rfind(']')] + response = self._tgsearch.list_project_root(project_id, self._sid) names = [] for result in response.result: names.append(self._tgmeta.filename_from_metadata(result)) -- GitLab