-
Notifications
You must be signed in to change notification settings - Fork 90
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This CLI is made available for use while the front end is under development.
- Loading branch information
1 parent
6288078
commit 4d9ec88
Showing
1 changed file
with
113 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
from src.backend.expungeservice.crawler.crawler import Crawler | ||
from src.backend.expungeservice.expunger.expunger import Expunger | ||
from datetime import datetime | ||
import os | ||
|
||
|
||
crawler = Crawler() | ||
username = input("Enter username: ") | ||
password = input("Enter password: ") | ||
|
||
logged_in = crawler.login(username, password) | ||
|
||
while not logged_in: | ||
print() | ||
print("Incorrect login information. Please re-enter credentials; otherwise hit control C to exit") | ||
print() | ||
username = input("Enter username: ") | ||
password = input("Enter password: ") | ||
logged_in = crawler.login(username, password) | ||
|
||
print() | ||
print("Successfully logged in.") | ||
print("Please enter search parameters") | ||
print() | ||
|
||
first_name = input("Enter first name: ") | ||
last_name = input("Enter last name: ") | ||
|
||
print() | ||
print("The next two parameters are optional. Hit enter if you wish to skip them") | ||
print() | ||
middle_name = input("Enter middle name: ") | ||
birth_date = input("Enter birth date: ") | ||
|
||
print() | ||
print("Searching... and parsing results...") | ||
crawler.search(first_name, last_name, middle_name, birth_date) | ||
print("Search complete. Performing expungement") | ||
print() | ||
|
||
expunger = Expunger(crawler.result.cases) | ||
expunged = expunger.run() | ||
|
||
print() | ||
if not expunged: | ||
print("Could not expunge cases. Errors:", expunger.errors, "However type eligibility was done.") | ||
print() | ||
|
||
timestamp = datetime.today().strftime("%Y%m%d%H%M%S") | ||
|
||
filename = last_name + '_' + first_name | ||
if middle_name: | ||
filename += '_' + middle_name | ||
if birth_date: | ||
filename += '_' + birth_date | ||
filename += '_' + timestamp + '.txt' | ||
|
||
if not os.path.exists('results'): | ||
os.makedirs('results') | ||
|
||
print("Creating file:", filename) | ||
|
||
dirfilename = 'results/' + filename | ||
|
||
file = open(dirfilename, mode='x') | ||
|
||
print("Writing results to file...") | ||
|
||
total_balance_due = 0 | ||
for case in expunger.cases: | ||
total_balance_due += case.balance_due_in_cents | ||
|
||
file.write("-----------------------------------------------------------------------------------------\n") | ||
file.write("-----------------------------------------------------------------------------------------\n") | ||
file.write("Results for: " + last_name + ", " + first_name + "\n") | ||
file.write("\n\n") | ||
|
||
file.write("Number of cases : " + str(len(expunger.cases))) | ||
file.write("\n") | ||
file.write("Number of charges: " + str(len(expunger._charges))) | ||
file.write("\n") | ||
file.write("Total balance due: $" + str(total_balance_due/100)) | ||
file.write("\n\n") | ||
|
||
charge_count = 0 | ||
|
||
for case in expunger.cases: | ||
file.write("_________________________________________________________________________________________\n\n") | ||
file.write("Case number : " + case.case_number + "\n") | ||
file.write("Case status : " + case.current_status + "\n") | ||
file.write("Case balance: $" + str(case.get_balance_due()) + "\n\n") | ||
charge_count = len(case.charges) | ||
|
||
for charge in case.charges: | ||
file.write(" Charge : " + charge.name + "\n") | ||
file.write(" Statute : " + charge.statute + "\n") | ||
file.write(" Level : " + charge.level + "\n") | ||
file.write(" Date : " + str(charge.date) + "\n\n") | ||
file.write(" Disposition: '" + charge.disposition.ruling + "' : " + str(charge.disposition.date) + "\n\n") | ||
file.write(" Eligibility: \n\n") | ||
file.write(" Type eligible? : " + str(charge.expungement_result.type_eligibility) + "\n") | ||
file.write(" Reason : " + charge.expungement_result.type_eligibility_reason + "\n\n") | ||
file.write(" Time eligible? : " + str(charge.expungement_result.time_eligibility) + "\n") | ||
file.write(" Reason : " + charge.expungement_result.time_eligibility_reason + "\n\n") | ||
file.write(" Eligibility date: " + str(charge.expungement_result.date_of_eligibility) + "\n\n") | ||
|
||
charge_count -= 1 | ||
if charge_count > 0: | ||
file.write(" - - - - - - - - - - - - - - - - - - \n\n") | ||
|
||
print("Expungement complete.") | ||
print("Closing file") | ||
file.close() |