Init commit
This commit is contained in:
commit
cfcd09a567
1 changed files with 56 additions and 0 deletions
56
generate_issues.py
Normal file
56
generate_issues.py
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
import os
|
||||||
|
import csv
|
||||||
|
import re
|
||||||
|
|
||||||
|
# {'harvest_project': ('owner', 'repo')}
|
||||||
|
projects = {
|
||||||
|
'harvest_project': (owner, repo),
|
||||||
|
}
|
||||||
|
|
||||||
|
def test_parse_notes_section():
|
||||||
|
if (parse_notes_section('Resolved Issue #4, #5 and Issue 6') == ['Issue #4', '#5', 'Issue 6']):
|
||||||
|
print("test parse_notes_section passed")
|
||||||
|
else:
|
||||||
|
print("Test parse_notes_section failed")
|
||||||
|
|
||||||
|
|
||||||
|
def parse_notes_section(notes):
|
||||||
|
print("NOTES: ", notes)
|
||||||
|
regex_pattern = r"[Ii]ssue\s*(?:#)?\d+|#\d+"
|
||||||
|
matches = re.findall(regex_pattern, notes)
|
||||||
|
if matches:
|
||||||
|
print("MATCHES: ", matches)
|
||||||
|
return matches
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def parse_harvest_csv(file=None):
|
||||||
|
if file is None:
|
||||||
|
file = input('Enter harvest report: ')
|
||||||
|
print(file)
|
||||||
|
|
||||||
|
if os.path.exists(file):
|
||||||
|
print('Beginning parsing for issues')
|
||||||
|
|
||||||
|
with open(file, 'r') as f:
|
||||||
|
csv_reader = csv.DictReader(f)
|
||||||
|
rows = list(csv_reader)
|
||||||
|
original_fieldnames = csv_reader.fieldnames
|
||||||
|
|
||||||
|
issue_fields = ['First Issue', 'Second Issue', 'Third Issue']
|
||||||
|
modified_fieldnames = original_fieldnames + issue_fields
|
||||||
|
|
||||||
|
with open('modified_csv.csv', 'w', newline='') as csvfile:
|
||||||
|
writer = csv.DictWriter(csvfile, fieldnames = modified_fieldnames)
|
||||||
|
writer.writeheader()
|
||||||
|
for row in rows:
|
||||||
|
issues = parse_notes_section(row['Notes'])
|
||||||
|
issues_dict = dict(zip(issue_fields, issues))
|
||||||
|
writer.writerow(issues_dict)
|
||||||
|
|
||||||
|
|
||||||
|
def test_program():
|
||||||
|
parse_harvest_csv("louis_harvest_time_report_from2023-10-01to2023-10-07.csv")
|
||||||
|
|
||||||
|
test_parse_notes_section()
|
||||||
|
test_program()
|
Loading…
Reference in a new issue