Browse Source

Impede o upload de arquivos sem extensão nome

pull/991/head
Eduardo Calil 8 years ago
parent
commit
26b936de06
  1. 6
      sapl/base/search_indexes.py
  2. 7
      sapl/utils.py

6
sapl/base/search_indexes.py

@ -1,8 +1,9 @@
import os.path
import textract
from django.template import Context, loader
from haystack import indexes
from sapl.materia.models import DocumentoAcessorio, MateriaLegislativa
from django.template import Context, loader
class DocumentoAcessorioIndex(indexes.SearchIndex, indexes.Indexable):
@ -32,6 +33,9 @@ class DocumentoAcessorioIndex(indexes.SearchIndex, indexes.Indexable):
except OSError:
return self.prepared_data
if not os.path.splitext(arquivo.path)[1][:1]:
return self.prepared_data
extracted_data = textract.process(
arquivo.path).decode(
'utf-8').replace('\n', ' ')

7
sapl/utils.py

@ -1,5 +1,6 @@
import hashlib
import logging
import os
import re
from datetime import date
from functools import wraps
@ -364,6 +365,10 @@ TIPOS_IMG_PERMITIDOS = (
def fabrica_validador_de_tipos_de_arquivo(lista, nome):
def restringe_tipos_de_arquivo(value):
if not os.path.splitext(value.path)[1][:1]:
raise ValidationError(_(
'Não é possível fazer upload de arquivos sem extensão.'))
mime = magic.from_buffer(value.read(), mime=True)
if mime not in lista:
raise ValidationError(_('Tipo de arquivo não suportado'))
@ -371,6 +376,7 @@ def fabrica_validador_de_tipos_de_arquivo(lista, nome):
restringe_tipos_de_arquivo.__name__ = nome
return restringe_tipos_de_arquivo
restringe_tipos_de_arquivo_txt = fabrica_validador_de_tipos_de_arquivo(
TIPOS_TEXTO_PERMITIDOS, 'restringe_tipos_de_arquivo_txt')
restringe_tipos_de_arquivo_img = fabrica_validador_de_tipos_de_arquivo(
@ -382,6 +388,7 @@ def intervalos_tem_intersecao(a_inicio, a_fim, b_inicio, b_fim):
menor_fim = min(a_fim, b_fim)
return maior_inicio <= menor_fim
"""
def permissoes(nome_grupo, app_label):
lista_permissoes = []

Loading…
Cancel
Save