33import urllib
44
55
6- def list_registered_directories (url : str , user : Optional [Union [str , bool ]] = None , contains : Optional [str ] = None , prefix : Optional [str ] = None ) -> List [Dict ]:
6+ def list_registered_directories (
7+ url : str ,
8+ user : Optional [Union [str , bool ]] = None ,
9+ contains : Optional [str ] = None ,
10+ prefix : Optional [str ] = None ,
11+ exists : Optional [bool ] = None ,
12+ ) -> List [Dict ]:
713 """
814 List all registered directories in the SewerRat instance.
915
@@ -25,6 +31,10 @@ def list_registered_directories(url: str, user: Optional[Union[str, bool]] = Non
2531 None, results are filtered to directories starting with this
2632 string.
2733
34+ exists:
35+ Whether to only report directories that exist on the filesystem.
36+ If ``False``, only non-existent directories are reported, and if ``None``, no filtering is applied based on existence.
37+
2838 Returns:
2939 List of objects where each object corresponds to a registered directory
3040 and contains the `path` to the directory, the `user` who registered it,
@@ -41,6 +51,12 @@ def list_registered_directories(url: str, user: Optional[Union[str, bool]] = Non
4151 query .append ("contains_path=" + urllib .parse .quote_plus (contains ))
4252 if not prefix is None :
4353 query .append ("path_prefix=" + urllib .parse .quote_plus (prefix ))
54+ if exists is not None :
55+ if exists :
56+ qstr = "true"
57+ else :
58+ qstr = "false"
59+ query .append ("exists=" + qstr )
4460
4561 url += "/registered"
4662 if len (query ) > 0 :
0 commit comments