@@ -636,23 +636,19 @@ async def aparse(
636636 partner_id = unquote_as2name (as2_headers ["as2-from" ])
637637
638638 if find_org_partner_cb :
639- if inspect .iscoroutinefunction (find_org_partner_cb ):
640- self .receiver , self .sender = await find_org_partner_cb (
641- org_id , partner_id
642- )
643- else :
644- self .receiver , self .sender = find_org_partner_cb (org_id , partner_id )
639+ result = find_org_partner_cb (org_id , partner_id )
640+ if inspect .isawaitable (result ):
641+ result = await result
642+ self .receiver , self .sender = result
645643
646644 elif find_org_cb and find_partner_cb :
647- if inspect .iscoroutinefunction (find_org_cb ):
648- self .receiver = await find_org_cb (org_id )
649- else :
650- self .receiver = find_org_cb (org_id )
645+ self .receiver = find_org_cb (org_id )
646+ if inspect .isawaitable (self .receiver ):
647+ self .receiver = await self .receiver
651648
652- if inspect .iscoroutinefunction (find_partner_cb ):
653- self .sender = await find_partner_cb (partner_id )
654- else :
655- self .sender = find_partner_cb (partner_id )
649+ self .sender = find_partner_cb (partner_id )
650+ if inspect .isawaitable (self .sender ):
651+ self .sender = await self .sender
656652
657653 if not self .receiver :
658654 raise PartnerNotFound (f"Unknown AS2 organization with id { org_id } " )
@@ -661,10 +657,10 @@ async def aparse(
661657 raise PartnerNotFound (f"Unknown AS2 partner with id { partner_id } " )
662658
663659 if find_message_cb :
664- if inspect . iscoroutinefunction ( find_message_cb ):
665- message_exists = await find_message_cb ( self . message_id , partner_id )
666- else :
667- message_exists = find_message_cb ( self . message_id , partner_id )
660+ message_exists = find_message_cb ( self . message_id , partner_id )
661+ if inspect . isawaitable ( message_exists ):
662+ message_exists = await message_exists
663+
668664 if message_exists :
669665 raise DuplicateDocument (
670666 "Duplicate message received, message with this ID already processed."
@@ -1003,18 +999,9 @@ async def aparse(self, raw_content, find_message_cb):
1003999 self .payload = parse_mime (raw_content )
10041000 self .orig_message_id , orig_recipient = self .detect_mdn ()
10051001
1006- # Call the find message callback which should return a Message instance
1007- if inspect .iscoroutinefunction (find_message_cb ):
1008- orig_message = await find_message_cb (
1009- self .orig_message_id , orig_recipient
1010- )
1011- else :
1012- orig_message = find_message_cb (self .orig_message_id , orig_recipient )
1013-
1014- if not orig_message :
1015- status = "failed/Failure"
1016- details_status = "original-message-not-found"
1017- return status , details_status
1002+ orig_message = find_message_cb (self .orig_message_id , orig_recipient )
1003+ if inspect .isawaitable (orig_message ):
1004+ orig_message = await orig_message
10181005
10191006 if not orig_message :
10201007 status = "failed/Failure"
0 commit comments