Update.
This commit is contained in:
parent
cb310967cd
commit
149659064d
@ -13,7 +13,49 @@ from snek.app import Application
|
||||
def cli():
|
||||
pass
|
||||
|
||||
@cli.command()
|
||||
def export():
|
||||
|
||||
app = Application(db_path="sqlite:///snek.db")
|
||||
|
||||
async def fix_message(message):
|
||||
message = {
|
||||
"uid": message["uid"],
|
||||
"user_uid": message["user_uid"],
|
||||
"text": message["message"],
|
||||
"sent": message["created_at"],
|
||||
}
|
||||
user = await app.services.user.get(uid=message["user_uid"])
|
||||
message["user"] = user and user["username"] or None
|
||||
return (message["user"] or "") + ": " + (message["text"] or "")
|
||||
async def run():
|
||||
|
||||
result = []
|
||||
for channel in app.db["channel"].find(
|
||||
is_private=False, is_listed=True, tag="public"
|
||||
):
|
||||
print(f"Dumping channel: {channel['label']}.")
|
||||
result += [
|
||||
await fix_message(record)
|
||||
for record in app.db["channel_message"].find(
|
||||
channel_uid=channel["uid"], order_by="created_at"
|
||||
)
|
||||
]
|
||||
print("Dump succesfull!")
|
||||
print("Converting to json.")
|
||||
print("Converting succesful, now writing to dump.txt")
|
||||
with open("dump.txt", "w") as f:
|
||||
f.write("\n\n".join(result))
|
||||
print("Dump written to dump.json")
|
||||
asyncio.run(run())
|
||||
|
||||
|
||||
@cli.command()
|
||||
def statistics():
|
||||
async def run():
|
||||
app = Application(db_path="sqlite:///snek.db")
|
||||
app.services.statistics.database()
|
||||
asyncio.run(run())
|
||||
|
||||
@cli.command()
|
||||
def maintenance():
|
||||
|
Loading…
Reference in New Issue
Block a user