s4ros icon

insert_ksiazki.py

s4ros | PRO | 05/18/20 08:43:48 PM UTC | 0 ⭐ | 1800 👁️ | Never ⏰ | []
Python |

1.34 KB

|

None

|

0 👍

/

0 👎

from pprint import pprint
import requests
 
url = 'https://wolnelektury.pl/api/books/'
 
# --------------------------------------
class Ksiazka:
    def pobierz_info(self, ksiazka_url):
        r = requests.get(ksiazka_url)
        return r.json() if r.status_code == 200 else -1
 
    def __init__(self, ksiazka):
        info = self.pobierz_info(ksiazka['href'])
        self.autor = ksiazka['author']
        self.tytul = ksiazka['title']
        self.epoka = ksiazka['epoch']
        self.isbn = info['isbn_pdf'].split(' ')[1] if info['isbn_pdf'] else None
        self.pdf = info['pdf']
        self.txt = info['txt']
 
    def __str__(self):
        return f"{self.autor} - {self.tytul} [{self.isbn}]"
 
# --------------------------------------
 
def _pobierz_liste_ksiazek():
    r = requests.get(url)
    return r.json() if r.status_code == 200 else -1
 
# --------------------------------------
 
def _stworz_sql(ksiazka):
    template = f"""INSERT INTO ksiazki ("autor", "tytul", "epoka", "isbn", "pdf", "txt") \
VALUES ("{ksiazka.autor}", "{ksiazka.tytul}", "{ksiazka.epoka}", "{ksiazka.isbn}", "{ksiazka.pdf}", "{ksiazka.txt}");"""
    return template
 
# --------------------------------------
 
ksiazki = _pobierz_liste_ksiazek()
 
for k in ksiazki:
    ksiazka = Ksiazka(k)
    if ksiazka.isbn:
        print(_stworz_sql(ksiazka))

Comments