#
from __future__ import with_statement
+import hashlib
import random
import re
import time
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
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()
-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):
- from slughifi import slughifi
+ from fnpdjango.utils.text.slughifi import slughifi
# how to put related book's slug here?
if not ext:
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])