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