You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Recentemente assinei GloboPlay + Canais Ao Vivo e comecei a usar o brplay na minha RaspberryPi com LibreElec. Configurei com minhas credenciais e somente com Globo Play habilitado (conforme screenshot abaixo):
O que notei é que, dessa forma, a listagem de canais vinha vazia de maneira intermitente.
Inspecionando os logs, vejo que a lista de canais realmente vem vazia:
2021-08-14 07:51:59.469 T:1186980736 NOTICE: [plugin.video.brplay] - []
2021-08-14 07:51:59.469 T:1186980736 NOTICE: [plugin.video.brplay] - No result to display
2021-08-14 07:51:59.469 T:1186980736 NOTICE: [plugin.video.brplay] - Finished Processing
Um pouco antes no log, encontrei o seguinte traceback (que, como veremos adiante, é a causa raiz do problema):
Ok. Parece, então, que alguma suposição não é válida ao tentar buscar o fanart de um canal. Pelo fluxo do código, title_obj é populado a partir do objeto EPG. O EPG imediatamente anterior à exceção no log é este:
{
u'contentRating': u'L',
u'description': u'Uma bab\xe1 misteriosa \xe9 contratada para colocar na linha os sete filhos de um vi\xfavo.',
u'tags': None,
u'title': {
u'genres': None,
u'countries': None,
u'poster': None,
u'format': None,
u'cover': None,
u'cast': None,
u'directors': None,
u'releaseYear': None,
u'type': None
},
u'metadata': u'Nanny McPhee - A Bab\xe1 Encantada',
u'titleId': u'SmknHTBngG',
u'durationInMinutes': 114,
u'startTime': 1628937900,
u'liveBroadcast': False,
u'endTime': 1628944799,
u'name': u'Studio Movie'
}
Ahá! title_obj, portanto, é um dict com todos os valores None! É isso que causa a exceção. O problema é que o código supõe erroneamente que, se um membro do objeto/dict title existe, ele será não-nulo (não-nenhum 😄).
Vendo o fluxo do código, vemos que a mesma suposição é feita para o membro poster e que também falharia nesse caso.
Eu resolvi localmente com um patch simplório, mas efetivo:
--- resources/lib/modules/globoplay/scraper_live.py.old 2021-08-14 08:32:21.147059298 -0300+++ resources/lib/modules/globoplay/scraper_live.py 2021-08-14 08:31:11.233883856 -0300@@ -627,8 +627,15 @@
title = epg.get('name', '')
description = title_obj.get('description') or epg.get('description', '')
- fanart = title_obj.get('cover', {}).get('landscape', fanart) or fanart- poster = title_obj.get('poster', {}).get('web')+ try:+ fanart = title_obj.get('cover', {}).get('landscape', fanart) or fanart+ except:+ if not fanart:+ fanart = ''+ try:+ poster = title_obj.get('poster', {}).get('web')+ except:+ poster = ''
thumb = THUMBS.get(str(broadcast.get('transmissionId')))
thumb = (SNAPSHOT_URL.format(transmission=thumb) + '?=' + str(int(time.time()))) if thumb else fanart
O correto provavelmente seria, ao invés de usar um except cru como esse, capturar AttributeError ou guardar tudo por um ... is not None. No entanto, não tive tempo de fazer isso, dado que a família queria assistir TV. 😅
Acabei fazendo um upload da versão com o patch aplicado em scraper_live.py.txt
The text was updated successfully, but these errors were encountered:
Obrigado por compartilhar, também tinha esse problema. Parece que o autor do plugin anda ocupado e não dando muito atenção aos report da galera. Obrigado novamente, aqui deu certo.
Obrigado, Renato.
Esse problema foi resolvido no último release. Me diz se funcionou pra vocês.
Quando encontrar algum problema fique a vontade pra mandar um pull request.
Nem sempre tenho tempo pra consertar os problemas prontamente, com a ajuda da comunidade fica mais fácil pra todos.
Abraços.
Recentemente assinei GloboPlay + Canais Ao Vivo e comecei a usar o brplay na minha RaspberryPi com LibreElec. Configurei com minhas credenciais e somente com Globo Play habilitado (conforme screenshot abaixo):
O que notei é que, dessa forma, a listagem de canais vinha vazia de maneira intermitente.
Inspecionando os logs, vejo que a lista de canais realmente vem vazia:
Um pouco antes no log, encontrei o seguinte traceback (que, como veremos adiante, é a causa raiz do problema):
Ok. Parece, então, que alguma suposição não é válida ao tentar buscar o fanart de um canal. Pelo fluxo do código,
title_obj
é populado a partir do objetoEPG
. OEPG
imediatamente anterior à exceção no log é este:Ahá!
title_obj
, portanto, é um dict com todos os valoresNone
! É isso que causa a exceção. O problema é que o código supõe erroneamente que, se um membro do objeto/dicttitle
existe, ele será não-nulo (não-nenhum 😄).Vendo o fluxo do código, vemos que a mesma suposição é feita para o membro
poster
e que também falharia nesse caso.Eu resolvi localmente com um patch simplório, mas efetivo:
O correto provavelmente seria, ao invés de usar um except cru como esse, capturar
AttributeError
ou guardar tudo por um... is not None
. No entanto, não tive tempo de fazer isso, dado que a família queria assistir TV. 😅Acabei fazendo um upload da versão com o patch aplicado em scraper_live.py.txt
The text was updated successfully, but these errors were encountered: