mirror of https://github.com/scrapy/scrapy.git
add acl support for gcs
This commit is contained in:
parent
6c3970e672
commit
8e8994c6b5
|
|
@ -207,6 +207,8 @@ class GCSFilesStore(object):
|
|||
GCS_PROJECT_ID = None
|
||||
|
||||
CACHE_CONTROL = 'max-age=172800'
|
||||
POLICY = 'projectPrivate' # Overriden from settings.FILES_STORE_GCS_ACL in
|
||||
# FilesPipeline.from_settings.
|
||||
|
||||
def __init__(self, uri):
|
||||
from google.cloud import storage
|
||||
|
|
@ -239,7 +241,8 @@ class GCSFilesStore(object):
|
|||
return threads.deferToThread(
|
||||
blob.upload_from_string,
|
||||
data=buf.getvalue(),
|
||||
content_type=self._get_content_type(headers)
|
||||
content_type=self._get_content_type(headers),
|
||||
predefined_acl=self.POLICY
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -314,6 +317,7 @@ class FilesPipeline(MediaPipeline):
|
|||
|
||||
gcs_store = cls.STORE_SCHEMES['gs']
|
||||
gcs_store.GCS_PROJECT_ID = settings['GCS_PROJECT_ID']
|
||||
gcs_store.POLICY = settings['FILES_STORE_GCS_ACL']
|
||||
|
||||
store_uri = settings['FILES_STORE']
|
||||
return cls(store_uri, settings=settings)
|
||||
|
|
|
|||
|
|
@ -93,6 +93,7 @@ class ImagesPipeline(FilesPipeline):
|
|||
|
||||
gcs_store = cls.STORE_SCHEMES['gs']
|
||||
gcs_store.GCS_PROJECT_ID = settings['GCS_PROJECT_ID']
|
||||
gcs_store.POLICY = settings['IMAGES_STORE_GCS_ACL']
|
||||
|
||||
store_uri = settings['IMAGES_STORE']
|
||||
return cls(store_uri, settings=settings)
|
||||
|
|
|
|||
|
|
@ -159,6 +159,7 @@ FEED_EXPORTERS_BASE = {
|
|||
FEED_EXPORT_INDENT = 0
|
||||
|
||||
FILES_STORE_S3_ACL = 'private'
|
||||
FILES_STORE_GCS_ACL = 'projectPrivate'
|
||||
|
||||
FTP_USER = 'anonymous'
|
||||
FTP_PASSWORD = 'guest'
|
||||
|
|
@ -181,6 +182,7 @@ HTTPPROXY_ENABLED = True
|
|||
HTTPPROXY_AUTH_ENCODING = 'latin-1'
|
||||
|
||||
IMAGES_STORE_S3_ACL = 'private'
|
||||
IMAGES_STORE_GCS_ACL = 'projectPrivate'
|
||||
|
||||
ITEM_PROCESSOR = 'scrapy.pipelines.ItemPipelineManager'
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue