From f69778980f850e2e72f736ef5122861dc83a6580 Mon Sep 17 00:00:00 2001 From: Zergey Loshkarev <zeryoshka@gmail.com> Date: Wed, 30 Jun 2021 03:05:52 +0300 Subject: [PATCH] add output of users informations --- .gitignore | 3 +++ config.py | 26 ++++++++++++++++++++++++++ main.py | 13 +++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 .gitignore create mode 100644 config.py create mode 100644 main.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..25a1c05 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +venv/ +/*.ini +/__pycache__/ \ No newline at end of file diff --git a/config.py b/config.py new file mode 100644 index 0000000..1a9d5fd --- /dev/null +++ b/config.py @@ -0,0 +1,26 @@ +from configparser import ConfigParser + +import taiga + +_CONFIG_FILE = 'config.ini' # config file + + +def _valid_taiga_config(config: ConfigParser) -> (bool): + if 'taiga' in config.sections(): + taiga_dict = dict(config['taiga']) + if ( + 'host' in taiga_dict and \ + 'username' in taiga_dict and \ + 'password' in taiga_dict and \ + 'project_name' in taiga_dict + ): + return True + return False + +def read_config(config_filename: str) -> (ConfigParser): + config = ConfigParser() + if config.read(config_filename) == []: + raise Exception('Config file not found') + if not _valid_taiga_config(config): + raise Exception('Unvalid data-format in Taiga\'s config') + return config \ No newline at end of file diff --git a/main.py b/main.py new file mode 100644 index 0000000..1bfb17a --- /dev/null +++ b/main.py @@ -0,0 +1,13 @@ +from config import read_config +from taiga import TaigaAPI + +config = read_config('config.ini') +api = TaigaAPI(host=config['taiga']['host']) +api.auth( + username=config['taiga']['username'], + password=config['taiga']['password'] +) +users = api.projects.get_by_slug(config['taiga']['project_name']).list_memberships() +for user in users[:]: + # print(dir(user)) + print(f"name: {user.full_name} role_name: {user.role_name} photo: {user.photo} ") \ No newline at end of file -- GitLab