def get_folders(self, **kwargs): path = kwargs.get('path') if path is None: return [{ 'addon': 'nextcloud', 'path': '/', 'kind': 'folder', 'id': '/', 'name': '/ (Full Nextcloud)', 'urls': { 'folders': api_v2_url('nodes/{}/addons/nextcloud/folders/'.format( self.owner._id), params={ 'path': '/', }) } }] provider = NextcloudProvider(account=self.external_account) c = NextcloudClient(provider.host, verify_certs=settings.USE_SSL) c.login(provider.username, provider.password) ret = [] for item in c.list(path): if item.file_type is 'dir': ret.append({ 'addon': 'nextcloud', 'path': item.path, 'kind': 'folder', 'id': item.path, 'name': item.path.strip('/').split('/')[-1], 'urls': { 'folders': api_v2_url('nodes/{}/addons/nextcloud/folders/'.format( self.owner._id), params={ 'path': item.path, }) } }) return ret
def get_folders(self, **kwargs): path = kwargs.get('path') if path is None: return [{ 'addon': 'owncloud', 'path': '/', 'kind': 'folder', 'id': '/', 'name': '/ (Full ownCloud)', 'urls': { 'folders': api_v2_url('nodes/{}/addons/owncloud/folders/'.format(self.owner._id), params={ 'path': '/', }) } }] provider = OwnCloudProvider(account=self.external_account) c = OwnCloudClient(provider.host, verify_certs=settings.USE_SSL) c.login(provider.username, provider.password) ret = [] for item in c.list(path): if item.file_type is 'dir': ret.append({ 'addon': 'owncloud', 'path': item.path, 'kind': 'folder', 'id': item.path, 'name': item.path.strip('/').split('/')[-1], 'urls': { 'folders': api_v2_url('nodes/{}/addons/owncloud/folders/'.format(self.owner._id), params={ 'path': item.path, }) } }) return ret