View difference between Paste ID: CpR2qe7G and UBqkMA5Q
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)