Ejemplo n.º 1
0
    def _download_worker(self, file_id, local_file, mime_type, sleep_delay=1):
        """Download file worker thread."""

        # For moment create new GDrive as http module used by underlying api is
        # not multi-thread aware and also add delay in for google 403 error if more
        # than approx 8 requests a second are made.
        #
        # TO DO: Get rid of delay and GDrive creation for each download.

        try:
            drive = GDrive(self._remote_drive.credentials)
            drive.file_download(file_id, local_file, mime_type)
            time.sleep(sleep_delay)
        except GDriveError as e:
            logging.error(e)
            self._download_errors += 1