SHOW:
|
|
- or go back to the newest paste.
1 | - | Traceback (most recent call last): |
1 | + | #-*- coding:utf-8 -*- |
2 | - | File "manage.py", line 10, in <module> |
2 | + | import os |
3 | - | execute_from_command_line(sys.argv) |
3 | + | from django.db.models import signals |
4 | - | File "/home/index10/Downloads/odonto/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line |
4 | + | |
5 | - | utility.execute() |
5 | + | def post_delete(signal, instance, sender, **kwargs): |
6 | - | File "/home/index10/Downloads/odonto/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute |
6 | + | instance.deletar_miniaturas() |
7 | - | self.fetch_command(subcommand).run_from_argv(self.argv) |
7 | + | |
8 | - | File "/home/index10/Downloads/odonto/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 196, in run_from_argv |
8 | + | def gerador_criar_miniaturas(classe_alvo, self = None): |
9 | - | self.execute(*args, **options.__dict__) |
9 | + | from modulos.utils.utils import criar_miniatura |
10 | - | File "/home/index10/Downloads/odonto/env/local/lib/python2.7/site-packages/django/core/management/base.py", line 217, in execute |
10 | + | if hasattr(classe_alvo, "__miniatura_admin__"): |
11 | - | translation.activate('en-us') |
11 | + | miniatura_admin = getattr("__miniatura_admin__") |
12 | - | File "/home/index10/Downloads/odonto/env/local/lib/python2.7/site-packages/django/utils/translation/__init__.py", line 105, in activate |
12 | + | else: |
13 | - | return _trans.activate(language) |
13 | + | miniatura_admin = (32, 32) |
14 | - | File "/home/index10/Downloads/odonto/env/local/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 194, in activate |
14 | + | campos_processados = [] |
15 | - | _active.value = translation(language) |
15 | + | if hasattr(classe_alvo, "__miniaturas__"): |
16 | - | File "/home/index10/Downloads/odonto/env/local/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 183, in translation |
16 | + | #Adiciona o metodo para gerar as miniaturas |
17 | - | default_translation = _fetch(settings.LANGUAGE_CODE) |
17 | + | def gerar_miniaturas(self, request_files = None): |
18 | - | File "/home/index10/Downloads/odonto/env/local/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 160, in _fetch |
18 | + | campos_processados = [] |
19 | - | app = import_module(appname) |
19 | + | for miniatura in getattr(self, "__miniaturas__"): |
20 | - | File "/home/index10/Downloads/odonto/env/local/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module |
20 | + | if hasattr(self, miniatura[0]): |
21 | - | __import__(name) |
21 | + | campo = self.__getattribute__(miniatura[0]) |
22 | - | File "/home/index10/Downloads/odonto/intra_odonto/modulos/poll/__init__.py", line 3, in <module> |
22 | + | if campo: |
23 | - | from modulos.utils.imagem import gerador_criar_miniaturas |
23 | + | if request_files == None or (request_files.keys().__contains__(miniatura[0])): |
24 | - | File "/home/index10/Downloads/odonto/intra_odonto/modulos/utils/__init__.py", line 4, in <module> |
24 | + | diretorio, imagem = os.path.split(campo.path) |
25 | - | add_to_builtins("modulos.utils.template_tags") |
25 | + | if not os.path.exists("%s/thumbnails" % diretorio): |
26 | - | File "/home/index10/Downloads/odonto/env/local/lib/python2.7/site-packages/django/template/base.py", line 1314, in add_to_builtins |
26 | + | os.mkdir("%s/thumbnails" % diretorio) |
27 | - | builtins.append(import_library(module)) |
27 | + | caminho_thumbnail = "%s/thumbnails/%s_%s_%s" % (diretorio, miniatura[1][0], miniatura[0],imagem) |
28 | - | File "/home/index10/Downloads/odonto/env/local/lib/python2.7/site-packages/django/template/base.py", line 1250, in import_library |
28 | + | criar_miniatura(campo.path, (miniatura[1][1], miniatura[1][2]), caminho_thumbnail, False) |
29 | - | (taglib_module, e)) |
29 | + | |
30 | - | UnicodeEncodeError: 'ascii' codec can't encode character u'\xe3' in position 1: ordinal not in range(128) |
30 | + | if not campo in campos_processados: |
31 | campos_processados.append(campo) | |
32 | caminho_thumbnail = "%s/thumbnails/admin_%s_%s" % (diretorio, miniatura[0], imagem) | |
33 | criar_miniatura(campo.path, miniatura_admin, caminho_thumbnail, False) | |
34 | setattr(classe_alvo, "criar_miniaturas", gerar_miniaturas) | |
35 | ||
36 | #Adiciona os metodos para recuperar as miniaturas | |
37 | campos_processados = [] | |
38 | for miniatura in getattr(classe_alvo, "__miniaturas__"): | |
39 | if classe_alvo.__dict__.has_key(miniatura[0]): | |
40 | # raise Exception() | |
41 | def thumbnail_factory(linha_miniatura): | |
42 | def thumbnail(self): | |
43 | campo = self.__getattribute__(linha_miniatura[0]) | |
44 | diretorio, imagem = os.path.split(campo.url) | |
45 | return "%s/thumbnails/%s_%s_%s" % (diretorio, linha_miniatura[1][0], linha_miniatura[0],imagem) | |
46 | # raise Exception() | |
47 | return thumbnail | |
48 | funcao_thumbnail = thumbnail_factory(miniatura) | |
49 | setattr(classe_alvo, "%s_%s_thumbnail" % (miniatura[0], miniatura[1][0]), funcao_thumbnail) | |
50 | ||
51 | if not miniatura[0] in campos_processados: | |
52 | campos_processados.append(miniatura[0]) | |
53 | ||
54 | def admin_thumbnail_factory(linha_miniatura): | |
55 | def admin_thumbnail(self) : | |
56 | campo = self.__getattribute__(linha_miniatura[0]) | |
57 | if campo: | |
58 | valor = True | |
59 | else: | |
60 | valor = False | |
61 | if campo: | |
62 | diretorio, imagem = os.path.split(campo.url) | |
63 | return u'<a href="%s/%s" class="fancy-trigger"><img src="%s/thumbnails/admin_%s_%s"/></a>' % ( | |
64 | diretorio, imagem, diretorio, linha_miniatura[0], imagem) | |
65 | else: | |
66 | return "" | |
67 | return admin_thumbnail | |
68 | funcao_thumbnail = admin_thumbnail_factory(miniatura) | |
69 | funcao_thumbnail.short_description = '%s' % miniatura[0] | |
70 | funcao_thumbnail.allow_tags = True | |
71 | setattr(classe_alvo, "admin_%s_thumbnail" % miniatura[0], funcao_thumbnail) | |
72 | ||
73 | ||
74 | def deletar_miniaturas(self): | |
75 | try: | |
76 | campos_processados = [] | |
77 | for miniatura in getattr(classe_alvo, "__miniaturas__"): | |
78 | campo = self.__getattribute__(miniatura[0]) | |
79 | diretorio, imagem = os.path.split(campo.path) | |
80 | thumbnail_file = "%s/thumbnails/%s_%s_%s" % (diretorio, miniatura[1][0], miniatura[0], imagem) | |
81 | os.unlink(thumbnail_file) | |
82 | if not miniatura[0] in campos_processados: | |
83 | campos_processados.append(miniatura[0]) | |
84 | thumbnail_file = "%s/thumbnails/admin_%s_%s" % (diretorio, miniatura[0], imagem) | |
85 | os.unlink(thumbnail_file) | |
86 | ||
87 | except Exception: | |
88 | pass | |
89 | setattr(classe_alvo, "deletar_miniaturas", deletar_miniaturas) | |
90 | ||
91 | signals.pre_delete.connect(post_delete, sender = classe_alvo) |