From a3b0596584fe67e80b2a83e48b1f7905bb7f6b12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?benjamin=20melan=C3=A7on?= Date: Wed, 15 May 2024 17:25:23 -0400 Subject: [PATCH] Working simple import script - unless issue title is too long Then it breaks with: Traceback (most recent call last): File '/home/mlncn/Projects/agaric/forgejo_helpers/import_issues.py', line 57, in import_issues(owner, repo, csv_filename) File '/home/mlncn/Projects/agaric/forgejo_helpers/import_issues.py', line 47, in import_issues new_issue_url = json_response['html_url'] ~~~~~~~~~~~~~^^^^^^^^^^^^ KeyError: 'html_url' --- import_issues.py | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/import_issues.py b/import_issues.py index f1a86b8..e1f5bc8 100644 --- a/import_issues.py +++ b/import_issues.py @@ -21,37 +21,37 @@ def import_issues(owner, repo, csv_filename): issues = [] with open(csv_filename) as csvfile: rows = csv.reader(csvfile) - rows.pop(0) for row in rows: issues.append(row[0]) - print(f"Creating issue {json_response['title']} now…") + print(f"Creating issues now…") + issues.pop(0) for issue in issues: new_issue = { "title": issue } - create_issue_url = API_CREATE_ISSUE.format(instance=FORGEJO_INSTANCE, owner=owner, repo=repo) - # print(create_issue_url) - headers = {"Authorization": f"token {FORGEJO_API_TOKEN}"} - created_response = requests.post(create_issue_url, headers=headers, json=new_issue) + create_issue_url = API_CREATE_ISSUE.format(instance=FORGEJO_INSTANCE, owner=owner, repo=repo) + # print(create_issue_url) + headers = {"Authorization": f"token {FORGEJO_API_TOKEN}"} + created_response = requests.post(create_issue_url, headers=headers, json=new_issue) - json_response = created_response.json() - message = json_response.pop('message', False) - if message: - print(message) - sys.exit("Error creating issue.") - else: - new_issue_url = json_response['html_url'] - print(f"Issue created: {new_issue_url}") + json_response = created_response.json() + message = json_response.pop('message', False) + if message: + print(message) + sys.exit("Error creating issue.") + else: + new_issue_url = json_response['html_url'] + print(f"Issue created: {new_issue_url}") if __name__=="__main__": # '0' comes in as move_issue.py when this is called as `python move_issue.py` owner = sys.argv[1] repo = sys.argv[2] - csv_filename = sys.argv[2] + csv_filename = sys.argv[3] - import_issues(owner, repo, csvfile) + import_issues(owner, repo, csv_filename)