Anime2You


NameAnime2You JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://github.com/princessmiku/anime2you
SummaryUnofficial RSSClient for Anime2You
upload_time2024-01-01 23:43:39
maintainer
docs_urlNone
authorMiku
requires_python>=3.7.0
licenseMIT
keywords anime2you rss news anime rssclient german
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Anime2You (Inoffiziell)

Dies ist eine **INOFFIZIELLE** Bibliothek speziell für die Website [Anime2You](https://www.anime2you.de/) 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.

`````python
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**

`````python
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**

`````python
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.

`````python
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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/princessmiku/anime2you",
    "name": "Anime2You",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7.0",
    "maintainer_email": "",
    "keywords": "anime2you,rss,news,anime,rssclient,german",
    "author": "Miku",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/4c/b0/77820b158ca05ceca92e87f9b482ed8ba80acfc930e73d36410e9a4e2803/Anime2You-1.0.0.tar.gz",
    "platform": null,
    "description": "# Anime2You (Inoffiziell)\n\nDies ist eine **INOFFIZIELLE** Bibliothek speziell f\u00fcr die Website [Anime2You](https://www.anime2you.de/) um aktuelle\nArtikel zu empfangen.\n\nDer Client nutzt die M\u00f6glichkeit der RSS-Feed funktion von Anime2You, um die aktuellen Artikel abzurufen.\n\n# Nutzung\n\nDie Library eignet sich hervorragend, um aktuelle Anime2You Artikel bei sich im Programm einzubinden z.B. in form eines\nDiscord Bots oder auf der eigenen Website.\n\nBitte gebe immer den Urheber (Anime2You) an und verkaufe die Artikel nicht als die eigenen. Die M\u00f6glichkeit geben\nden Artikel direkt bei Anime2You aufzurufen w\u00e4re ebenfalls nicht schlecht, um Anime2You damit zu unterst\u00fctzen. \n\n# Installation\n\nMit pip installieren\n\n``pip install anime2you``\n\npip + github\n\n``pip install git+https://github.com/princessmiku/anime2you``\n\n# Einrichtung\n\nDie Einrichtung ist einfach und unkompliziert, nach erfolgreicher Installation kann man wie folgt den RSSManager nutzen.\n\n`````python\nfrom anime2you import RSSManager\n\nmanager = RSSManager()\n`````\n\nnun ist das System in der Grundfunktion bereits verf\u00fcgbar.\n\n## RSSManager\nDer RSSManager ist der Verwalter des Feeds, dieser ist daf\u00fcr zust\u00e4ndig den Feed zu empfangen.\n\nDer RSSManager hat folgende Optionen:\n\n- ``feed_type`` > hier kann man ausw\u00e4hlen welchen feed man m\u00f6chte. Anime2You gibt da 3 M\u00f6glichkeiten, `ganzer Feed`, `nur Artikel` oder `nur Streams`\n- ``use_cache`` > das ist eine Option um das Caching zu aktiveren, was die Funktion nutzbar macht, um sich nur die neusten News Eintr\u00e4ge anzeigen zu lassen, da er dann den Timestamp des letzten Feeds speichert.\n- ``cache_path`` > hier kann man einen custom path f\u00fcr den caching Ordner setzen. Andernfalls wird im ausf\u00fchrenden verzeichnis ein ordner namens `cache` erstellt f\u00fcr das Caching.\n\n### feed_type\nStandardm\u00e4\u00dfig wird der komplette Feed geladen. M\u00f6chte man nun etwas filtern, so kann man die Variablen in der RSSManager Klasse nutzen.\n\n- ``RSSManager.FEED_COMPLETE`` f\u00fcr den gesamten Feed\n- ``RSSManager.FEED_ARTICLES`` damit nur News geladen werden\n- ``RSSManager.FEED_STREAMS`` damit nur Streams geladen werden\n\n**Beispielhafte Nutzung**\n\n`````python\nfrom anime2you import RSSManager\n\nmanager = RSSManager(RSSManager.FEED_COMPLETE)\n`````\n\n### use_cache und cache_path\n\n``use_cach`` ist ein boolean der entweder auf `True` oder `False` sein kann. True = An, False = Aus\n\n``cache_path`` dort kann man einen eigenen Ordner setzen f\u00fcr den Cache\n\n**Beispielhafte Nutzung**\n\n`````python\nfrom anime2you import RSSManager\n\nmanager = RSSManager(\n    feed_type=RSSManager.FEED_COMPLETE,\n    use_cache=True,\n    cache_path=\"./cache\"\n)\n`````\n\n### Abrufen des Feeds\n\nUm einen Feed abzurufen stehen ``get_feed()`` und ``get_new_feed()`` zur verf\u00fcgung.\nBeim ``get_new_feed()`` ist zu beachten das Caching aktiviert ist f\u00fcr das Ordnungsgem\u00e4\u00dfe funktionieren.\nEs wird eine Liste aus ``Feed`` klassen zur\u00fcckgegeben.\n\n`````python\nfrom anime2you import RSSManager, Feed\n\nmanager = RSSManager()\nfeeds: list[Feed] = manager.get_feed() # f\u00fcr den gesamten\nnew_feeds: list[Feed] = manager.get_new_feed() # f\u00fcr die neuen\n`````\n\n## Feed\n\nDer Feed ist der Artikel von Anime2You in einer Klasse zum Nutzen. Er wird Feed genannt, da man im RSS System einen Feed empf\u00e4ngt.\n\nDer Feed beinhaltet folgenden informationen \n\n- ``id`` > `str` | Ist die ID wie angegeben, sie besteht aus einer URL mit der ID\n- ``short_id`` > `str` | Ist die ID extrahiert ohne die URL daf\u00fcr\n- ``link`` > `str` | Ist die Url wie sie im Browser in der URL Leiste zu finden ist\n- ``title`` > `str` | Ist der Titel des Artikels\n- ``description`` > `str` | Ist die Beschreibung vom Artikel\n- ``published`` > `datetime` | Ist das Datum der ver\u00f6ffentlichung\n- ``image_url`` > `str` | Ist der Link zu der Bild ressource\n- ``authors`` > `list str` | Ist eine Liste mit den Autoren von dem Artikel\n- ``tags`` > `list str` | Ist eine Liste mit den genutzten Tags\n- ``raw_rss_item`` > `dict` | Ist das dictionary wie der Artikel empfangen wird unverarbeitet, dort man z.B. direkten HTML code\n\nau\u00dferdem bietet die Klasse noch die funktion \u00fcber ``to_dict()`` oder direkt per ``dict(feed)`` in ein dictionary umwandeln lassen zu lassen.\n\n\n# Weiteres\n\nF\u00fcr fortgeschrittenere Entwickler ist es auch m\u00f6glich das Caching f\u00fcr 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\n\n``def set_cache_feed_published(self, date: datetime):`` und ``def get_cache_feed_published(self) -> datetime:``\n\ndabei ist zu beachten, das die funktionen das datetime format annehmen und das datetime format zur\u00fcckgeben.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Unofficial RSSClient for Anime2You",
    "version": "1.0.0",
    "project_urls": {
        "Homepage": "https://github.com/princessmiku/anime2you"
    },
    "split_keywords": [
        "anime2you",
        "rss",
        "news",
        "anime",
        "rssclient",
        "german"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "949eea9c46fda4e6d5d440b11d6d67c26f81e25109750b2dffb182170f0d63d8",
                "md5": "ec8a2b7fd0265f14d79fce9ac53d27c7",
                "sha256": "2785092e81ba00ee5b19ab7edf83d25afbfc354cc76b1d8635c611c27ef10a90"
            },
            "downloads": -1,
            "filename": "Anime2You-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ec8a2b7fd0265f14d79fce9ac53d27c7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7.0",
            "size": 6759,
            "upload_time": "2024-01-01T23:43:37",
            "upload_time_iso_8601": "2024-01-01T23:43:37.904403Z",
            "url": "https://files.pythonhosted.org/packages/94/9e/ea9c46fda4e6d5d440b11d6d67c26f81e25109750b2dffb182170f0d63d8/Anime2You-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4cb077820b158ca05ceca92e87f9b482ed8ba80acfc930e73d36410e9a4e2803",
                "md5": "5070ee4e25f03e74456b95c08e15ecf8",
                "sha256": "d1707182a1ab2237f499751a0fcf83fd6cddde1c5047d43d5c290e80b8c93ece"
            },
            "downloads": -1,
            "filename": "Anime2You-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "5070ee4e25f03e74456b95c08e15ecf8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7.0",
            "size": 5453,
            "upload_time": "2024-01-01T23:43:39",
            "upload_time_iso_8601": "2024-01-01T23:43:39.211507Z",
            "url": "https://files.pythonhosted.org/packages/4c/b0/77820b158ca05ceca92e87f9b482ed8ba80acfc930e73d36410e9a4e2803/Anime2You-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-01 23:43:39",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "princessmiku",
    "github_project": "anime2you",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "anime2you"
}
        
Elapsed time: 0.16361s