Я использовал сценарий, который больше не поддерживается, который загружает весь ваш Google Диск в локальное хранилище. Мне удалось исправить несколько проблем, связанных с амортизацией, и скрипт, казалось, работал гладко, однако, поскольку, казалось бы, случайные моменты в моем скрипте, он сломается, и я получу следующую ошибку.
File "drive.py", line 169, in download_file
except httplib2.IncompleteRead:
AttributeError: 'module' object has no attribute 'IncompleteRead'
Это модули, которые я использую
import gflags, httplib2, logging, os, pprint, sys, re, time
import pprint
from apiclient.discovery import build
from apiclient.discovery import build
from oauth2client.file import Storage
from oauth2client.client import AccessTokenRefreshError, flow_from_clientsecrets
from oauth2client.tools import run_flow
И вот код, который вызывает ошибку
if is_google_doc(drive_file):
try:
download_url = drive_file['exportLinks']['application/pdf']
except KeyError:
download_url = None
else:
download_url = drive_file['downloadUrl']
if download_url:
try:
resp, content = service._http.request(download_url)
except httplib2.IncompleteRead:
log( 'Error while reading file %s. Retrying...' % drive_file['title'].replace( '/', '_' ) )
print 'Error while reading file %s. Retrying...' % drive_file['title'].replace( '/', '_' )
download_file( service, drive_file, dest_path )
return False
if resp.status == 200:
try:
target = open( file_location, 'w+' )
except:
log( "Could not open file %s for writing. Please check permissions." % file_location )
print "Could not open file %s for writing. Please check permissions." % file_location
return False
target.write( content )
return True
else:
log( 'An error occurred: %s' % resp )
print 'An error occurred: %s' % resp
return False
else:
# The file doesn't have any content stored on Drive.
return False
Я предполагаю, что эта ошибка как-то связана с потерей соединения во время загрузки, и я не знаком с модулем httplib2.
Полный код можно найти здесь
Заранее спасибо всем, кто может пролить свет на возможное исправление.