Fix default value of FEED_STORAGE_GCS_ACL

This commit is contained in:
Júlio César Batista 2019-08-29 11:10:00 -03:00
parent 0bb3d8ca93
commit 110bc92e6b
3 changed files with 20 additions and 2 deletions

View File

@ -160,7 +160,7 @@ class GCSFeedStorage(BlockingFeedStorage):
return cls(
uri,
crawler.settings['GCS_PROJECT_ID'],
crawler.settings['FEED_STORAGE_GCS_ACL']
crawler.settings['FEED_STORAGE_GCS_ACL'] or None
)
def _store_in_thread(self, file):

View File

@ -159,7 +159,7 @@ FEED_EXPORTERS_BASE = {
}
FEED_EXPORT_INDENT = 0
FEED_STORAGE_GCS_ACL = None
FEED_STORAGE_GCS_ACL = ''
FILES_STORE_S3_ACL = 'private'
FILES_STORE_GCS_ACL = ''

View File

@ -206,6 +206,24 @@ class GCSFeedStorageTest(unittest.TestCase):
assert storage.bucket_name == 'mybucket'
assert storage.blob_name == 'export.csv'
@mock.patch('scrapy.conf.settings',
new={'GCS_PROJECT_ID': 'conf_id', 'FEED_STORAGE_GCS_ACL': '' }, create=True)
def test_parse_empty_acl(self):
try:
from google.cloud.storage import Client
except ImportError:
raise unittest.SkipTest("GCSFeedStorage requires google-cloud-storage")
settings = {'GCS_PROJECT_ID': '123', 'FEED_STORAGE_GCS_ACL': '' }
crawler = get_crawler(settings_dict=settings)
storage = GCSFeedStorage.from_crawler(crawler, 'gs://mybucket/export.csv')
assert storage.acl is None
settings = {'GCS_PROJECT_ID': '123', 'FEED_STORAGE_GCS_ACL': None }
crawler = get_crawler(settings_dict=settings)
storage = GCSFeedStorage.from_crawler(crawler, 'gs://mybucket/export.csv')
assert storage.acl is None
@defer.inlineCallbacks
def test_store(self):
try: