Skip to content

Commit de563cd

Browse files
authored
Merge pull request #27 from OSLL/list_invitations
added invites mode
2 parents 45347e1 + 35f2dfb commit de563cd

File tree

3 files changed

+36
-5
lines changed

3 files changed

+36
-5
lines changed

README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,13 @@ python3 main.py -i [-t, --token] token (github токен вместо token) [-
2222
```commandline
2323
python3 main.py -p [-t, --token] token (github токен вместо token) [-l, --list] list (list - строка пути к txt файлу со списком репозиториев) [-o, --out] out (out - название csv файла, в который будут помещены все логи)
2424
```
25+
4. Логирование непринятых приглашений в репо
26+
```commandline
27+
python3 main.py --invites [-t, --token] token (github токен вместо token) [-l, --list] list (list - строка пути к txt файлу со списком репозиториев) [-o, --out] out (out - название csv файла, в который будут помещены все логи)
28+
```
29+
30+
31+
2532
## Получение токена для работы с Google таблицей:
2633
Сначала нужно создать проект на сайте [Google Cloud](https://console.cloud.google.com/). Выбираем название проекта, жмем на кнопку "Create".
2734

@@ -43,4 +50,4 @@ python3 main.py -p [-t, --token] token (github токен вместо token) [-
4350
## Файл со списком репозиториев:
4451

4552
Репозитории хранятся в txt файле. Каждый репозиторий записывается в отдельную строку.
46-
Должно быть указано полное имя репозитория. (Название организации/название репозитория)
53+
Должно быть указано полное имя репозитория. (Название организации/название репозитория)

git_logger.py

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import requests
33
import json
44
import pytz
5-
5+
from time import sleep
66
from github import Github, Repository, GithubException, PullRequest
77

88
EMPTY_FIELD = 'Empty field'
@@ -422,6 +422,28 @@ def log_issues(client: Github, repositories, csv_name, token, start, finish):
422422
print(e)
423423

424424

425+
def log_invitations(client: Github, repositories, csv_name):
426+
with open(csv_name, 'w', newline='') as file:
427+
writer = csv.writer(file)
428+
writer.writerow(
429+
(
430+
'repository name',
431+
'invited login',
432+
'invite creation date',
433+
'invitation url'
434+
)
435+
)
436+
for repo in get_next_repo(client, repositories):
437+
invitations = repo.get_pending_invitations()
438+
for invite in invitations:
439+
try:
440+
invite_info = [repo.full_name,invite.invitee.login, invite.created_at.strftime("%d/%m/%Y, %H:%M:%S"), invite.html_url]
441+
writer.writerow(invite_info)
442+
print(invite_info)
443+
sleep(timedelta)
444+
except e:
445+
print(e)
446+
425447
def log_commits(client: Github, repositories, csv_name, start, finish):
426448
with open(csv_name, 'w', newline='') as file:
427449
writer = csv.writer(file)
@@ -440,7 +462,7 @@ def log_commits(client: Github, repositories, csv_name, start, finish):
440462
for repo in get_next_repo(client, repositories):
441463

442464
try:
443-
log_repository_commits(repo, csv_name, starr, finish)
465+
log_repository_commits(repo, csv_name, start, finish)
444466
sleep(timedelta)
445467
except e:
446468
print(e)

main.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
def parse_args():
99
parser = argparse.ArgumentParser()
10+
parser.add_argument("--invites", help="print pending invites", action="store_true")
1011
parser.add_argument("-p", help="log pull requests", action="store_true")
1112
parser.add_argument("-i", help="log issues", action="store_true")
1213
parser.add_argument("-e", help="export table to google sheets", action="store_true")
@@ -57,7 +58,7 @@ def main():
5758
start = parse_time(args.start.split('-'))
5859
if args.finish:
5960
finish = parse_time(args.finish.split('-'))
60-
if not args.p and not args.i:
61+
if not args.p and not args.i and not args.invites:
6162
git_logger.log_commits(client, repositories, csv_name, start, finish)
6263
if (args.e):
6364
export_sheets.write_data_to_table(csv_name, args.google_token, args.table_id, args.sheet_id)
@@ -69,7 +70,8 @@ def main():
6970
git_logger.log_issues(client, repositories, csv_name, token, start, finish)
7071
if (args.e):
7172
export_sheets.write_data_to_table(csv_name, args.google_token, args.table_id, args.sheet_id)
72-
73+
if args.invites:
74+
git_logger.log_invitations(client, repositories, csv_name)
7375

7476

7577
if __name__ == '__main__':

0 commit comments

Comments
 (0)