initial commit

This commit is contained in:
Kay Faraday 2023-01-11 06:56:01 +00:00
commit 8dd718cd20
3 changed files with 40 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
__pycache__/

38
delete_posts.py Executable file
View File

@ -0,0 +1,38 @@
#!/usr/bin/env python
from pleroma import Pleroma
class PostDeleter:
def __init__(self, *, access_token, api_base_url):
self._fedi = Pleroma(access_token=access_token, api_base_url=api_base_url)
async def __aenter__(self):
self._fedi = await self._fedi.__aenter__()
return self
async def __aexit__(self, *excinfo):
await self._fedi.__aexit__(*excinfo)
async def run(self):
print('Deleting...')
async for status in self._fedi.account_statuses_iter(
await self._fedi.me(),
exclude_repeats=False,
):
if status['reblog']:
await self._fedi.un_repeat(status['reblog'])
else:
await self._fedi.delete_status(status)
print('.', end='', flush=True)
print()
async def main():
import os, sys
async with PostDeleter(access_token=os.environ['ACCESS_TOKEN'], api_base_url=sys.argv[1]) as pd:
await pd.run()
if __name__ == '__main__':
import anyio
anyio.run(main)

1
requirements.txt Normal file
View File

@ -0,0 +1 @@
pleroma.py