Skip to content

Commit

Permalink
update windows colors
Browse files Browse the repository at this point in the history
- Uses colorama to print colors to terminal
- Prints number of events processed
  • Loading branch information
neurofractal committed Oct 18, 2022
1 parent 282c6ae commit b5dfd2a
Showing 1 changed file with 17 additions and 7 deletions.
24 changes: 17 additions & 7 deletions process_AIscores_filbury.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@
import sys
import pandas as pd
import warnings
from colorama import init
from termcolor import colored

# use Colorama to make Termcolor work on Windows too
init()

def custom_formatwarning(msg, *args, **kwargs):
# ignore everything except the message
Expand Down Expand Up @@ -54,13 +59,15 @@ def extract_AI_scores(docxFileName):
event_number = []

event_number_within_loop = []
num_events = 0

for para in document.paragraphs:
# Check if this paragraph contains Event X, if so update event_number_within_loop
find_event_number = (re.findall(r'\bEvent \d+',para.text))
if find_event_number:
event_number_within_loop = [int(s) for s in find_event_number[0].split() if s.isdigit()][0]
print("Processing Event {}".format(event_number_within_loop))
num_events = num_events+1

# Check if paragraph contains a comment
comm = []
Expand All @@ -76,7 +83,7 @@ def extract_AI_scores(docxFileName):

# Warn the user if there is an unusually short string
if len(para.text) < 2:
warnings.warn("\x1b[1;37;41mTEXT TOO SHORT. Event: {} Detail: '{}'\x1b[0m".format(event_number_within_loop,para.text))
warnings.warn(colored(" TEXT TOO SHORT. Event: {} Detail: '{}'\x1b[0m".format(event_number_within_loop,para.text),'red'))

# Get comment from this paragraph
r = paragraph_comments(para,comments_dict)
Expand All @@ -90,7 +97,7 @@ def extract_AI_scores(docxFileName):
if patt:
# Warn if length is not 4
if len(patt[0]) != 4:
warnings.warn("\x1b[1;37;41mWEIRD LENGTH. Event: {} Detail: '{}'\x1b[0m".format(event_number_within_loop,para.text))
warnings.warn(colored(" WEIRD LENGTH. Event: {} Detail: '{}'\x1b[0m".format(event_number_within_loop,para.text),'red'))

# Category: I = internal ; E = external
if patt[0][0].upper() == 'I':
Expand Down Expand Up @@ -121,7 +128,7 @@ def extract_AI_scores(docxFileName):
elif patt[0][1:3].upper() == 'OT':
text2 = 'other'
else:
warnings.warn("\x1b[1;37;41mWEIRD SUB-CATEGORY PATTERN FOUND. Event: {} Detail: '{}'\x1b[0m".format(event_number_within_loop,para.text))
warnings.warn(colored(" WEIRD SUB-CATEGORY PATTERN FOUND. Event: {} Detail: '{}'\x1b[0m".format(event_number_within_loop,para.text),'red'))
text2 = ''

sub_category.append(text2)
Expand All @@ -146,26 +153,29 @@ def extract_AI_scores(docxFileName):
accuracy.append('NaN')
event_number.append(event_number_within_loop)

warnings.warn("\x1b[1;37;41mPATTERN NOT FOUND. Event: {} Detail: '{}'\x1b[0m".format(event_number_within_loop,para.text))
warnings.warn(colored(" PATTERN NOT FOUND. Event: {} Detail: '{}'".format(event_number_within_loop,para.text),'red'))


# Create data frame
df = pd.DataFrame(list(zip(event_number,category,sub_category,accuracy,feature_text)),
columns =['event_number','category','sub_category','accuracy','text'])

return df
return df,num_events


# Get input and output document
inDoc = sys.argv[1]
print("")
print("Processing File: {}".format(inDoc))
print(colored("Processing File: {}".format(inDoc),'blue'))
print("")
filename, file_extension = os.path.splitext(sys.argv[1])
outFolder = "{}.csv".format(filename)

df = extract_AI_scores(inDoc)
df,num_events = extract_AI_scores(inDoc)

print("")
print(colored(" Total Number of Events: {}".format(num_events),'blue'))
print("")

# Print the head
df.to_csv(outFolder)
Expand Down

0 comments on commit b5dfd2a

Please sign in to comment.