@@ -28,8 +28,10 @@ def __init__(self, auth, getNow=True, verify=True):
28
28
log .debug ('creating inbox for the email %s' ,auth [0 ])
29
29
self .auth = auth
30
30
self .messages = []
31
+ self .errors = ''
31
32
32
33
self .filters = ''
34
+ self .order_by = ''
33
35
self .verify = verify
34
36
35
37
if getNow :
@@ -53,7 +55,14 @@ def getMessages(self, number = 10):
53
55
'''
54
56
55
57
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
+
57
66
log .info ('Response from O365: %s' , str (response ))
58
67
59
68
#check that there are messages
@@ -82,6 +91,19 @@ def getMessages(self, number = 10):
82
91
log .debug ('all messages retrieved and put in to the list.' )
83
92
return True
84
93
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
+
85
107
def getFilter (self ):
86
108
'''get the value set for a specific filter, if exists, else None'''
87
109
return self .filters
0 commit comments