-
Notifications
You must be signed in to change notification settings - Fork 0
/
example.py
71 lines (66 loc) · 4.11 KB
/
example.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
"""
Example file.
"""
import configparser
import sys
from ximc import XimcRedmine
if __name__ == "__main__":
config = configparser.ConfigParser()
config.read("config.ini")
user_name = config.get("MAIN", "login")
password = config.get("MAIN", "password")
try:
ximc_user = XimcRedmine(user_name, password)
ximc_user.auth()
except Exception:
print("User authorization failed")
sys.exit(0)
# Задаем параметры для первого запроса (фильтры задаются аналогично веб-интерфейсу ximc)
ximc_user.add_filter("Проект", "соответствует", "EP-software")
ximc_user.add_filter("Статус", "соответствует", "Closed")
ximc_user.add_filter("Трекер", "не соответствует", "Bug")
ximc_user.add_filter("Приоритет", "соответствует", "Normal")
ximc_user.add_filter("Автор", "не соответствует", "dasha")
ximc_user.add_filter("Назначена", "все")
ximc_user.add_filter("Версия", "соответствует", "Развитие-2018")
ximc_user.add_filter("Тема", "содержит", "к нашим")
ximc_user.add_filter("Описание", "начинается с", "Привести")
ximc_user.add_filter("Готовность", ">=", 50)
ximc_user.add_filter("Частная", "соответствует", "нет")
ximc_user.add_filter("Файл", "отсутствует")
ximc_user.add_filter("Кем изменено", "соответствует", "mikheev")
ximc_user.add_filter("Последний изменивший", "соответствует", "VladBelov")
ximc_user.add_filter("Задача", ">=", 20033)
# Запрашиваем необходимые итоговые параметры
totals = ximc_user.get_totals("Оценка временных затрат", "Трудозатраты", "Payment cash", "Payment cashless", "Rate")
# В итоге получаем словарь в виде: {"название параметра": значение}
print("Project: EP-software")
for option_name, value in totals.items():
print(f"{option_name}: {value}")
# Задаем параметры для следующего запроса. Но сначала нужно очистить ранее заданные фильтры
ximc_user.clear_filters()
# Задаем фильтры аналогично веб-интерфейсу ximc
ximc_user.add_filter("Project", "is", "Payments")
ximc_user.add_filter("Status", "closed")
ximc_user.add_filter("Created", "between", "2021-09-09", "2021-11-11")
# Запрашиваем необходимые итоговые параметры
totals = ximc_user.get_totals("Estimated time", "Spent time", "Payment cash", "Payment cashless", "Rate",
"Payment tail")
# В итоге получаем словарь в виде: {"название параметра": значение}
print("\nProject: Payments")
for option_name, value in totals.items():
print(f"{option_name}: {value}")
# Задаем параметры для следующего запроса. Но сначала нужно очистить ранее заданные фильтры
ximc_user.clear_filters()
ximc_user.add_filter("Status", "is", "Closed")
ximc_user.add_filter("Tracker", "is not", "Bug")
ximc_user.add_filter("Priority", "is", "Normal")
ximc_user.add_filter("Author", "is", "dasha")
ximc_user.add_filter("Assignee", "is", "vladimirov_iy")
ximc_user.add_filter("% Done", ">=", 50)
# Запрашиваем необходимые итоговые параметры
totals = ximc_user.get_totals("Estimated time", "Spent time", "Payment cash", "Payment cashless", "Rate")
# В итоге получаем словарь в виде: {"название параметра": значение}
print("\nAll projects")
for option_name, value in totals.items():
print(f"{option_name}: {value}")