def metadata(self, path, list=True, file_limit=25000, hash=None, rev=None, include_deleted=False, callback=None): path = "/metadata/%s%s" % (self.session.root, client.format_path(path)) params = { 'file_limit': file_limit, 'list': 'true', 'include_deleted': include_deleted, } if not list: params['list'] = 'false' if hash is not None: params['hash'] = hash if rev: params['rev'] = rev url, params, headers = self.request(path, params, method='GET') return self.rest_client.GET(url, headers, callback=callback)
def getsyspath(self, path, allow_none=False): """Returns a path as the Dropbox API specifies. Non unicode paths will explicitely converted into unicode paths, as the filesystems supports those.""" if not isinstance(path, unicode): path = unicode(path) if allow_none: return None return client.format_path(abspath(normpath(path)))
def get_file(self, from_path, rev=None, callback=None): path = "/files/%s%s" % (self.session.root, client.format_path(from_path)) params = {} if rev is not None: params['rev'] = rev url, params, headers = self.request(path, params, method='GET', content_server=True) return self.rest_client.request("GET", url, headers=headers, raw_response=True, callback=callback)
def share_link(self, path=None, short_url=False, *args, **kwargs): if not path: path = self.dropbox_filepath dbclient = self.get_client() path = "/shares/%s%s" % (dbclient.session.root, format_path(path)) kwargs['short_url'] = short_url url, params, headers = dbclient.request(path, kwargs, method='GET') return dbclient.rest_client.GET(url, headers)
def commit_chunk(self, full_path, upload_id, overwrite=False, parent_rev=None, callback=None): path = "/commit_chunked_upload/%s%s" % (self.session.root, client.format_path(full_path)) params = { 'overwrite': bool(overwrite), 'upload_id': str(upload_id) } if parent_rev is not None: params['parent_rev'] = parent_rev url, params, headers = self.request(path, params=params, method='POST', content_server=True) return self.rest_client.POST(url, params=params, headers=headers, callback=callback)
def put_file(self, full_path, file_obj, overwrite=False, parent_rev=None, callback=None): path = "/files_put/%s%s" % (self.session.root, client.format_path(full_path)) params = { 'overwrite': bool(overwrite), } if parent_rev is not None: params['parent_rev'] = parent_rev url, params, headers = self.request(path, params, method='PUT', content_server=True) return self.rest_client.PUT(url, file_obj, headers, callback=callback)
def preview(self, from_path, rev=None): """ Generate a PDF/HTML preview of a file. Note: this functionality is missing from the Python Dropbox module as of v2.2.0. Please remove this function if/when it is added to the official module. """ path = "/previews/%s%s" % (self.session.root, format_path(from_path)) params = {} if rev: params['rev'] = rev url, params, headers = self.request(path, params, method='GET', content_server=True) return self.rest_client.request("GET", url, headers=headers, raw_response=True)
def metadata(self, path, list=True, file_limit=25000, hash=None, rev=None, include_deleted=False, callback=None): path = "/metadata/%s%s" % (self.session.root, client.format_path(path)) params = {'file_limit': file_limit, 'list': 'true', 'include_deleted': include_deleted, } if not list: params['list'] = 'false' if hash is not None: params['hash'] = hash if rev: params['rev'] = rev url, params, headers = self.request(path, params, method='GET') return self.rest_client.GET(url, headers, callback=callback)
def commit_chunk(self, full_path, upload_id, overwrite=False, parent_rev=None, callback=None): path = "/commit_chunked_upload/%s%s" % (self.session.root, client.format_path(full_path)) params = {'overwrite': bool(overwrite), 'upload_id': str(upload_id)} if parent_rev is not None: params['parent_rev'] = parent_rev url, params, headers = self.request(path, params=params, method='POST', content_server=True) return self.rest_client.POST(url, params=params, headers=headers, callback=callback)
def getsyspath(self, path, allow_none=False): """Return a path as the Dropbox API specifies.""" if allow_none: return None return client.format_path(abspath(normpath(path)))