Mám nějaký kód, který se připojuje přímo do aplikace outlook a extrahuje metadata z e-mailové schránky, pak je v souladu do pandy. Nicméně, jsem se zdají být stále chybu, které jsem se doposud nesetkali, a mám podezření, že to má co do činění s špatné údaje v aplikaci outlook extrakce (tj. prázdné údaje na e-mail). Ale nemůžu izolovat. Viděl někdo tohle?
ERROR:app:Exception on /ctplive [GET]
Traceback (most recent call last):
File "c:\programdata\anaconda\lib\site-packages\flask\app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "c:\programdata\anaconda\lib\site-packages\flask\app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "c:\programdata\anaconda\lib\site-packages\flask_cors\extension.py", line 165, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "c:\programdata\anaconda\lib\site-packages\flask\app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "c:\programdata\anaconda\lib\site-packages\flask\_compat.py", line 39, in reraise
raise value
File "c:\programdata\anaconda\lib\site-packages\flask\app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "c:\programdata\anaconda\lib\site-packages\flask\app.py", line 1936, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "C:\Users\ADM\Code Projects\web_data_connector\outlook_api\app.py", line 100, in mailbox_insights
inbox['Conversation Length'] = determine_conversation_length(inbox['ConversationIndex'], archive['ConversationIndex']).astype(int).values
File "c:\users\adm\code projects\ccf_email_automation\ccf_email_automation\insights.py", line 92, in determine_conversation_length
res[index] = len([x[:len(index)] for x in list(inbox_index) + list(archive_index) if x[:len(index)] == index])
File "c:\users\adm\code projects\ccf_email_automation\ccf_email_automation\insights.py", line 92, in <listcomp>
res[index] = len([x[:len(index)] for x in list(inbox_index) + list(archive_index) if x[:len(index)] == index])
TypeError: 'NoneType' object is not subscriptable
Tady je blok z app.py
if mailbox not in ['ctp', 'csu', 'dmt']:
return 404
archive, inbox = get_emails(mailbox, get_outlook())
inbox['Sender'] = inbox[['SenderName', 'SenderEmailAddress']].apply(lambda x: read_email_address(*x), axis=1)
inbox['Sender Domain'] = inbox['SenderEmailAddress'].apply(lambda x: x[x.index('@') + 1:] if '@' in x else 'gilead.com')
inbox['TABL_Highest Volume Senders'] = top_senders(inbox)
inbox['TABL_Highest Volume Sender Domains'] = top_sender_domains(inbox)
*************line 100 starts here**************
inbox['Conversation Length'] = determine_conversation_length(inbox['ConversationIndex'], archive['ConversationIndex']).astype(int).values
inbox['TABL_Longest Conversations'] = longest_conversations(inbox['Conversation Length'])
holiday_list = get_holidays()
inbox['Business Day SLA'] = inbox[['Received Date', 'Flag Completed Date']].apply(lambda x: calculate_sla(*x, holiday_list=holiday_list), axis=1)
inbox['Team Member'] = hardcode_team_member(inbox, mailbox)
inbox['Sentiment Score'] = determine_sentiment(inbox['Body'])
inbox['Flag Status'] = inbox[['Flag Completed Date', 'FlagRequest']].apply(lambda x: flag_status(*x), axis=1)
inbox['Complexity'] = inbox['Categories'].str.extract(r'Complexity Level (\d)').astype(float)
inbox['Protocol'] = inbox.pipe(identify_first_protocol)
inbox['Speed to Market'] = inbox['Categories'].str.contains('Speed to Market')
return inbox.rename(columns=lambda x: x.replace(' ', '_')).drop(columns=['ConversationIndex']).to_json(), 200
Tady je blok z insights.py:
res = pd.Series(index=inbox_index, dtype='object')
for index in tqdm(inbox_index):
*******Line 92 starts here********
res[index] = len([x[:len(index)] for x in list(inbox_index) + list(archive_index) if x[:len(index)] == index])
return res