misskey-microblogger/generate.py
Victor Westerlund ac5b9f3955 Add random user generator (#1)
This PR adds scripts for generating random users, and generating random relationships between these users. This PR also refactors config file loading and writing into a class.

Reviewed-on: https://codeberg.org/vlw/misskey-microblogger/pulls/1
Co-authored-by: Victor Westerlund <victor.vesterlund@gmail.com>
Co-committed-by: Victor Westerlund <victor.vesterlund@gmail.com>
2024-11-14 10:02:03 +00:00

46 lines
No EOL
1.2 KiB
Python

import sys
import json
import typing
from os import system
from src.Config import Config
from src.User.User import User
from src.Generate.GenerateUser import GenerateUser
from src.Generate.GenerateRelationships import GenerateRelationships
DEFAULT_GENERATE_USER_COUNT = 10
# Generate a user
def generate_user() -> User:
while True:
user = GenerateUser()
print(f"1. Create username: {user.username}")
# We need the human's help here since I haven't found a way to get API keys from Misskey automatically
user.set_api_key(input("2. Paste API key:"))
yield user.autorun()
def main():
config = Config()
users = []
# Generate n amount of users
for i in (range(int(sys.argv[1]) if len(sys.argv) > 1 else DEFAULT_GENERATE_USER_COUNT)):
system("clear")
print(f"Generating user: {i + 1}")
users.append(next(generate_user()))
i += 1
# Create random relationships for generated users
print("Generating random user relationships")
GenerateRelationships(users).autorun()
print("Activating users")
# Add generated users to active users in config
for user in users:
config.add_active_user(user.username)
config.save_config()
if __name__ == "__main__":
main()