django-avatar/avatar/conf.py
0xMRTT 8034665e6b
Add LibRavatar support (#114) (#225)
* feat: add libravatar support (#114) and format

* feat: add documentation for libravatar

* fix(gh-actions): remove support for 3.6 and add 3.11

3.6 reached EOL: https://devguide.python.org/versions/

I also refactored the matrix by removing duplicated code

* fix(deps): add missing dnspython

* feat(deps): add requirements.txt

* fix(gh-actions): install deps

* chore(deps): add pyproject.toml 

See https://github.com/pypa/pip/issues/8559

* fix(gh-actions): add fail-fast so all checks run

* fix(deps): bump coverage to 7.1.0

* fix(pre-commit): update versions

* fix(pre-commit): config error

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* style: update code for passing flake

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: 0xMRTT <0xMRTT@evta.fr>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-02-22 19:38:07 +01:00

46 lines
1.4 KiB
Python

from appconf import AppConf
from django.conf import settings
from PIL import Image
class AvatarConf(AppConf):
DEFAULT_SIZE = 80
RESIZE_METHOD = Image.ANTIALIAS
STORAGE_DIR = "avatars"
PATH_HANDLER = "avatar.models.avatar_path_handler"
GRAVATAR_BASE_URL = "https://www.gravatar.com/avatar/"
GRAVATAR_FIELD = "email"
GRAVATAR_DEFAULT = None
AVATAR_GRAVATAR_FORCEDEFAULT = False
DEFAULT_URL = "avatar/img/default.jpg"
MAX_AVATARS_PER_USER = 42
MAX_SIZE = 1024 * 1024
THUMB_FORMAT = "PNG"
THUMB_QUALITY = 85
THUMB_MODES = ("RGB", "RGBA")
HASH_FILENAMES = False
HASH_USERDIRNAMES = False
EXPOSE_USERNAMES = False
ALLOWED_FILE_EXTS = None
ALLOWED_MIMETYPES = None
CACHE_TIMEOUT = 60 * 60
STORAGE = settings.DEFAULT_FILE_STORAGE
CLEANUP_DELETED = True
AUTO_GENERATE_SIZES = (DEFAULT_SIZE,)
FACEBOOK_GET_ID = None
CACHE_ENABLED = True
RANDOMIZE_HASHES = False
ADD_TEMPLATE = ""
CHANGE_TEMPLATE = ""
DELETE_TEMPLATE = ""
PROVIDERS = (
"avatar.providers.PrimaryAvatarProvider",
"avatar.providers.LibRAvatarProvider",
"avatar.providers.GravatarAvatarProvider",
"avatar.providers.DefaultAvatarProvider",
)
def configure_auto_generate_avatar_sizes(self, value):
return value or getattr(
settings, "AVATAR_AUTO_GENERATE_SIZES", (self.DEFAULT_SIZE,)
)