from apimock import * import difflib as dl import random import sys commands = [ 'pomoc', 'powiedz co nowego w moim repozytorium x', 'do widzenia', 'pokaz issue w', 'pokaz mi powiadomienia', 'jakie sa pull requesty', 'pokaz mi testy w' ] welcome = [ 'Witaj!', "Cześć", "Hello", "Hej", "Dzień dobry", "Hey" ] unknown = [ "Nie rozumiem.", "Nie wiem co masz na myśli." ] other = [ "Podobne komendy: ", "Może chodziło Ci o te komendy: ", "Spróbuj wybrać jedną z tych komend: " ] bye = [ "Żegnaj!", "Do zobaczenia", "Do widzenia", "Miłego dnia", "Do widzenia i miłego dnia", "Narazie" ] help = ["Obsługuję przekazywanie informacji z systemu GitHub - repozytoria, pull requesty, issue, powiadomienia."] time = ["Z jakiego czasu?", "Z jakiego okresu?", "Podaj z jakiego przedziału czasowego"] repo = [ "Z jakiego repozytorium", "Wskaż repozytorium", "Podaj z jakiego repozytorium chciałbyć otrzymać informacje", "Określ repozytorium" ] howmany = ["Ile ostatnich elemntów chcesz zobaczyć?", "Ile ostatnich elmentów wyświetlić?", "Ile ostatnich elemnetów pokazać?"] error_time = ["Podano nie prawidłowy czas, popraw ramy czasowe", "Czas jest nie prawidłowy, podaj ponownie", "Podaj przedział czasowy jeszcze raz"] error_repo = ["Podano nieprawidłową nazwę repozytorium", "Podaj ponownie nazwę repozytorium, ponieważ podania nie prawidłową"] def generator_jezyka_nautalnego(frame, tactic, state, text): if tactic == 'null': beastMatch = dl.get_close_matches(text, commands) print(random.choice(unknown)) if len(beastMatch) > 0: print(random.choice(other) + ', '.join(beastMatch)) elif tactic[1] == 'help': print(random.choice(help)) print("Dostępne komendy: \n - " + '\n - '.join(commands)) elif tactic == 'bye': print(random.choice(bye)) print() sys.exit(0) elif tactic[0] == 'ANSWER' and tactic[1] == 'issues': print("Lista issues w repozytorium " + tactic[2][0][1] + ":") issues = listRepositoryIssues(tactic[2][0][1]) for issue in issues: print(issue['name']) print(issue['description']) print(issue['status']) print() elif tactic[0] == 'ANSWER' and tactic[1] == 'pullrequest': print("Lista pull requestów w repozytorium " + tactic[2][0][1] + ":") prs = listRepositoryPullRequests(tactic[2][0][1]) for pr in prs: print(pr['name']) print(pr['description']) print(pr['state']) print() elif tactic[0] == 'ANSWER' and tactic[1] == 'brefing': print("Podsumowanie w repozytorium " + tactic[2][0][1] + ":") brefings = getBrefing() for brefing in brefings: print(brefing['name']) print(brefing['description']) print() elif tactic[0] == 'ANSWER' and tactic[1] == 'tests': print("Lista testów w repozytorium " + tactic[2][0][1] + ":") tests = listRepositoryTests(tactic[2][0][1]) for test in tests: print(test['name']) print(test['description']) print(test['status']) print() elif tactic[0] == 'ANSWER' and tactic[1] == 'notifications': print("Lista powidomień w repozytorium " + tactic[2][0][1] + ":") notifications = listNotifications(tactic[2][0][1]) for notification in notifications: print(notification['name']) print(notification['description']) print() elif tactic == 'hello': print(random.choice(welcome)) elif tactic[0] == 'QUESTION' and tactic[1][0] == 'repo': print("Dodaj nazwę repozytorium na końcu komendy") print("np. w nazwarepozytorium") else: print(tactic) print()