Python Qiita API Wrapper "qiipy" gemacht

TL;DR

--Qiitas API-Wrapper-Bibliothek "qiipy" wurde erstellt. --Unvollendet

Ich habe Qiipy gemacht

Warum hast du es geschafft?

Neulich habe ich meine eigene Bibliothek namens apywrapper erstellt, mit der sich ein API-Wrapper problemlos entwickeln lässt. Deshalb wollte ich seine Leistung testen.

Entwicklungsumgebung

Abhängigkeit

Welche Art von Code haben Sie geschrieben?

Der Code, den ich tatsächlich geschrieben habe, ist ~~~~

Definieren Sie zunächst das Modell wie folgt ...

from typing import Optional
from dataclasses import dataclass


@dataclass
class User:
    id: str
    permanent_id: int
    name: str
    profile_image_url: str
    team_only: bool
    followees_count: int
    followers_count: int
    items_count: int
    description: Optional[str] = None
    organization: Optional[str] = None
    location: Optional[str] = None
    facebook_id: Optional[str] = None
    github_login_name: Optional[str] = None
    linkedin_id: Optional[str] = None
    twitter_screen_name: Optional[str] = None
    website_url: Optional[str] = None


@dataclass
class Comment:
    body: str
    created_at: str
    id: str
    rendered_body: str
    updated_at: str
    user: User

Danach fühlt es sich an, als würde man eine API definieren (Sie müssen sich nicht um Parameter wie Abfragen, Pfadvariablen, JSON usw. kümmern).

from apywrapper import Apy, get, post, delete, patch
from ._models import Comment


class Qiipy(Apy):
    def __init__(self, access_token: str, host: str = "https://qiita.com/api/v2"):
        super().__init__(host=host, headers={"Authorization": f"Bearer {access_token}"})

    @get("/comments/{comment_id}")
    def get_comment(self, comment_id: str):
        """Erhalten Sie Kommentare

        Args:
            comment_id:Kommentar-ID
        Returns:
            Comment
        """
        return Comment, {"comment_id": comment_id}

    @delete("/comments/{comment_id}")
    def delete_comment(self, comment_id: str):
        """Kommentar löschen

        Args:
            comment_id:Kommentar-ID
        Returns:
            None
        """
        return None, {"comment_id": comment_id}
   ...

das ist alles! w

Wenn Sie den Code vorerst erklären

@method("/path/to/api") #API-Pfad
def get_something(self, item_id: str):
  	return Something, {"item_id": item_id} 
  	#in diesem Fall`item_id`Wird zur Abfrage(Weil der Pfad keine Variablen enthält)
    #Der Rückgabewert ist`Something`Objekt

Wie benutzt man

from qiipy import Qiipy
qiita = Qiipy(access_token="xxx")
qiita.get_comment("zzzzzzzzz") #Kommentarobjekt wird zurückgegeben

Fühle mich wie

Ich möchte, dass du kooperierst

Ich freue mich darauf, mit Dir zu arbeiten.

Recommended Posts

Python Qiita API Wrapper "qiipy" gemacht
Ich habe eine Python-Wrapper-Bibliothek für die Docomo-Bilderkennungs-API erstellt.
Erstellt einen Python-Wrapper für die Qiita-API
Ich habe einen Python-Text gemacht
Ich habe einen Line-Bot mit Python gemacht!
Ich habe mit Python eine Lotterie gemacht.
Ich habe mit Python einen Daemon erstellt
kabu Station® API-I hat einen Python-Wrapper für die REST-API erstellt
Ich habe Chatbot mit LINE Messaging API und Python erstellt
Ich habe ein Pay-Management-Programm in Python erstellt!
Ich habe mit Python einen Zeichenzähler erstellt
Ich habe mit Python eine Hex-Map erstellt
Nachdem ich Python3 studiert hatte, machte ich einen Slackbot
Ich habe mit Python ein schurkenhaftes Spiel gemacht
Ich habe mit Python eine Einstellungsdatei erstellt
Ich habe einen Twitter-Bot mit Go x Qiita API x Lambda erstellt
Ich habe Chatbot mit der LINE Messaging API und Python (2) ~ Server ~ erstellt
Ich habe eine Python-Wörterbuchdatei für Neocomplete erstellt
Ich habe mit Python eine Bot-Wettervorhersage gemacht.
Ich habe eine GUI-App mit Python + PyQt5 erstellt
Ich habe versucht, mit Python einen Twitter-Blocker für faule Mädchen zu machen
[Python] Ich habe mit Tkinter einen Youtube Downloader erstellt.
[IOS] Ich habe ein Widget erstellt, das den Trend von Qiita in Pythonista3 anzeigt. [Python]
Ich habe ein Caesar-Kryptografieprogramm in Python erstellt.
Ich habe mit Python ein Bin-Picking-Spiel gemacht
Mattermost Bot mit Python gemacht (+ Flask)
Ich habe einen Twitter BOT mit GAE (Python) gemacht (mit einer Referenz)
Ich habe einen Anmelde- / Abmeldevorgang mit Python's Bottle durchgeführt.
Ich habe mit Python ein Weihnachtsbaum-Beleuchtungsspiel gemacht
Ich habe mit Python eine App für die Benachrichtigung über Netznachrichten erstellt
Ich habe ein Python-Modul erstellt, um Kommentare zu übersetzen
Ich habe eine Python3-Umgebung unter Ubuntu mit direnv erstellt.
Ich habe versucht, LINE BOT mit Python und Heroku zu machen
Ich habe einen Zwietrachtbot gemacht
Ich habe mit Python einen Blackjack gemacht.
Ich habe Wordcloud mit Python gemacht.
Ich habe ein einfaches Tippspiel mit tkinter of Python gemacht
Ich habe ein Paket erstellt, um Zeitreihen mit Python zu filtern
[VSCode] Ich habe ein Benutzer-Snippet für Python-Druck-F-String erstellt
Ich habe versucht, LINE-Bot mit Python + Flask + ngrok + LINE Messaging API zu erstellen
Ich habe eine einfache Buch-App mit Python + Flask ~ Introduction ~ erstellt
Qiita API Python Wrapper für die Stapelverarbeitung zum Abrufen von Qiita-Posts
Ich habe mit Tkinter of Python ein Puzzlespiel (wie) gemacht
Ich habe ein Python-Skript geschrieben, das alle meine Beiträge mit der Qiita API v2 exportiert
Ich habe eine C ++ - Lernseite erstellt
Ich habe ein CUI-basiertes Übersetzungsskript erstellt (2)
Ich habe einen Wikipedia Gacha Bot gemacht
Ich habe meine eigene Python-Bibliothek erstellt
Quine Post mit Qiita API (Python)
Ich habe eine einfache Schaltung mit Python gemacht (AND, OR, NOR, etc.)
Ich habe eine Bibliothek erstellt, die Konfigurationsdateien mit Python einfach lesen kann
Eine Geschichte über das Hinzufügen einer REST-API zu einem mit Python erstellten Daemon
Python> Ich habe einen Testcode für meine eigene externe Datei erstellt
Ich habe eine Python-Bibliothek erstellt, um die API von LINE WORKS aufzurufen
Ich habe mit Python, Flask und Heroku ein Nyanko-Tweet-Formular erstellt
Ich habe viele Dateien für die RDP-Verbindung mit Python erstellt
[Python] Ich habe einen Bildbetrachter mit einer einfachen Sortierfunktion erstellt.
Ich habe ein Shuffle gemacht, das mit Python zurückgesetzt (zurückgesetzt) werden kann