-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ao adicionar uma coleção de notícias, algumas sem imagens no portlet de carrossel de imagens, o portlet quebra #8
Comments
Temos essa mesma lógica de verificar |
boa pergunta. no passado eu tentei tirar isso do sc.photogallery mas não consegui e tive que desistir por falta de tempo; podem acompanhar a conversa aqui: se tiverem tempo e conseguem avaliar uma solução vou agradecer. |
Provisoriamente, pelo menos com relação a esse erro em brasil.gov.portlets, talvez seja interessante, no código do patch, comparar o que vem em todas as situações e o que vem no collective.nitf: se a única diferença for que no caso do nitf vem um "callable", podemos complementar com mais um teste fazendo |
@idgserpro não entendi direito onde entraria esse |
O ideal é corrigir no nitf, removendo o hack. Aqui no portlets, vejo duas soluções, vamos recapitular o código do patch. Em O conteúdo nitf volta um método quando você pede pelo 'image', volta Portanto, precisa testar se tem o 'image' e também se não é um método, o que, pra todos os efeitos em Python, seria o equivalente a "esse cara aqui é chamável (callable)?" e isso é obtido em python 2 perguntando pelo Um snippet de exemplo do que deveria ser feito: if hasattr(obj, 'image'): # Dexterity
image = obj.image
if not hasattr(image, '__call__'):
return True E claro, testes adicionando um nitf num portlet de carrossel de imagens. Como não faz sentido uma notícia sem imagem num carrossel de imagens, essa solução poderia ser usada. Se quiser tratar todas as situações em que poderia ter esse problema como ocorre no nitf, o ideal seria criar uma outra função que, logo após a chamada de Novamente, essa são apenas hipóteses do que pode ser feito. O comentário do uso do |
Python 2 também tem callable https://docs.python.org/2/library/functions.html#callable |
Opa, melhor ainda! :) Deu bug na mudança de contexto, rs! |
Quando um usuário adicionava uma coleção, que possuia um conteúdo sem imagem, no portlet de carrossel de imagens, ocorria o erro: AttributeError: 'NoneType' object has no attribute 'url' Agora exibimos somente conteúdos que com certeza possuem imagens. Fixes #8
Quando um usuário adicionava uma coleção, que possuia um conteúdo sem imagem, no portlet de carrossel de imagens, ocorria o erro: AttributeError: 'NoneType' object has no attribute 'url' Agora exibimos somente conteúdos que com certeza possuem imagens. Fixes #8
Quando um usuário adicionava uma coleção, que possuia um conteúdo sem imagem, no portlet de carrossel de imagens, ocorria o erro: AttributeError: 'NoneType' object has no attribute 'url' Agora exibimos somente conteúdos que com certeza possuem imagens. Fixes #8
Quando um usuário adicionava uma coleção, que possuia um conteúdo sem imagem, no portlet de carrossel de imagens, ocorria o erro: AttributeError: 'NoneType' object has no attribute 'url' Agora exibimos somente conteúdos que com certeza possuem imagens. Fixes #8
Quando um usuário adicionava uma coleção, que possuia um conteúdo sem imagem, no portlet de carrossel de imagens, ocorria o erro: AttributeError: 'NoneType' object has no attribute 'url' Agora exibimos somente conteúdos que com certeza possuem imagens. Fixes #8
No portlet de carrossel multimídia, ao se adicionar algumas notícias NITF sem imagem, o portlet quebra.
Antes de tentar renderizar as escalas da imagem, é perguntado se existe algum campo imagem no código do portlet, e esse método vem de um patch no renderizador do portlet.
O problema é que esse método sempre retorna
True
quando é um objeto do tipo NITF, mesmo sem ter imagem, ocorrendo o erro acima. Isso ocorre porque no tipo de conteúdo NITF, há um hack em que image = getImage e, realmente nessa situação, o safe_hasattr sempre voltaráTrue
.@rodfersou e @hvelarde, esse hack em NITF é ainda necessário?
The text was updated successfully, but these errors were encountered: