selairi / planetlibre

Simple RSS reader like a planet side
BSD 3-Clause "New" or "Revised" License
11 stars 7 forks source link

Error en la base de datos. #2

Closed victorhck closed 4 years ago

victorhck commented 5 years ago

Hola! No sé que ha pasado, que he añadido nuevos blogs, he procesado todo para que se genere la página y me da este error:

Exception in thread Thread-22:
Traceback (most recent call last):
  File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "planet.py", line 132, in run
    procesar_blog(self.sql_conn, self.blog)
  File "planet.py", line 62, in procesar_blog
    """, (d.feed.title, post.title, post.link, calendar.timegm(fecha)) )
  File "/usr/lib/python3.5/calendar.py", line 598, in timegm
    year, month, day, hour, minute, second = tuple[:6]
TypeError: 'NoneType' object is not subscriptable

Exception in thread Thread-13:
Traceback (most recent call last):
  File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "planet.py", line 132, in run
    procesar_blog(self.sql_conn, self.blog)
  File "planet.py", line 62, in procesar_blog
    """, (d.feed.title, post.title, post.link, calendar.timegm(fecha)) )
sqlite3.OperationalError: database is locked

Exception in thread Thread-7:
Traceback (most recent call last):
  File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "planet.py", line 132, in run
    procesar_blog(self.sql_conn, self.blog)
  File "planet.py", line 62, in procesar_blog
    """, (d.feed.title, post.title, post.link, calendar.timegm(fecha)) )
sqlite3.OperationalError: database is locked

Exception in thread Thread-12:
Traceback (most recent call last):
  File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "planet.py", line 132, in run
    procesar_blog(self.sql_conn, self.blog)
  File "planet.py", line 62, in procesar_blog
    """, (d.feed.title, post.title, post.link, calendar.timegm(fecha)) )
sqlite3.OperationalError: database is locked

Traceback (most recent call last):
  File "planet.py", line 165, in <module>
    limpiar_base_datos(sql_conn)
  File "planet.py", line 69, in limpiar_base_datos
    sql_cursor.execute("delete from feeds where fecha<? ", (fecha_hace_un_agno,))
sqlite3.OperationalError: database is locked

No sé si te puede servir de pista... Por si te suena qué puede ocurrir... Saludos y gracias! ;)

PS: Creo que el error lo da al incluir este feed: https://feeds.feedburner.com/uGeekBlog

selairi commented 5 years ago

Efectivamente. El feed es imcorrecto. El correcto es:

https://ugeek.github.io/blog/feed

Si te da muchos problemas, también puedes borrar feeds.db. Se volverá a crear cuando lo ejecutes.

Un saludo

victorhck commented 5 years ago

Hola!

No me termina de ir funcionar la url que has puesto tu, ni solo la del blog que sería la que me gustaría incluir.

No sé si @uGeek puede comentarnos algo al respecto...

Saludos!!

PS: Tengo pendiente probar el último commit que implementaste! Muchas gracias!!

selairi commented 5 years ago

Lo estoy mirando y parace que es un problema relacionado con la forma en que el feed de uGeek ha generado las fechas en la última entrada. Lo estoy investigando...

selairi commented 5 years ago

He hecho una actualización en que las entradas con la fecha incompleta se ignoran. Hay una entrada en uGeek que pone el año, mes y día, pero no pone hora, lo cual hace que python no la pueda interpretar de forma correcta. Estoy buscando alguna biblioteca que pueda interpretar este tipo de fechas.

Curiosamente el resto de entradas tienen un formato de fecha correcto.