From c2a9619ac70c18316a307cda39f813bc39517d58 Mon Sep 17 00:00:00 2001 From: karoel2 Date: Wed, 15 Jun 2022 09:21:42 +0200 Subject: [PATCH] Fixed merge conflict --- system/generator_jezyka_nautalnego.py | 86 ++++++++++++++++----------- system/monitor_stanu_dialogowego.py | 4 ++ system/taktyka_dialogu.py | 16 ++--- 3 files changed, 65 insertions(+), 41 deletions(-) diff --git a/system/generator_jezyka_nautalnego.py b/system/generator_jezyka_nautalnego.py index 69b1c41..56e695a 100644 --- a/system/generator_jezyka_nautalnego.py +++ b/system/generator_jezyka_nautalnego.py @@ -34,8 +34,8 @@ other = [ ] bye = [ - "Żegnaj!", - "Do zobaczenia", + "Żegnaj!", + "Do zobaczenia", "Do widzenia", "Miłego dnia", "Do widzenia i miłego dnia", @@ -46,9 +46,9 @@ help = ["Obsługuję przekazywanie informacji z systemu GitHub - repozytoria, pu 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", + "Z jakiego repozytorium", + "Wskaż repozytorium", + "Podaj z jakiego repozytorium chciałbyć otrzymać informacje", "Określ repozytorium" ] @@ -56,6 +56,11 @@ howmany = ["Ile ostatnich elemntów chcesz zobaczyć?", "Ile ostatnich elmentów 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 find(args, key): + for item in args: + if item[0] == key: + return item + def generator_jezyka_nautalnego(frame, tactic, state, text): if tactic == 'null': @@ -64,41 +69,54 @@ def generator_jezyka_nautalnego(frame, tactic, state, text): 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)) + elif tactic[0] == False: #ASK + _, required_empty, act, req_args, opt_args = tactic + print('DEBUG: ', act, req_args, opt_args,sep = '\n') + print(f'Proszę podaj {required_empty[0]}') 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']) + elif tactic[0] == True: + _, act, req_args, opt_args = tactic + print('DEBUG: ', act, req_args, opt_args,sep = '\n') + if act == 'help': + print(random.choice(help)) + print("Dostępne komendy: \n - " + '\n - '.join(commands)) + + elif act == 'bye': + print(random.choice(bye)) print() + sys.exit(0) - 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 == 'hello': + print(random.choice(welcome)) - elif tactic == 'hello': - print(random.choice(welcome)) + elif act == 'issues': + print("Lista issues w repozytorium " + find(req_args, repo) + ":") + issues = listRepositoryIssues(find(req_args, repo)) + for issue in issues: + print(issue['name']) + print(issue['description']) + print(issue['status']) + print() - elif tactic[0] == 'QUESTION' and tactic[1][0] == 'repo': - print("Dodaj nazwę repozytorium na końcu komendy") - print("np. w nazwarepozytorium") + elif act == 'pullrequest': + print("Lista pull requestów w repozytorium " + find(req_args, repo) + ":") + prs = listRepositoryPullRequests(find(req_args, repo)) + for pr in prs: + print(pr['name']) + print(pr['description']) + print(pr['state']) + print() + + + # + # elif tactic[0] == 'QUESTION' and act[0] == 'repo': + # print("Dodaj nazwę repozytorium na końcu komendy") + # print("np. w nazwarepozytorium") + + else: + print(tactic) else: - print(tactic) - + print('ERROR') print() diff --git a/system/monitor_stanu_dialogowego.py b/system/monitor_stanu_dialogowego.py index 886ec98..3ba6566 100644 --- a/system/monitor_stanu_dialogowego.py +++ b/system/monitor_stanu_dialogowego.py @@ -12,6 +12,10 @@ dialogue_state = { 'counter': 0 } +def add_fact(key, value): + global dialogue_state + dialogue_state['facts'][key] = value + def monitor_stanu_dialogowego(frame): not_pivot_acts = ['time', diff --git a/system/taktyka_dialogu.py b/system/taktyka_dialogu.py index 46015b7..c8d0668 100644 --- a/system/taktyka_dialogu.py +++ b/system/taktyka_dialogu.py @@ -1,4 +1,5 @@ from apimock import * +from monitor_stanu_dialogowego import add_fact gramar_slots = { 'pullrequest': (('action', 'optional'), @@ -68,7 +69,7 @@ def long_thread(state): opt_args = add_facts(opt_args, facts) required_empty = check_req(req_args) if required_empty: - return False, required_empty[0] #slot do uzupełnienia + return False, required_empty[0], act, req_args, opt_args #slot do uzupełnienia return True, act, req_args, opt_args #wyświetl użytkownikowi def check_req(req_args): @@ -81,12 +82,13 @@ def check_req(req_args): def add_facts(args, facts): for key, value in facts.items(): for idx, item in enumerate(args): - if key == item[0] and value != None and item[1] == None: - args[idx] = value - if key == 'repo': - validate_repo(value) - - + if key == item[0]: + if value != None and item[1] == None: + args[idx] = value + if key == 'repo': + validate_repo(value) + if value == None and item[1] != None: + add_fact(key, item[1]) return args def agregate(grammar, slots):