Merge pull request #247 from p-tombez/14.0_imp_attachment_azure

[14.0][IMP] attachment_azure: Allow storage name override
This commit is contained in:
Yannick Vaucher
2021-08-04 11:34:23 +02:00
committed by GitHub
co-authored by GitHub
2 changed files with 11 additions and 2 deletions
+4
View File
@@ -23,6 +23,10 @@ Configure accesses with environment variables:
One container will be created per database using the `RUNNING_ENV` environment variable
and the name of the database. By default, `RUNNING_ENV` is set to `dev`.
The container name can be overridden with environment variable ``AZURE_STORAGE_NAME``.
The strings ``{db}`` and ``{env}`` can be used inside that variable and the values
will be replaced respectively by the database name and environment name.
This addon must be added in the server wide addons with (``--load`` option):
``--load=web,attachment_azure``
+7 -2
View File
@@ -117,10 +117,15 @@ class IrAttachment(models.Model):
https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata#container-names
"""
running_env = os.environ.get("RUNNING_ENV", "dev")
storage_name = os.environ.get('AZURE_STORAGE_NAME', r'{env}-{db}')
storage_name = storage_name.format(
env=running_env,
db=self.env.cr.dbname
)
# replace invalid characters by _
dbname_cleaned = re.sub(r"[\W_]+", "-", self.env.cr.dbname)
storage_name = re.sub(r"[\W_]+", "-", storage_name)
# lowercase, max 63 chars
return str.lower(running_env + "-" + dbname_cleaned)[:63]
return str.lower(storage_name)[:63]
@api.model
def _get_azure_container(self):