@@ -28,8 +28,10 @@ def __init__(self, auth, getNow=True, verify=True):
2828 log .debug ('creating inbox for the email %s' ,auth [0 ])
2929 self .auth = auth
3030 self .messages = []
31+ self .errors = ''
3132
3233 self .filters = ''
34+ self .order_by = ''
3335 self .verify = verify
3436
3537 if getNow :
@@ -53,7 +55,14 @@ def getMessages(self, number = 10):
5355 '''
5456
5557 log .debug ('fetching messages.' )
56- response = requests .get (self .inbox_url ,auth = self .auth ,params = {'$filter' :self .filters , '$top' :number },verify = self .verify )
58+ response = requests .get (self .inbox_url ,auth = self .auth ,params = {'$orderby' :self .order_by , '$filter' :self .filters , '$top' :number },verify = self .verify )
59+ if response .status_code in [400 , 500 ]:
60+ self .errors = response .text
61+ return False
62+ elif response .status_code in [401 ]:
63+ self .errors = response .reason
64+ return False
65+
5766 log .info ('Response from O365: %s' , str (response ))
5867
5968 #check that there are messages
@@ -82,6 +91,19 @@ def getMessages(self, number = 10):
8291 log .debug ('all messages retrieved and put in to the list.' )
8392 return True
8493
94+ def getErrors (self ):
95+ return self .errors
96+
97+ def getOrderBy (self ):
98+ return self .order_by
99+
100+ def setOrderBy (self , f_string ):
101+ '''
102+ For example 'DateTimeReceived desc'
103+ '''
104+ self .order_by = f_string
105+ return True
106+
85107 def getFilter (self ):
86108 '''get the value set for a specific filter, if exists, else None'''
87109 return self .filters
0 commit comments