Vés al contingut

Viquiprojecte Discussió:Discussions desateses/discussions

El contingut de la pàgina no s'admet en altres llengües.

Sobre aquest tauler

Les discussions prèvies estan arxivades a Viquiprojecte Discussió:Discussions desateses/discussions/Arxiu 1 en data 06-03-2017.

Paucabot (discussiócontribucions)

Fa un parell de dies que em dona un error perquè es veu que s'embulla amb les redireccions de les categories:


Traceback (most recent call last):
  File "discussions.py", line 71, in <module>
  text=pag.get()
  File "/data/project/shared/pywikibot/stable/pywikibot/page/__init__.py", line 442, in get
  self._getInternals()
  File "/data/project/shared/pywikibot/stable/pywikibot/page/__init__.py", line 479, in _getInternals
  raise self._getexception
pywikibot.exceptions.IsRedirectPageError: Page ca:Discussió:Batalla de Kíev (2022) is a redirect page.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "discussions.py", line 72, in <module>
  except pywikibot.IsRedirectPage:

AttributeError: module 'pywikibot' has no attribute 'IsRedirectPage'
CRITICAL: Exiting due to uncaught exception <class 'AttributeError'>

@Pere prlpz: Sabries dir-me què ha de canviar per evitar aquest error?

Gràcies.

Pere prlpz (discussiócontribucions)

No n'estic segur perquè la versió original em seguia funcionant. Si l'estàs executant al servidor pot ser que hagin actualitzat la versió del Pywikibot i d'aquí vingui la diferència.

Pots provar de canviar la línia 72 i posar-hi:

except pywikibot.exceptions.IsRedirectPageError:

on abans hi deia:

except pywikibot.IsRedirectPage:
Paucabot (discussiócontribucions)

Hola, Pere_prlpz.

Això ja ho havia canviat per tal de que funcionàs i ho tenc així com dius (i fins ara havia funcionat).

Pere prlpz (discussiócontribucions)
Paucabot (discussiócontribucions)
Pere prlpz (discussiócontribucions)

Segueix dient

except pywikibot.IsRedirectPage:

i no

except pywikibot.exceptions.IsRedirectPageError:

Jo provaria de canviar-ho.

Paucabot (discussiócontribucions)

Ah.

Disculpes. Havia entès el canvi al revés. Llegesc massa ràpid. Ara ho prov.

Pau.

Pere prlpz (discussiócontribucions)

O jo escric massa a l'inrevés. Ja em diràs com va.

Paucabot (discussiócontribucions)
Resposta a «Error en redireccions de categories»
Paucabot (discussiócontribucions)

@Pere prlpz: Sembla que s'ha aturat. Hi podries fer una ullada? Gràcies.

Pere prlpz (discussiócontribucions)

@Paucabot La pàgina l'actualitzava el CobainBot automàticament. Com que es va aturar fa uns mesos, de tant en tant l'actualitzava jo engegant el meu bot a mà, però els meus bots han deixat de funcionar fins que tingui una estona per actualitzar el pywikibot.

Ara bé, fins que algú torni a muntar el cron per actualitzar automàticament, el sistema que trobo més pràctic és tenir el codi, que és a https://github.com/pere-prlpz/viquipedia/blob/master/discussions.py, i executar-lo cada cop que vull consultar la pàgina. Com que ja tens el pywikibot instal·lat potser t'aniria bé fer el mateix.

Paucabot (discussiócontribucions)

No sé si ho sabré fer, però intentaré programar el meu robot perquè, usant el teu codi, ho faci cada vespre. Ja et diré coses.

Paucabot (discussiócontribucions)

@Pere prlpz: He executat el programa al servidor Toolforge i em dona aquest error:

Traceback (most recent call last):

 File "/data/project/rebot/discussions.py", line 54, in <module>
   jpag=json.loads(pbrut)
 File "/usr/lib/python3.5/json/__init__.py", line 312, in loads
   s.__class__.__name__))

TypeError: the JSON object must be str, not 'bytes'

Tens idea de quin pot ser el problema?

Pere prlpz (discussiócontribucions)

No sé massa què dir-te perquè a casa aquesta part em funciona. Per l'error podria ser un problema de versions (un paquet que tens instal·lat tu dóna o espera un resultat diferent que un dels meus), o un problema que ha fallat el llegir la consulta. El segon no és estrany i normalment s'arreglava executant de nou, tot i que no recordo que el missatge fos aquest. Potser per fer una query a l'api des del Toolforge cal fer alguna cosa diferent, com ara donar-li un agent o alguna cosa així, però em sorprendria perquè l'única cosa que fa el programa és llegir una adreça web.

He actualitzat el codi al github però diria que els canvis que faltaven no tenen res a veure amb aquest error.

Paucabot (discussiócontribucions)

He actualitzat el meu pywikibot local a la darrera versió i al final m'ha funcionat. El que no he pogut aconseguir és fer-ho des del Toolforge.

Paucabot (discussiócontribucions)

M'acaba de funcionar al Toolforge. Ara posaré el cron.

Segons m'han dit al xat del Toolforge, amb les darreres versions de Python no hauria hagut de fer res, però amb la versió que hi havia allà he hagut de canviar pllista.read() per pllista.read().decode('utf-8').

Pere prlpz (discussiócontribucions)
Paucabot (discussiócontribucions)

Això és el que m'ha dit els dos que m'han ajudat:

Lucas Werkmesiter: I guess it’s a Python 3 error, in Python 2 json.loads(bytes) was allowed
(but adding the decode step is the correct solution, please don’t go back to Python 2 ^^)

AntiComposite: actually, running it in python3.6+ should work
https://docs.python.org/3/library/json.html?highlight=json#json.loads
though that might require an encoding param
not sure what it would do in 3.9

Lucas Werkmesiter: oh, interesting
yeah, in Python 3.9 json.loads(b'{}') works
json.loads('{}'.encode('utf16')) and json.loads('{}'.encode('utf32')) also work, I guess it autodetects the encoding

Pere prlpz (discussiócontribucions)

Ara em lliga perquè la meva versió antiga funcionava amb Python 2.7 i l'actual la faig anar amb Python 3.8. Les versions que no han funcionat són les d'entremig que no he fet servir.

Resposta a «Inactiu»
FranSisPac (discussiócontribucions)
Paucabot (discussiócontribucions)

No, el bot llista les darreres edicions a pàgines de discussió. Quan faci un parell de dies que ningú no hi edita, ja no sortirà.

Pere prlpz (discussiócontribucions)

D'acord en el fons, que no cal fer res i la pàgina ja desapareixerà d'aquí tota sola. Ara bé, que jo recordi el que inclou el bot són les últimes pàgines de discussió creades a cada espai de noms, no les darreres editades. Les discussions desapareixen quan se'n creen de més noves al mateix espai de noms.

Resposta a «Desateses?»
Cap més tema anterior