Skip to main content

Unofficial RSSClient for Anime2You

Project description

Anime2You (Inoffiziell)

Dies ist eine INOFFIZIELLE Bibliothek speziell für die Website Anime2You um aktuelle Artikel zu empfangen.

Der Client nutzt die Möglichkeit der RSS-Feed funktion von Anime2You, um die aktuellen Artikel abzurufen.

Nutzung

Die Library eignet sich hervorragend, um aktuelle Anime2You Artikel bei sich im Programm einzubinden z.B. in form eines Discord Bots oder auf der eigenen Website.

Bitte gebe immer den Urheber (Anime2You) an und verkaufe die Artikel nicht als die eigenen. Die Möglichkeit geben den Artikel direkt bei Anime2You aufzurufen wäre ebenfalls nicht schlecht, um Anime2You damit zu unterstützen.

Installation

Mit pip installieren

pip install anime2you

pip + github

pip install git+https://github.com/princessmiku/anime2you

Einrichtung

Die Einrichtung ist einfach und unkompliziert, nach erfolgreicher Installation kann man wie folgt den RSSManager nutzen.

from anime2you import RSSManager

manager = RSSManager()

nun ist das System in der Grundfunktion bereits verfügbar.

RSSManager

Der RSSManager ist der Verwalter des Feeds, dieser ist dafür zuständig den Feed zu empfangen.

Der RSSManager hat folgende Optionen:

  • feed_type > hier kann man auswählen welchen feed man möchte. Anime2You gibt da 3 Möglichkeiten, ganzer Feed, nur Artikel oder nur Streams
  • use_cache > das ist eine Option um das Caching zu aktiveren, was die Funktion nutzbar macht, um sich nur die neusten News Einträge anzeigen zu lassen, da er dann den Timestamp des letzten Feeds speichert.
  • cache_path > hier kann man einen custom path für den caching Ordner setzen. Andernfalls wird im ausführenden verzeichnis ein ordner namens cache erstellt für das Caching.

feed_type

Standardmäßig wird der komplette Feed geladen. Möchte man nun etwas filtern, so kann man die Variablen in der RSSManager Klasse nutzen.

  • RSSManager.FEED_COMPLETE für den gesamten Feed
  • RSSManager.FEED_ARTICLES damit nur News geladen werden
  • RSSManager.FEED_STREAMS damit nur Streams geladen werden

Beispielhafte Nutzung

from anime2you import RSSManager

manager = RSSManager(RSSManager.FEED_COMPLETE)

use_cache und cache_path

use_cach ist ein boolean der entweder auf True oder False sein kann. True = An, False = Aus

cache_path dort kann man einen eigenen Ordner setzen für den Cache

Beispielhafte Nutzung

from anime2you import RSSManager

manager = RSSManager(
    feed_type=RSSManager.FEED_COMPLETE,
    use_cache=True,
    cache_path="./cache"
)

Abrufen des Feeds

Um einen Feed abzurufen stehen get_feed() und get_new_feed() zur verfügung. Beim get_new_feed() ist zu beachten das Caching aktiviert ist für das Ordnungsgemäße funktionieren. Es wird eine Liste aus Feed klassen zurückgegeben.

from anime2you import RSSManager, Feed

manager = RSSManager()
feeds: list[Feed] = manager.get_feed() # für den gesamten
new_feeds: list[Feed] = manager.get_new_feed() # für die neuen

Feed

Der Feed ist der Artikel von Anime2You in einer Klasse zum Nutzen. Er wird Feed genannt, da man im RSS System einen Feed empfängt.

Der Feed beinhaltet folgenden informationen

  • id > str | Ist die ID wie angegeben, sie besteht aus einer URL mit der ID
  • short_id > str | Ist die ID extrahiert ohne die URL dafür
  • link > str | Ist die Url wie sie im Browser in der URL Leiste zu finden ist
  • title > str | Ist der Titel des Artikels
  • description > str | Ist die Beschreibung vom Artikel
  • published > datetime | Ist das Datum der veröffentlichung
  • image_url > str | Ist der Link zu der Bild ressource
  • authors > list str | Ist eine Liste mit den Autoren von dem Artikel
  • tags > list str | Ist eine Liste mit den genutzten Tags
  • raw_rss_item > dict | Ist das dictionary wie der Artikel empfangen wird unverarbeitet, dort man z.B. direkten HTML code

außerdem bietet die Klasse noch die funktion über to_dict() oder direkt per dict(feed) in ein dictionary umwandeln lassen zu lassen.

Weiteres

Für fortgeschrittenere Entwickler ist es auch möglich das Caching für den RSSManager anpassen um es durch z.B. eine Datenbank zu ersetzen. Man muss diesen nur in eine neue Klasse vererben und folgende funktionen umschreiben

def set_cache_feed_published(self, date: datetime): und def get_cache_feed_published(self) -> datetime:

dabei ist zu beachten, das die funktionen das datetime format annehmen und das datetime format zurückgeben.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Anime2You-1.0.0.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

Anime2You-1.0.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file Anime2You-1.0.0.tar.gz.

File metadata

  • Download URL: Anime2You-1.0.0.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for Anime2You-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d1707182a1ab2237f499751a0fcf83fd6cddde1c5047d43d5c290e80b8c93ece
MD5 5070ee4e25f03e74456b95c08e15ecf8
BLAKE2b-256 4cb077820b158ca05ceca92e87f9b482ed8ba80acfc930e73d36410e9a4e2803

See more details on using hashes here.

File details

Details for the file Anime2You-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: Anime2You-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for Anime2You-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2785092e81ba00ee5b19ab7edf83d25afbfc354cc76b1d8635c611c27ef10a90
MD5 ec8a2b7fd0265f14d79fce9ac53d27c7
BLAKE2b-256 949eea9c46fda4e6d5d440b11d6d67c26f81e25109750b2dffb182170f0d63d8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page