Skip to content
/ poethu Public

An unofficial Python wrapper for the poet.hu API

License

Notifications You must be signed in to change notification settings

BXn4/poethu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

poethu

PyPI version PyPI - Downloads

poethu is a simple Python library that makes easy to access data from poet.hu

To access the API first you need to register on the site.

Installation (pypi)

pip install poethu

How to install?

First you need to install Python, if it is not installed it will won't work.

Download Python

# Ubuntu / Debian
$ sudo apt install python

# Fedora
$ sudo dnf install python

Download required packages:

$ pip install requests

How to use?

Using poethu is very easy. First you need to register to the site to get the key. You can do it here. After you succesfully registered you can get your key here

image

Usage:

Note: the synonyms and poems returns as a list If you want more than 1 synonyms or poems.

import poethu

poet = poethu.API(username="your_username", password="your_key")

To get synonyms:

synonyms = poet.get_szinonima(word="Helló") # Change the word to anything else to get the word synonym
print(synonyms)

You can easily change the order, or change the max synonym:

synonyms = poet.get_szinonima(word="Helló", order="desc", max=10) # order by desc, and max 10 synonym
print(synonyms)

And for poems:

poems = poet.get_versek(category="kedvesemnek", max=2)
# The output is raw, so we need to format it.

# You only need to use loops when you want to get more poems than 1
# If you not, you can simply use title = poet.get_title(poems)

for i in range(len(poems)):
    title = poet.get_title(poems)[i]
    text = poet.get_text(poems)[i]
    poem = poet.get_text(poems)[i]
    author = poet.get_author(poems)[i]
    category = poet.get_category(poems)[i]
    favs = poet.get_favs(poems)[i]
    id = poet.get_id(poems)[i]
    url = poet.get_url(poems)[i]

    print(f"Title: {title}")
    print(f"Text: {text}")
    print(f"Author: {author}")
    print(f"Category: {category}")
    print(f"Favs: {favs}")
    print(f"ID: {id}")
    print(f"url: {url}")

Poem params:

category
author
text
max (number)
order_by (id, ido, szerzo, kedvencek, veletlen)
order (asc, desc)
continue_from (number)

You can get more information about the API here

Example usage:

Synonyms:

import poethu

poet = poethu.API(username="your_username", password="your_key")

synonyms = poet.get_szinonima(word="Helló", order="asc", max=5)

for i in range(len(synonyms)):
    synonym = synonyms[i]
    print(f"{i}: {synonym}")

Output:

0: üdv
1: szia
2: cső
3: szervusz
4: hahó

Poems:

import poethu

poet = poethu.API(username="your_username", password="your_key")

poems = poet.get_versek(category="gyerekvers", max=2, order="desc", continue_from=20)
# The output is raw, so we need to format it.

# You only need to use loops when you want to get more poems than 1
# If you not, you can simply use title = poet.get_title(poems)

for i in range(len(poems)):
    title = poet.get_title(poems)[i]
    text = poet.get_text(poems)[i]
    poem = poet.get_text(poems)[i]
    author = poet.get_author(poems)[i]
    category = poet.get_category(poems)[i]
    favs = poet.get_favs(poems)[i]
    id = poet.get_id(poems)[i]
    url = poet.get_url(poems)[i]

    print(f"Title: {title}")
    print(f"Poem text: \n{text}")
    print(f"Author: {author}")
    print(f"Category: {category}")
    print(f"Favs: {favs}")
    print(f"ID: {id}")
    print(f"URL: {url}")

Output:

Title: Farkas és a bárány
Poem text:
Én vagyok a farkas,
Fél tőlem a szarvas,
Ha prédára akadok,
Az erdőben maradok.

Az én nevem barika,
Barátom a Gabika,
Jaj, de félve lépkedek,
Ha erdőbe tévedek.
Author: Tóth Marianna (banattanc)
Category: Gyerekvers
Favs: 23
ID: 351818
URL: https://www.poet.hu/vers/351818

About

An unofficial Python wrapper for the poet.hu API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages