pythonrackspace-cloudfiles

How can I upload whole folder instead of one by one file in rackspace


Right now i am using threading like this but it is slow. What I am looking to upload a folder api.

def run(self):
        """Starts the uploading thread."""
        try:
            for file_name in self.files["thumbs"]:
                self.transfer_rackspace(file_name, self.container_thumbs)
        except Exception:
            pass
        try:
            for file_name in self.files["tiles"]:
                self.transfer_rackspace(file_name, self.container_tiles)
        except Exception:
            pass
        try:
            for file_name in self.files["cube"]:
                self.transfer_rackspace(file_name, self.container_photo)
        except Exception:
            pass
        try:
            for file_name in self.files["image"]:
                self.transfer_rackspace(file_name, self.container_photo)
        except Exception:
            pass

Solution

  • pyrax.settings.set('identity_type', 'rackspace')
    pyrax.set_credentials(config.app_config["cdn.account.name"],
                              config.app_config["cdn.account.key"])
    rack_conn = pyrax.cloudfiles
    rack_conn.upload_folder(folder_path, container)