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_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.
 

+ 1 - 1
misago/conf/defaults.py

@@ -223,7 +223,7 @@ MISAGO_ADMIN_SESSION_EXPIRATION = 60
 
 
 # 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?
 # 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
 fake-factory
 markdown==2.4.1
-path.py=5.2
+"path.py"=5.2
 pillow==2.5.1
 psycopg2==2.5.3
 pytz

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

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

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

@@ -1,14 +1,14 @@
 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 = {
     'gravatar': gravatar.set_avatar,
-    'user': user.set_avatar,
+    'dynamic': dynamic.set_avatar,
     'gallery': gallery.set_random_avatar
 }
 
@@ -17,7 +17,7 @@ def set_default_avatar(user):
     try:
         SET_DEFAULT_AVATAR[settings.default_avatar](user)
     except Exception:
-        SET_DEFAULT_AVATAR['user'](user)
+        dynamic.set_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):
-    name_bits = settings.MISAGO_USER_AVATAR_DRAWER.split('.')
+    name_bits = settings.MISAGO_DYNAMIC_AVATAR_DRAWER.split('.')
 
     drawer_module = '.'.join(name_bits[:-1])
     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):
-    string = string_acronym(user.username)
+    string = user.username[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)
-    while font.getsize(string)[0] > goal_width:
+    while max(font.getsize(string)) > max_string_size:
         size -= 1
         font = ImageFont.truetype(FONT_FILE, size=size)
 
@@ -112,17 +112,3 @@ def string_to_int(string):
     for p, c in enumerate(string.lower()):
         value += p * (CHARS.find(c))
     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)
             message = _("Gravatar was downloaded and set as new avatar.")
             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.")
             messages.success(request, message)
         return redirect('misago:usercp_change_avatar')