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)
Example #2
0
 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)
Example #4
0
    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 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 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 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)
Example #12
0
 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)))
Example #13
0
 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)))