Browse Source

Changed setting

Rafał Pitoń 11 years ago
parent
commit
293f04b4dc

+ 2 - 2
docs/developers/settings.rst

@@ -196,8 +196,8 @@ MISAGO_AVATARS_SIZES
 Misago uses avatar cache that prescales avatars to requested sizes. Enter here sizes to which those should be optimized.
 Misago uses avatar cache that prescales avatars to requested sizes. Enter here sizes to which those should be optimized.
 
 
 
 
-MISAGO_USER_AVATAR_DRAWER
--------------------------
+MISAGO_DYNAMIC_AVATAR_DRAWER
+----------------------------
 
 
 Function used to create unique avatar for this user. Allows for customization of algorithm used to generate those.
 Function used to create unique avatar for this user. Allows for customization of algorithm used to generate those.
 
 

+ 1 - 1
misago/conf/defaults.py

@@ -223,7 +223,7 @@ MISAGO_ADMIN_SESSION_EXPIRATION = 60
 
 
 
 
 # Function used for generating individual avatar for user
 # Function used for generating individual avatar for user
-MISAGO_USER_AVATAR_DRAWER = 'misago.users.avatars.user.draw_default'
+MISAGO_DYNAMIC_AVATAR_DRAWER = 'misago.users.avatars.dynamic.draw_default'
 
 
 # For which sizes avatars should be cached?
 # For which sizes avatars should be cached?
 # Keep sizes ordered from greatest to smallest
 # Keep sizes ordered from greatest to smallest

+ 1 - 1
misago/project_template/requirements.txt

@@ -7,7 +7,7 @@ django-mptt==0.6.1
 django-pipeline==1.3.20
 django-pipeline==1.3.20
 fake-factory
 fake-factory
 markdown==2.4.1
 markdown==2.4.1
-path.py=5.2
+"path.py"=5.2
 pillow==2.5.1
 pillow==2.5.1
 psycopg2==2.5.3
 psycopg2==2.5.3
 pytz
 pytz

+ 1 - 1
misago/templates/misago/usercp/change_avatar.html

@@ -30,7 +30,7 @@
               </button>
               </button>
             </li>
             </li>
             <li>
             <li>
-              <button name="generate-individual" class="btn btn-link">
+              <button name="set-dynamic" class="btn btn-link">
                 {% trans "Generate avatar from my username" %}
                 {% trans "Generate avatar from my username" %}
               </button>
               </button>
             </li>
             </li>

+ 4 - 4
misago/users/avatars/__init__.py

@@ -1,14 +1,14 @@
 from misago.conf import settings
 from misago.conf import settings
 
 
-from misago.users.avatars import cache, gravatar, user, gallery, uploaded
+from misago.users.avatars import cache, gravatar, dynamic, gallery, uploaded
 
 
 
 
-AVATAR_TYPES = ('gravatar', 'user', 'gallery', 'uploaded')
+AVATAR_TYPES = ('gravatar', 'dynamic', 'gallery', 'uploaded')
 
 
 
 
 SET_DEFAULT_AVATAR = {
 SET_DEFAULT_AVATAR = {
     'gravatar': gravatar.set_avatar,
     'gravatar': gravatar.set_avatar,
-    'user': user.set_avatar,
+    'dynamic': dynamic.set_avatar,
     'gallery': gallery.set_random_avatar
     'gallery': gallery.set_random_avatar
 }
 }
 
 
@@ -17,7 +17,7 @@ def set_default_avatar(user):
     try:
     try:
         SET_DEFAULT_AVATAR[settings.default_avatar](user)
         SET_DEFAULT_AVATAR[settings.default_avatar](user)
     except Exception:
     except Exception:
-        SET_DEFAULT_AVATAR['user'](user)
+        dynamic.set_avatar(user)
 
 
 
 
 def delete_avatar(user):
 def delete_avatar(user):

+ 5 - 19
misago/users/avatars/user.py → misago/users/avatars/dynamic.py

@@ -11,7 +11,7 @@ from misago.users.avatars import cache
 
 
 
 
 def set_avatar(user):
 def set_avatar(user):
-    name_bits = settings.MISAGO_USER_AVATAR_DRAWER.split('.')
+    name_bits = settings.MISAGO_DYNAMIC_AVATAR_DRAWER.split('.')
 
 
     drawer_module = '.'.join(name_bits[:-1])
     drawer_module = '.'.join(name_bits[:-1])
     drawer_module = import_module(drawer_module)
     drawer_module = import_module(drawer_module)
@@ -70,14 +70,14 @@ FONT_FILE = os.path.join(os.path.dirname(__file__), 'font.ttf')
 
 
 
 
 def draw_avatar_flavour(user, image):
 def draw_avatar_flavour(user, image):
-    string = string_acronym(user.username)
+    string = user.username[0]
 
 
     image_size = image.size[0]
     image_size = image.size[0]
-    goal_width = image_size * .7
+    max_string_size = image_size * .8
 
 
-    size = int(goal_width)
+    size = int(max_string_size)
     font = ImageFont.truetype(FONT_FILE, size=size)
     font = ImageFont.truetype(FONT_FILE, size=size)
-    while font.getsize(string)[0] > goal_width:
+    while max(font.getsize(string)) > max_string_size:
         size -= 1
         size -= 1
         font = ImageFont.truetype(FONT_FILE, size=size)
         font = ImageFont.truetype(FONT_FILE, size=size)
 
 
@@ -112,17 +112,3 @@ def string_to_int(string):
     for p, c in enumerate(string.lower()):
     for p, c in enumerate(string.lower()):
         value += p * (CHARS.find(c))
         value += p * (CHARS.find(c))
     return value
     return value
-
-
-def string_acronym(string):
-    string_len = len(string)
-
-    chars = []
-
-    chars.append(string[0])
-    if string_len > 4:
-        chars.append(string[int(math.floor(string_len / 2.0)) - 1])
-    if string_len > 2:
-        chars.append(string[-1])
-
-    return ''.join(chars)

+ 2 - 2
misago/users/views/usercp.py

@@ -61,8 +61,8 @@ def change_avatar(request):
             avatars.gravatar.set_avatar(request.user)
             avatars.gravatar.set_avatar(request.user)
             message = _("Gravatar was downloaded and set as new avatar.")
             message = _("Gravatar was downloaded and set as new avatar.")
             messages.success(request, message)
             messages.success(request, message)
-        elif 'generate-individual' in request.POST:
-            avatars.user.set_avatar(request.user)
+        elif 'set-dynamic' in request.POST:
+            avatars.dynamic.set_avatar(request.user)
             message = _("New avatar based on your account was set.")
             message = _("New avatar based on your account was set.")
             messages.success(request, message)
             messages.success(request, message)
         return redirect('misago:usercp_change_avatar')
         return redirect('misago:usercp_change_avatar')