scale initial mark with the image
[wolnelektury.git] / apps / catalogue / utils.py
index 1060670..33b0830 100644 (file)
@@ -4,6 +4,7 @@
 #
 from __future__ import with_statement
 
 #
 from __future__ import with_statement
 
+import hashlib
 import random
 import re
 import time
 import random
 import re
 import time
@@ -13,7 +14,7 @@ from django.http import HttpResponse
 from django.core.files.uploadedfile import UploadedFile
 from django.core.files.storage import DefaultStorage
 from django.utils.encoding import force_unicode
 from django.core.files.uploadedfile import UploadedFile
 from django.core.files.storage import DefaultStorage
 from django.utils.encoding import force_unicode
-from django.utils.hashcompat import sha_constructor
+from django.utils.translation import get_language
 from django.conf import settings
 from os import mkdir, path, unlink
 from errno import EEXIST, ENOENT
 from django.conf import settings
 from os import mkdir, path, unlink
 from errno import EEXIST, ENOENT
@@ -31,21 +32,25 @@ MAX_SESSION_KEY = 18446744073709551616L     # 2 << 63
 
 
 def get_random_hash(seed):
 
 
 def get_random_hash(seed):
-    sha_digest = sha_constructor('%s%s%s%s' %
+    sha_digest = hashlib.sha1('%s%s%s%s' %
         (randrange(0, MAX_SESSION_KEY), time.time(), unicode(seed).encode('utf-8', 'replace'),
         settings.SECRET_KEY)).digest()
     return urlsafe_b64encode(sha_digest).replace('=', '').replace('_', '-').lower()
 
 
         (randrange(0, MAX_SESSION_KEY), time.time(), unicode(seed).encode('utf-8', 'replace'),
         settings.SECRET_KEY)).digest()
     return urlsafe_b64encode(sha_digest).replace('=', '').replace('_', '-').lower()
 
 
-def split_tags(tags):
-    result = {}
+def split_tags(tags, initial=None):
+    if initial is None:
+        result = {}
+    else:
+        result = initial
+    
     for tag in tags:
         result.setdefault(tag.category, []).append(tag)
     return result
 
 
 def get_dynamic_path(media, filename, ext=None, maxlen=100):
     for tag in tags:
         result.setdefault(tag.category, []).append(tag)
     return result
 
 
 def get_dynamic_path(media, filename, ext=None, maxlen=100):
-    from slughifi import slughifi
+    from fnpdjango.utils.text.slughifi import slughifi
 
     # how to put related book's slug here?
     if not ext:
 
     # how to put related book's slug here?
     if not ext:
@@ -312,4 +317,12 @@ This can sometimes occupy lots of memory, so trim it here a bit.
         connection.queries = trim_to > 0 \
             and connection.queries[-trim_to:] \
             or []
         connection.queries = trim_to > 0 \
             and connection.queries[-trim_to:] \
             or []
-        
+
+
+def related_tag_name(tag_info, language=None):
+    return tag_info.get("name_%s" % (language or get_language()),
+        tag_info.get("name_%s" % settings.LANGUAGE_CODE, ""))
+
+
+def delete_from_cache_by_language(cache, key_template):
+    cache.delete_many([key_template % lc for lc, ln in settings.LANGUAGES])