Compare commits
3 commits
246dd0b734
...
41031470cf
Author | SHA1 | Date | |
---|---|---|---|
|
41031470cf | ||
|
fb6f226371 | ||
|
5aec6e7414 |
3 changed files with 30 additions and 12 deletions
|
@ -11,6 +11,7 @@ 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
|
||||||
|
|
||||||
|
@ -24,3 +25,10 @@ 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.
|
||||||
|
|
|
@ -43,8 +43,7 @@ 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 prompt_for_file(file):
|
def check_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()
|
||||||
|
|
31
tests.py
31
tests.py
|
@ -1,36 +1,47 @@
|
||||||
import generate_issues
|
import generate_issues
|
||||||
import re
|
import re
|
||||||
|
|
||||||
def test_split_issues_into_columns():
|
|
||||||
issues_string = 'Resolved Issue #363, #362 and Issue 361'
|
|
||||||
issues = generate_issues.parse_notes_section(issues_string)
|
|
||||||
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'}
|
|
||||||
|
|
||||||
if (generate_issues.split_issues_into_columns(issues) == solution):
|
def test_split_issues_into_columns():
|
||||||
|
issues_string = "Resolved Issue #679, #678 and Issue 677"
|
||||||
|
issues = generate_issues.parse_notes_section(issues_string)
|
||||||
|
solution = {
|
||||||
|
"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:
|
||||||
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 = [
|
||||||
"Little slow downs are happening - these often signal that the server memory is getting overwhelmed?",
|
"Update 'Same as mailing address' label in step 1 of client wizard",
|
||||||
"https://git.agaric.com/housingworks/app-housingworks-net/issues/363"
|
"https://git.agaric.com/housingworks/app-housingworks-net/issues/679",
|
||||||
]
|
]
|
||||||
if generate_issues.get_issue_title_and_url(363) == solution:
|
if generate_issues.get_issue_title_and_url(679) == 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()
|
||||||
|
|
Loading…
Reference in a new issue