YuzuRyo61 / Misskey.py

The Misskey API library for Python. Misskey is made by syuilo. 🐡( '-' 🐡 )hug punch!!!!
https://misskeypy.readthedocs.io/ja/latest/
MIT License
81 stars 6 forks source link

Drive Cleanup and Clean Remote Files #123

Open tassoman opened 4 months ago

tassoman commented 4 months ago

I just read announcement about /admin API routes are not going to be implemented... :eyes:

I'd like this two routes were supported:

Maybe, is there room for proxying requests library?
For example a generic misskey.api_call('route') method sending already authenticated POST requests? :thinking: misskey._request() is a private callback.

HotoRas commented 3 weeks ago

on the latest code (branch main), you can do:

# admin-drive.py
# class defines to rewrap
from misskey.sync_base import Misskey as Base

__all__ = (
    "Misskey",
)

class Misskey(Base):
    def admin_drive(self) -> Any:
        return self._api_request(endpoint="api/admin/drive/cleanup")

    def admin_drive_cleanRemoteFiles(self) -> Any:
        return self._api_request(endpoint="api/admin/drive/clean-remote-files")
# misskey-rewrap.py
from misskey import Misskey as MisskeyOrigin
from admin-drive import Misskey as AdminDriveMisskey

__all__ = (
    "Misskey",
)

class Misskey(MisskeyOrigin, AdminDriveMisskey):
    pass
# main.py
from misskey-rewrap import Misskey
mk = Misskey(
    address="https://misskey.example.com",
    token="token", # Valid misskey API token requires 'manage user drive'('write:admin:drive')
)
mk.admin_drive()
mk.admin_drive_cleanRemoteFiles()

or simply

from misskey import Misskey
mk = Misskey(
    address="https://misskey.example.com",
    token="token", # Valid misskey API token requires 'manage user drive'('write:admin:drive')
)

mk._api_request(endpoint="api/admin/drive/cleanup")
mk._api_request(endpoint="api/admin/drive/clean-remote-files")