Compare commits

..

No commits in common. "41031470cf916820aad51bb4a95745ffeecf493a" and "246dd0b734003b00c3361595e031d28d934ee0da" have entirely different histories.

3 changed files with 10 additions and 28 deletions

View file

@ -11,7 +11,6 @@ We do not yet do summing of time per issue, but could with a fair amount of work
In the meantime this can be done with a spreadsheet: In the meantime this can be done with a spreadsheet:
## Usage ## Usage
For use with Forgejo Include your API token in .env as FORGEJO_API_TOKEN={token} For use with Forgejo Include your API token in .env as FORGEJO_API_TOKEN={token}
- Token can be generated here if you do not have one: https://git.agaric.com/user/settings/applications - Token can be generated here if you do not have one: https://git.agaric.com/user/settings/applications
@ -25,10 +24,3 @@ python generate_issues.py FILE
``` ```
The program outputs to 'modified_report.csv' The program outputs to 'modified_report.csv'
## ⚠️ Warnings! ⚠️
This only parses three issues out of the harvest comment, if you have more issues in the comment it ignores them
Until some fundamental issues are resolved regarding error handling when failing to connect to Forgejo or if a fetched issue returns 404
this whole thing will quit on you in an unhelpful and frustrating manner.

View file

@ -43,7 +43,8 @@ def get_issue_title_and_url(issue_number):
issues_and_urls += [issue_title, issue_url] issues_and_urls += [issue_title, issue_url]
return [issue_title, issue_url] return [issue_title, issue_url]
def check_for_file(file): def prompt_for_file(file):
file = input("Enter harvest report: ")
if not os.path.exists(file): if not os.path.exists(file):
print("THAT FILE DOES NOT EXIST, EXITING PROGRAM") print("THAT FILE DOES NOT EXIST, EXITING PROGRAM")
quit() quit()

View file

@ -1,47 +1,36 @@
import generate_issues import generate_issues
import re import re
def test_split_issues_into_columns(): def test_split_issues_into_columns():
issues_string = "Resolved Issue #679, #678 and Issue 677" issues_string = 'Resolved Issue #363, #362 and Issue 361'
issues = generate_issues.parse_notes_section(issues_string) issues = generate_issues.parse_notes_section(issues_string)
solution = { solution = {'First Issue Title': 'Little slow downs are happening - these often signal that the server memory is getting overwhelmed?', 'First Issue URL': 'https://git.agaric.com/housingworks/app-housingworks-net/issues/363', 'Second Issue Title': 'Little slow downs are happening - these often signal that the server memory is getting overwhelmed?', 'Second Issue URL': 'https://git.agaric.com/housingworks/app-housingworks-net/issues/363', 'Third Issue Title': 'the csv Importer has quit working on both the live and test sites???', 'Third Issue URL': 'https://git.agaric.com/housingworks/app-housingworks-net/issues/362'}
"First Issue Title": "Update 'Same as mailing address' label in step 1 of client wizard",
"First Issue URL": "https://git.agaric.com/housingworks/app-housingworks-net/issues/679",
"Second Issue Title": "People filtering the programs listing by county can see which state the county is in",
"Second Issue URL": "https://git.agaric.com/housingworks/app-housingworks-net/issues/678",
"Third Issue Title": "Fatal error on viewing Client Households",
"Third Issue URL": "https://git.agaric.com/housingworks/app-housingworks-net/issues/677",
}
if generate_issues.split_issues_into_columns(issues) == solution: if (generate_issues.split_issues_into_columns(issues) == solution):
print("TEST SPLIT ISSUES INTO COLUMNS PASSED") print("TEST SPLIT ISSUES INTO COLUMNS PASSED")
else: else:
print("TEST SPLIT ISSUES INTO COLUMNS FAILED") print("TEST SPLIT ISSUES INTO COLUMNS FAILED")
def test_parse_notes_section(): def test_parse_notes_section():
if generate_issues.parse_notes_section("Resolved Issue #4, #5 and Issue 6") == ["4","5","6"]: if (generate_issues.parse_notes_section('Resolved Issue #4, #5 and Issue 6') == ['4', '5', '6']):
print("TEST PARSE NOTES SECTION PASSED") print("TEST PARSE NOTES SECTION PASSED")
else: else:
print("TEST PARSE NOTES SECTION FAILED") print("TEST PARSE NOTES SECTION FAILED")
def test_get_issue_title_and_url(): def test_get_issue_title_and_url():
solution = [ solution = [
"Update 'Same as mailing address' label in step 1 of client wizard", "Little slow downs are happening - these often signal that the server memory is getting overwhelmed?",
"https://git.agaric.com/housingworks/app-housingworks-net/issues/679", "https://git.agaric.com/housingworks/app-housingworks-net/issues/363"
] ]
if generate_issues.get_issue_title_and_url(679) == solution: if generate_issues.get_issue_title_and_url(363) == solution:
print("TEST GET ISSUE TITLE AND URL PASSED") print("TEST GET ISSUE TITLE AND URL PASSED")
else: else:
print("TEST GET ISSUE TITLE AND URL FAILED") print("TEST GET ISSUE TITLE AND URL FAILED")
def run_tests(): def run_tests():
test_parse_notes_section() test_parse_notes_section()
test_get_issue_title_and_url() test_get_issue_title_and_url()
test_split_issues_into_columns() test_split_issues_into_columns()
run_tests() run_tests()