def __init__(self, group, permission): super(PermissionFileFilter, self).__init__() if not validate_constant(Permissions, permission): raise GenestackException("Invalid permission") self._dict.update( {'permission': { 'group': group, 'value': permission }})
def find_files( self, file_filter, sort_order=SortOrder.DEFAULT, ascending=False, offset=0, limit=MAX_FILE_SEARCH_LIMIT ): """ Search for files with ``file_filter`` and return dictionary with two key/value pairs: - ``'total'``: total number (``int``) of files matching the query - ``'result'``: list of file info dictionaries for subset of matching files (from ``offset`` to ``offset+limit``). See the documentation of :py:meth:`~genestack_client.FilesUtil.get_infos` for the structure of these objects. :param file_filter: file filter :type file_filter: FileFilter :param sort_order: sorting order for the results, see :py:class:`~genestack_client.files_util.SortOrder` :type sort_order: str :param ascending: should the results be in ascending order? (default: False) :type ascending: bool :param offset: search offset (default: 0, cannot be negative) :type offset: int :param limit: maximum number of results to return (max and default: 100) :type limit: int :return: a dictionary with search response :rtype: dict[str, int|list[dict[str, str|dict]]] """ limit = min(self.MAX_FILE_SEARCH_LIMIT, limit) if offset < 0 or limit < 0: raise GenestackException("Search offset/limit cannot be negative") if not validate_constant(SortOrder, sort_order): raise GenestackException("Invalid sort order") return self.invoke('findFiles', file_filter.get_dict(), sort_order, ascending, offset, limit)
def find_files(self, file_filter, sort_order=SortOrder.DEFAULT, ascending=False, offset=0, limit=MAX_FILE_SEARCH_LIMIT): """ Search for files with ``file_filter`` and return dictionary with two key/value pairs: - ``'total'``: total number (``int``) of files matching the query - ``'result'``: list of file info dictionaries for subset of matching files (from ``offset`` to ``offset+limit``). See the documentation of :py:meth:`~genestack_client.FilesUtil.get_infos` for the structure of these objects. :param file_filter: file filter :type file_filter: FileFilter :param sort_order: sorting order for the results, see :py:class:`~genestack_client.files_util.SortOrder` :type sort_order: str :param ascending: should the results be in ascending order? (default: False) :type ascending: bool :param offset: search offset (default: 0, cannot be negative) :type offset: int :param limit: maximum number of results to return (max and default: 100) :type limit: int :return: a dictionary with search response :rtype: dict[str, int|list[dict[str, str|dict]]] """ limit = min(self.MAX_FILE_SEARCH_LIMIT, limit) if offset < 0 or limit < 0: raise GenestackException("Search offset/limit cannot be negative") if not validate_constant(SortOrder, sort_order): raise GenestackException("Invalid sort order") return self.invoke('findFiles', file_filter.get_dict(), sort_order, ascending, offset, limit)
def __init__(self, file_type): super(TypeFileFilter, self).__init__() if not validate_constant(FileTypes, file_type): raise GenestackException("Invalid file type") self._dict.update({'type': file_type})
def __init__(self, permission): super(ActualPermissionFileFilter, self).__init__() if not validate_constant(Permissions, permission): raise GenestackException("Invalid permission") self._dict.update({'access': permission})
def __init__(self, group, permission): super(PermissionFileFilter, self).__init__() if not validate_constant(Permissions, permission): raise GenestackException("Invalid permission") self._dict.update({'permission': {'group': group, 'value': permission}})