evennia/docs/1.0-dev/api/evennia.contrib.awsstorage.html
2020-06-15 21:52:33 +02:00

926 lines
No EOL
76 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>evennia.contrib.awsstorage package &#8212; Evennia 1.0-dev documentation</title>
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev documentation</a> &#187;</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="module-evennia.contrib.awsstorage">
<span id="evennia-contrib-awsstorage-package"></span><h1>evennia.contrib.awsstorage package<a class="headerlink" href="#module-evennia.contrib.awsstorage" title="Permalink to this headline"></a></h1>
<p>Intended to be a collecting folder for Django-specific contribs that do not have observable effects to players.</p>
<div class="section" id="submodules">
<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline"></a></h2>
</div>
<div class="section" id="module-evennia.contrib.awsstorage.aws_s3_cdn">
<span id="evennia-contrib-awsstorage-aws-s3-cdn-module"></span><h2>evennia.contrib.awsstorage.aws_s3_cdn module<a class="headerlink" href="#module-evennia.contrib.awsstorage.aws_s3_cdn" title="Permalink to this headline"></a></h2>
<p>AWS Storage System
The Right Honourable Reverend (trhr) 2020</p>
<p>ABOUT THIS PLUGIN:</p>
<p>This plugin migrates the Web-based portion of Evennia, namely images,
javascript, and other items located inside staticfiles into Amazon AWS (S3) for hosting.</p>
<p>Files hosted on S3 are “in the cloud,” and while your personal
server may be sufficient for serving multimedia to a minimal number of users,
the perfect use case for this plugin would be:</p>
<ol class="arabic simple">
<li><p>Servers supporting heavy web-based traffic (webclient, etc)</p></li>
<li><p>With a sizable number of users</p></li>
<li><p>Where the users are globally distributed</p></li>
<li><p>Where multimedia files are served to users as a part of gameplay</p></li>
</ol>
<p>Bottom line - if youre sending an image to a player every time they traverse a
map, the bandwidth reduction will be substantial. If not, probably skip
this one.</p>
<p>Note that storing and serving files via S3 is not technically free outside of
Amazons “free tier” offering, which you may or may not be eligible for;
evennias base install currently requires 1.5MB of storage space on S3,
making the current total cost to install this plugin ~$0.0005 per year. If
you have substantial media assets and intend to serve them to many users,
caveat emptor on a total cost of ownership - check AWSs pricing structure.</p>
<p>See the ./README.md file for details and install instructions.</p>
<dl class="class">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.awsstorage.aws_s3_cdn.</code><code class="sig-name descname">S3Boto3Storage</code><span class="sig-paren">(</span><em class="sig-param">acl=None</em>, <em class="sig-param">bucket=None</em>, <em class="sig-param">**settings</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">django.core.files.storage.Storage</span></code></p>
<p>Amazon Simple Storage Service using Boto3
This storage backend supports opening files in read or write
mode and supports streaming(buffering) data in chunks to S3
when writing.</p>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.__init__">
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">acl=None</em>, <em class="sig-param">bucket=None</em>, <em class="sig-param">**settings</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.__init__" title="Permalink to this definition"></a></dt>
<dd><p>Check if some of the settings weve provided as class attributes
need to be overwritten with values passed in here.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._clean_name">
<code class="sig-name descname">_clean_name</code><span class="sig-paren">(</span><em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage._clean_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._clean_name" title="Permalink to this definition"></a></dt>
<dd><p>Cleans the name so that Windows style paths work</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._compress_content">
<code class="sig-name descname">_compress_content</code><span class="sig-paren">(</span><em class="sig-param">content</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage._compress_content"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._compress_content" title="Permalink to this definition"></a></dt>
<dd><p>Gzip a given string content.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._decode_name">
<code class="sig-name descname">_decode_name</code><span class="sig-paren">(</span><em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage._decode_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._decode_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._encode_name">
<code class="sig-name descname">_encode_name</code><span class="sig-paren">(</span><em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage._encode_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._encode_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._get_access_keys">
<code class="sig-name descname">_get_access_keys</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage._get_access_keys"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._get_access_keys" title="Permalink to this definition"></a></dt>
<dd><p>Gets the access keys to use when accessing S3. If none is
provided in the settings then get them from the environment
variables.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._get_or_create_bucket">
<code class="sig-name descname">_get_or_create_bucket</code><span class="sig-paren">(</span><em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage._get_or_create_bucket"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._get_or_create_bucket" title="Permalink to this definition"></a></dt>
<dd><p>Retrieves a bucket if it exists, otherwise creates it.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._get_security_token">
<code class="sig-name descname">_get_security_token</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage._get_security_token"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._get_security_token" title="Permalink to this definition"></a></dt>
<dd><p>Gets the security token to use when accessing S3. Get it from
the environment variables.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._get_write_parameters">
<code class="sig-name descname">_get_write_parameters</code><span class="sig-paren">(</span><em class="sig-param">name</em>, <em class="sig-param">content=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage._get_write_parameters"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._get_write_parameters" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._normalize_name">
<code class="sig-name descname">_normalize_name</code><span class="sig-paren">(</span><em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage._normalize_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._normalize_name" title="Permalink to this definition"></a></dt>
<dd><p>Normalizes the name so that paths like /path/to/ignored/../something.txt
work. We check to make sure that the path pointed to is not outside
the directory specified by the LOCATION setting.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._open">
<code class="sig-name descname">_open</code><span class="sig-paren">(</span><em class="sig-param">name</em>, <em class="sig-param">mode='rb'</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage._open"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._open" title="Permalink to this definition"></a></dt>
<dd><p>Opens the file, if it exists.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._save">
<code class="sig-name descname">_save</code><span class="sig-paren">(</span><em class="sig-param">name</em>, <em class="sig-param">content</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage._save"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._save" title="Permalink to this definition"></a></dt>
<dd><p>Stitches and cleans multipart uploads; normalizes file paths.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._strip_signing_parameters">
<code class="sig-name descname">_strip_signing_parameters</code><span class="sig-paren">(</span><em class="sig-param">url</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage._strip_signing_parameters"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage._strip_signing_parameters" title="Permalink to this definition"></a></dt>
<dd><p>Boto3 does not currently support generating URLs that are unsigned. Instead we
take the signed URLs and strip any querystring params related to signing and expiration.
Note that this may end up with URLs that are still invalid, especially if params are
passed in that only work with signed URLs, e.g. response header params.
The code attempts to strip all query parameters that match names of known parameters
from v2 and v4 signatures, regardless of the actual signature version used.</p>
</dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.access_key">
<code class="sig-name descname">access_key</code><em class="property"> = ''</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.access_key" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.access_key_names">
<code class="sig-name descname">access_key_names</code><em class="property"> = ['AWS_S3_ACCESS_KEY_ID', 'AWS_ACCESS_KEY_ID']</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.access_key_names" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.addressing_style">
<code class="sig-name descname">addressing_style</code><em class="property"> = None</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.addressing_style" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.auto_create_bucket">
<code class="sig-name descname">auto_create_bucket</code><em class="property"> = False</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.auto_create_bucket" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.bucket">
<em class="property">property </em><code class="sig-name descname">bucket</code><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.bucket" title="Permalink to this definition"></a></dt>
<dd><p>Get the current bucket. If there is no current bucket object
create it.</p>
</dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.bucket_acl">
<code class="sig-name descname">bucket_acl</code><em class="property"> = 'public-read'</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.bucket_acl" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.bucket_name">
<code class="sig-name descname">bucket_name</code><em class="property"> = None</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.bucket_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.config">
<code class="sig-name descname">config</code><em class="property"> = None</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.config" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.connection">
<em class="property">property </em><code class="sig-name descname">connection</code><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.connection" title="Permalink to this definition"></a></dt>
<dd><p>Creates the actual connection to S3</p>
</dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.custom_domain">
<code class="sig-name descname">custom_domain</code><em class="property"> = None</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.custom_domain" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.deconstruct">
<code class="sig-name descname">deconstruct</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.deconstruct" title="Permalink to this definition"></a></dt>
<dd><p>Return a 3-tuple of class import path, positional arguments,
and keyword arguments.</p>
</dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.default_acl">
<code class="sig-name descname">default_acl</code><em class="property"> = 'public-read'</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.default_acl" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.default_content_type">
<code class="sig-name descname">default_content_type</code><em class="property"> = 'application/octet-stream'</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.default_content_type" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.delete">
<code class="sig-name descname">delete</code><span class="sig-paren">(</span><em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage.delete"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.delete" title="Permalink to this definition"></a></dt>
<dd><p>Deletes a file from S3.</p>
</dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.encryption">
<code class="sig-name descname">encryption</code><em class="property"> = False</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.encryption" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.endpoint_url">
<code class="sig-name descname">endpoint_url</code><em class="property"> = None</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.endpoint_url" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.entries">
<em class="property">property </em><code class="sig-name descname">entries</code><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.entries" title="Permalink to this definition"></a></dt>
<dd><p>Get the locally cached files for the bucket.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.exists">
<code class="sig-name descname">exists</code><span class="sig-paren">(</span><em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage.exists"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.exists" title="Permalink to this definition"></a></dt>
<dd><p>Checks if file exists.</p>
</dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.file_name_charset">
<code class="sig-name descname">file_name_charset</code><em class="property"> = 'utf-8'</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.file_name_charset" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.file_overwrite">
<code class="sig-name descname">file_overwrite</code><em class="property"> = True</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.file_overwrite" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.get_available_name">
<code class="sig-name descname">get_available_name</code><span class="sig-paren">(</span><em class="sig-param">name</em>, <em class="sig-param">max_length=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage.get_available_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.get_available_name" title="Permalink to this definition"></a></dt>
<dd><p>Overwrite existing file with the same name.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.get_modified_time">
<code class="sig-name descname">get_modified_time</code><span class="sig-paren">(</span><em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage.get_modified_time"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.get_modified_time" title="Permalink to this definition"></a></dt>
<dd><p>Returns an (aware) datetime object containing the last modified time if
USE_TZ is True, otherwise returns a naive datetime in the local timezone.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.get_object_parameters">
<code class="sig-name descname">get_object_parameters</code><span class="sig-paren">(</span><em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage.get_object_parameters"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.get_object_parameters" title="Permalink to this definition"></a></dt>
<dd><p>Returns a dictionary that is passed to file upload. Override this
method to adjust this on a per-object basis to set e.g ContentDisposition.
By default, returns the value of AWS_S3_OBJECT_PARAMETERS.
Setting ContentEncoding will prevent objects from being automatically gzipped.</p>
</dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.gzip">
<code class="sig-name descname">gzip</code><em class="property"> = False</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.gzip" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.gzip_content_types">
<code class="sig-name descname">gzip_content_types</code><em class="property"> = ('text/css', 'text/javascript', 'application/javascript', 'application/x-javascript', 'image/svg+xml')</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.gzip_content_types" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.listdir">
<code class="sig-name descname">listdir</code><span class="sig-paren">(</span><em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage.listdir"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.listdir" title="Permalink to this definition"></a></dt>
<dd><p>Translational function to go from S3 file paths to the format
Djangos listdir expects.</p>
</dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.location">
<code class="sig-name descname">location</code><em class="property"> = ''</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.location" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.max_memory_size">
<code class="sig-name descname">max_memory_size</code><em class="property"> = 0</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.max_memory_size" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.modified_time">
<code class="sig-name descname">modified_time</code><span class="sig-paren">(</span><em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage.modified_time"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.modified_time" title="Permalink to this definition"></a></dt>
<dd><p>Returns a naive datetime object containing the last modified time.
If USE_TZ=False then get_modified_time will return a naive datetime
so we just return that, else we have to localize and strip the tz</p>
</dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.object_parameters">
<code class="sig-name descname">object_parameters</code><em class="property"> = {}</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.object_parameters" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.preload_metadata">
<code class="sig-name descname">preload_metadata</code><em class="property"> = False</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.preload_metadata" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.proxies">
<code class="sig-name descname">proxies</code><em class="property"> = None</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.proxies" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.querystring_auth">
<code class="sig-name descname">querystring_auth</code><em class="property"> = True</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.querystring_auth" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.querystring_expire">
<code class="sig-name descname">querystring_expire</code><em class="property"> = 3600</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.querystring_expire" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.reduced_redundancy">
<code class="sig-name descname">reduced_redundancy</code><em class="property"> = False</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.reduced_redundancy" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.region_name">
<code class="sig-name descname">region_name</code><em class="property"> = None</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.region_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.secret_key">
<code class="sig-name descname">secret_key</code><em class="property"> = ''</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.secret_key" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.secret_key_names">
<code class="sig-name descname">secret_key_names</code><em class="property"> = ['AWS_S3_SECRET_ACCESS_KEY', 'AWS_SECRET_ACCESS_KEY']</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.secret_key_names" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.secure_urls">
<code class="sig-name descname">secure_urls</code><em class="property"> = True</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.secure_urls" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.security_token">
<code class="sig-name descname">security_token</code><em class="property"> = None</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.security_token" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.security_token_names">
<code class="sig-name descname">security_token_names</code><em class="property"> = ['AWS_SESSION_TOKEN', 'AWS_SECURITY_TOKEN']</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.security_token_names" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.signature_version">
<code class="sig-name descname">signature_version</code><em class="property"> = None</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.signature_version" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.size">
<code class="sig-name descname">size</code><span class="sig-paren">(</span><em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage.size"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.size" title="Permalink to this definition"></a></dt>
<dd><p>Gets the filesize of a remote file.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.url">
<code class="sig-name descname">url</code><span class="sig-paren">(</span><em class="sig-param">name</em>, <em class="sig-param">parameters=None</em>, <em class="sig-param">expire=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3Storage.url"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.url" title="Permalink to this definition"></a></dt>
<dd><p>Returns the URL of a remotely-hosted file</p>
</dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.url_protocol">
<code class="sig-name descname">url_protocol</code><em class="property"> = 'http:'</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.url_protocol" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.use_ssl">
<code class="sig-name descname">use_ssl</code><em class="property"> = True</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.use_ssl" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.verify">
<code class="sig-name descname">verify</code><em class="property"> = None</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3Storage.verify" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.awsstorage.aws_s3_cdn.</code><code class="sig-name descname">S3Boto3StorageFile</code><span class="sig-paren">(</span><em class="sig-param">name</em>, <em class="sig-param">mode</em>, <em class="sig-param">storage</em>, <em class="sig-param">buffer_size=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3StorageFile"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">django.core.files.base.File</span></code></p>
<p>The default file object used by the S3Boto3Storage backend.
This file implements file streaming using botos multipart
uploading functionality. The file can be opened in read or
write mode.
This class extends Djangos File class. However, the contained
data is only the data contained in the current buffer. So you
should not access the contained file object directly. You should
access the data via this class.
Warning: This file <em>must</em> be closed using the close() method in
order to properly write the file to S3. Be sure to close the file
in your application.</p>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile.__init__">
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">name</em>, <em class="sig-param">mode</em>, <em class="sig-param">storage</em>, <em class="sig-param">buffer_size=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3StorageFile.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile.__init__" title="Permalink to this definition"></a></dt>
<dd><p>Initializes the File object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<em>str</em>) The name of the file</p></li>
<li><p><strong>mode</strong> (<em>str</em>) The access mode (r or w)</p></li>
<li><p><strong>storage</strong> (<em>Storage</em>) The Django Storage object</p></li>
<li><p><strong>buffer_size</strong> (<em>int</em>) The buffer size, for multipart uploads</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile._buffer_file_size">
<em class="property">property </em><code class="sig-name descname">_buffer_file_size</code><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile._buffer_file_size" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile._create_empty_on_close">
<code class="sig-name descname">_create_empty_on_close</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3StorageFile._create_empty_on_close"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile._create_empty_on_close" title="Permalink to this definition"></a></dt>
<dd><p>Attempt to create an empty file for this key when this File is closed if no bytes
have been written and no object already exists on S3 for this key.
This behavior is meant to mimic the behavior of Djangos builtin FileSystemStorage,
where files are always created after they are opened in write mode:</p>
<blockquote>
<div><p>f = storage.open(“file.txt”, mode=”w”)
f.close()</p>
<dl class="simple">
<dt>Raises:</dt><dd><p>Exception: Raised if a 404 error occurs</p>
</dd>
</dl>
</div></blockquote>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile._flush_write_buffer">
<code class="sig-name descname">_flush_write_buffer</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3StorageFile._flush_write_buffer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile._flush_write_buffer" title="Permalink to this definition"></a></dt>
<dd><p>Flushes the write buffer.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile._get_file">
<code class="sig-name descname">_get_file</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3StorageFile._get_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile._get_file" title="Permalink to this definition"></a></dt>
<dd><p>Helper function to manage zipping and temporary files</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile._set_file">
<code class="sig-name descname">_set_file</code><span class="sig-paren">(</span><em class="sig-param">value</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3StorageFile._set_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile._set_file" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile.buffer_size">
<code class="sig-name descname">buffer_size</code><em class="property"> = 5242880</em><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile.buffer_size" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile.close">
<code class="sig-name descname">close</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3StorageFile.close"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile.close" title="Permalink to this definition"></a></dt>
<dd><p>Manages file closing after multipart uploads</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile.deconstruct">
<code class="sig-name descname">deconstruct</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile.deconstruct" title="Permalink to this definition"></a></dt>
<dd><p>Return a 3-tuple of class import path, positional arguments,
and keyword arguments.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile.file">
<em class="property">property </em><code class="sig-name descname">file</code><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile.file" title="Permalink to this definition"></a></dt>
<dd><p>Helper function to manage zipping and temporary files</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile.read">
<code class="sig-name descname">read</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3StorageFile.read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile.read" title="Permalink to this definition"></a></dt>
<dd><p>Checks if file is in read mode; then continues to boto3 operation</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile.readline">
<code class="sig-name descname">readline</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3StorageFile.readline"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile.readline" title="Permalink to this definition"></a></dt>
<dd><p>Checks if file is in read mode; then continues to boto3 operation</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile.size">
<em class="property">property </em><code class="sig-name descname">size</code><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile.size" title="Permalink to this definition"></a></dt>
<dd><p>Helper property to return filesize</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile.write">
<code class="sig-name descname">write</code><span class="sig-paren">(</span><em class="sig-param">content</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#S3Boto3StorageFile.write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.S3Boto3StorageFile.write" title="Permalink to this definition"></a></dt>
<dd><p>Checks if file is in write mode or needs multipart handling,
then continues to boto3 operation.</p>
</dd></dl>
</dd></dl>
<dl class="function">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.check_location">
<code class="sig-prename descclassname">evennia.contrib.awsstorage.aws_s3_cdn.</code><code class="sig-name descname">check_location</code><span class="sig-paren">(</span><em class="sig-param">storage</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#check_location"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.check_location" title="Permalink to this definition"></a></dt>
<dd><p>Helper function to make sure that the storage location is configured correctly.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>storage</strong> (<em>Storage</em>) A Storage object (Django)</p>
</dd>
<dt class="field-even">Raises</dt>
<dd class="field-even"><p><strong>ImproperlyConfigured</strong> If the storage location is not configured correctly,
this is raised.</p>
</dd>
</dl>
</dd></dl>
<dl class="function">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.get_available_overwrite_name">
<code class="sig-prename descclassname">evennia.contrib.awsstorage.aws_s3_cdn.</code><code class="sig-name descname">get_available_overwrite_name</code><span class="sig-paren">(</span><em class="sig-param">name</em>, <em class="sig-param">max_length</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#get_available_overwrite_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.get_available_overwrite_name" title="Permalink to this definition"></a></dt>
<dd><p>Helper function indicating files that will be overwritten during trunc.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<em>str</em>) The name of the file</p></li>
<li><p><strong>max_length</strong> (<em>int</em>) The maximum length of a filename</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>A joined path including directory, file, and extension</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>joined (path)</p>
</dd>
</dl>
</dd></dl>
<dl class="function">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.lookup_env">
<code class="sig-prename descclassname">evennia.contrib.awsstorage.aws_s3_cdn.</code><code class="sig-name descname">lookup_env</code><span class="sig-paren">(</span><em class="sig-param">names</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#lookup_env"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.lookup_env" title="Permalink to this definition"></a></dt>
<dd><p>Helper function for looking up names in env vars. Returns the first element found.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>names</strong> (<em>str</em>) A list of environment variables</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The value of the found environment variable.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>value (str)</p>
</dd>
</dl>
</dd></dl>
<dl class="function">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.safe_join">
<code class="sig-prename descclassname">evennia.contrib.awsstorage.aws_s3_cdn.</code><code class="sig-name descname">safe_join</code><span class="sig-paren">(</span><em class="sig-param">base</em>, <em class="sig-param">*paths</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#safe_join"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.safe_join" title="Permalink to this definition"></a></dt>
<dd><p>Helper function, a version of django.utils._os.safe_join for S3 paths.
Joins one or more path components to the base path component
intelligently. Returns a normalized version of the final path.
The final path must be located inside of the base path component
(otherwise a ValueError is raised). Paths outside the base path
indicate a possible security sensitive operation.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>base</strong> (<em>str</em>) A path string to the base of the staticfiles</p></li>
<li><p><strong>*paths</strong> (<em>list</em>) A list of paths as referenced from the base path</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>A joined path, base + filepath</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>final_path (str)</p>
</dd>
</dl>
</dd></dl>
<dl class="function">
<dt id="evennia.contrib.awsstorage.aws_s3_cdn.setting">
<code class="sig-prename descclassname">evennia.contrib.awsstorage.aws_s3_cdn.</code><code class="sig-name descname">setting</code><span class="sig-paren">(</span><em class="sig-param">name</em>, <em class="sig-param">default=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/aws_s3_cdn.html#setting"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.aws_s3_cdn.setting" title="Permalink to this definition"></a></dt>
<dd><p>Helper function to get a Django setting by name. If setting doesnt exist
it will return a default.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>name</strong> (<em>str</em>) A Django setting name</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The value of the setting variable by that name</p>
</dd>
</dl>
</dd></dl>
</div>
<div class="section" id="module-evennia.contrib.awsstorage.tests">
<span id="evennia-contrib-awsstorage-tests-module"></span><h2>evennia.contrib.awsstorage.tests module<a class="headerlink" href="#module-evennia.contrib.awsstorage.tests" title="Permalink to this headline"></a></h2>
<dl class="class">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.awsstorage.tests.</code><code class="sig-name descname">S3Boto3StorageTests</code><span class="sig-paren">(</span><em class="sig-param">methodName='runTest'</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.awsstorage.tests.S3Boto3TestCase" title="evennia.contrib.awsstorage.tests.S3Boto3TestCase"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.contrib.awsstorage.tests.S3Boto3TestCase</span></code></a></p>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests._test_storage_mtime">
<code class="sig-name descname">_test_storage_mtime</code><span class="sig-paren">(</span><em class="sig-param">use_tz</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests._test_storage_mtime"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests._test_storage_mtime" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_auto_creating_bucket">
<code class="sig-name descname">test_auto_creating_bucket</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_auto_creating_bucket"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_auto_creating_bucket" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_auto_creating_bucket_with_acl">
<code class="sig-name descname">test_auto_creating_bucket_with_acl</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_auto_creating_bucket_with_acl"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_auto_creating_bucket_with_acl" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_clean_name">
<code class="sig-name descname">test_clean_name</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_clean_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_clean_name" title="Permalink to this definition"></a></dt>
<dd><p>Test the base case of _clean_name</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_clean_name_normalize">
<code class="sig-name descname">test_clean_name_normalize</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_clean_name_normalize"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_clean_name_normalize" title="Permalink to this definition"></a></dt>
<dd><p>Test the normalization of _clean_name</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_clean_name_trailing_slash">
<code class="sig-name descname">test_clean_name_trailing_slash</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_clean_name_trailing_slash"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_clean_name_trailing_slash" title="Permalink to this definition"></a></dt>
<dd><p>Test the _clean_name when the path has a trailing slash</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_clean_name_windows">
<code class="sig-name descname">test_clean_name_windows</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_clean_name_windows"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_clean_name_windows" title="Permalink to this definition"></a></dt>
<dd><p>Test the _clean_name when the path has a trailing slash</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_compress_content_len">
<code class="sig-name descname">test_compress_content_len</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_compress_content_len"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_compress_content_len" title="Permalink to this definition"></a></dt>
<dd><p>Test that file returned by _compress_content() is readable.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_connection_threading">
<code class="sig-name descname">test_connection_threading</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_connection_threading"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_connection_threading" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_content_type">
<code class="sig-name descname">test_content_type</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_content_type"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_content_type" title="Permalink to this definition"></a></dt>
<dd><p>Test saving a file with a None content type.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_generated_url_is_encoded">
<code class="sig-name descname">test_generated_url_is_encoded</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_generated_url_is_encoded"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_generated_url_is_encoded" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_location_leading_slash">
<code class="sig-name descname">test_location_leading_slash</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_location_leading_slash"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_location_leading_slash" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_override_class_variable">
<code class="sig-name descname">test_override_class_variable</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_override_class_variable"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_override_class_variable" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_override_init_argument">
<code class="sig-name descname">test_override_init_argument</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_override_init_argument"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_override_init_argument" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_pickle_with_bucket">
<code class="sig-name descname">test_pickle_with_bucket</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_pickle_with_bucket"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_pickle_with_bucket" title="Permalink to this definition"></a></dt>
<dd><p>Test that the storage can be pickled with a bucket attached</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_pickle_without_bucket">
<code class="sig-name descname">test_pickle_without_bucket</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_pickle_without_bucket"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_pickle_without_bucket" title="Permalink to this definition"></a></dt>
<dd><p>Test that the storage can be pickled, without a bucket instance</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_special_characters">
<code class="sig-name descname">test_special_characters</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_special_characters"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_special_characters" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_delete">
<code class="sig-name descname">test_storage_delete</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_storage_delete"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_delete" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_exists">
<code class="sig-name descname">test_storage_exists</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_storage_exists"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_exists" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_exists_doesnt_create_bucket">
<code class="sig-name descname">test_storage_exists_doesnt_create_bucket</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_storage_exists_doesnt_create_bucket"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_exists_doesnt_create_bucket" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_exists_false">
<code class="sig-name descname">test_storage_exists_false</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_storage_exists_false"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_exists_false" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_listdir_base">
<code class="sig-name descname">test_storage_listdir_base</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_storage_listdir_base"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_listdir_base" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_listdir_subdir">
<code class="sig-name descname">test_storage_listdir_subdir</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_storage_listdir_subdir"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_listdir_subdir" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_mtime">
<code class="sig-name descname">test_storage_mtime</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_storage_mtime"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_mtime" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_open_no_overwrite_existing">
<code class="sig-name descname">test_storage_open_no_overwrite_existing</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_storage_open_no_overwrite_existing"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_open_no_overwrite_existing" title="Permalink to this definition"></a></dt>
<dd><p>Test opening an existing file in write mode and closing without writing.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_open_no_write">
<code class="sig-name descname">test_storage_open_no_write</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_storage_open_no_write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_open_no_write" title="Permalink to this definition"></a></dt>
<dd><p>Test opening file in write mode and closing without writing.</p>
<p>A file should be created as by obj.put(…).</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_open_write">
<code class="sig-name descname">test_storage_open_write</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_storage_open_write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_open_write" title="Permalink to this definition"></a></dt>
<dd><p>Test opening a file in write mode</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_save">
<code class="sig-name descname">test_storage_save</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_storage_save"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_save" title="Permalink to this definition"></a></dt>
<dd><p>Test saving a file</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_save_gzip">
<code class="sig-name descname">test_storage_save_gzip</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_storage_save_gzip"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_save_gzip" title="Permalink to this definition"></a></dt>
<dd><p>Test saving a file with gzip enabled.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_save_gzip_twice">
<code class="sig-name descname">test_storage_save_gzip_twice</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_storage_save_gzip_twice"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_save_gzip_twice" title="Permalink to this definition"></a></dt>
<dd><p>Test saving the same file content twice with gzip enabled.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_save_gzipped">
<code class="sig-name descname">test_storage_save_gzipped</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_storage_save_gzipped"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_save_gzipped" title="Permalink to this definition"></a></dt>
<dd><p>Test saving a gzipped file</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_save_with_acl">
<code class="sig-name descname">test_storage_save_with_acl</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_storage_save_with_acl"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_save_with_acl" title="Permalink to this definition"></a></dt>
<dd><p>Test saving a file with user defined ACL.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_size">
<code class="sig-name descname">test_storage_size</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_storage_size"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_size" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_url">
<code class="sig-name descname">test_storage_url</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_storage_url"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_url" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_url_slashes">
<code class="sig-name descname">test_storage_url_slashes</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_storage_url_slashes"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_url_slashes" title="Permalink to this definition"></a></dt>
<dd><p>Test URL generation.</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_write_beyond_buffer_size">
<code class="sig-name descname">test_storage_write_beyond_buffer_size</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_storage_write_beyond_buffer_size"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_storage_write_beyond_buffer_size" title="Permalink to this definition"></a></dt>
<dd><p>Test writing content that exceeds the buffer size</p>
</dd></dl>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_strip_signing_parameters">
<code class="sig-name descname">test_strip_signing_parameters</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3StorageTests.test_strip_signing_parameters"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3StorageTests.test_strip_signing_parameters" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3TestCase">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.awsstorage.tests.</code><code class="sig-name descname">S3Boto3TestCase</code><span class="sig-paren">(</span><em class="sig-param">methodName='runTest'</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3TestCase"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3TestCase" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">django.test.testcases.TestCase</span></code></p>
<dl class="method">
<dt id="evennia.contrib.awsstorage.tests.S3Boto3TestCase.setUp">
<code class="sig-name descname">setUp</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/awsstorage/tests.html#S3Boto3TestCase.setUp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.awsstorage.tests.S3Boto3TestCase.setUp" title="Permalink to this definition"></a></dt>
<dd><p>Hook method for setting up the test fixture before exercising it.</p>
</dd></dl>
</dd></dl>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
</a></p>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
<p><h3><a href="../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">evennia.contrib.awsstorage package</a><ul>
<li><a class="reference internal" href="#submodules">Submodules</a></li>
<li><a class="reference internal" href="#module-evennia.contrib.awsstorage.aws_s3_cdn">evennia.contrib.awsstorage.aws_s3_cdn module</a></li>
<li><a class="reference internal" href="#module-evennia.contrib.awsstorage.tests">evennia.contrib.awsstorage.tests module</a></li>
</ul>
</li>
</ul>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.contrib.awsstorage.rst.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div>
<h3>Versions</h3>
<ul>
<li><a href="evennia.contrib.awsstorage.html">1.0-dev (develop branch)</a></li>
<li><a href="../../0.9.1/index.html">0.9.1 (master branch)</a></li>
</ul>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev documentation</a> &#187;</li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2020, The Evennia developer community.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.4.4.
</div>
</body>
</html>