mirror of
https://github.com/camptocamp/odoo-cloud-platform.git
synced 2026-06-24 16:48:36 +00:00
* store the S3 uri in the 'store_fname' (s3://bucket/key) * the read-only mode is now built-in, as we store the bucket name, if a instance is started with a different bucket or another filestore method, it will continue to read the previous attachments on their stored bucket, but new attachments will be stored on the new one * remove config in ir.config_parameter, it makes all the stuff more complex and we don't use them (config file would be more interesting) * automatically migrate the attachments on loading of the server, so if an ir.attachment has been created during the module upgrade/initialization before attachment_s3 is loaded, it will be sent to S3 as soon as it's loaded
23 lines
543 B
Python
23 lines
543 B
Python
# -*- coding: utf-8 -*-
|
|
# Copyright 2016 Camptocamp SA
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
|
|
|
|
import re
|
|
|
|
|
|
class S3Uri(object):
|
|
|
|
_url_re = re.compile("^s3:///*([^/]*)/?(.*)", re.IGNORECASE | re.UNICODE)
|
|
|
|
def __init__(self, uri):
|
|
match = self._url_re.match(uri)
|
|
if not match:
|
|
raise ValueError("%s: is not a valid S3 URI" % (uri,))
|
|
self._bucket, self._item = match.groups()
|
|
|
|
def bucket(self):
|
|
return self._bucket
|
|
|
|
def item(self):
|
|
return self._item
|