1717# along with this program; if not, write to the Free Software
1818# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
1919
20+ import traceback
2021import urllib .request
2122import urllib .parse
2223import urllib .error
23- import socket
2424import sys
25- import re
26- import copy
2725# API V2
2826import pprint
2927import json
@@ -103,12 +101,11 @@ def init_config(self):
103101
104102
105103 def init_HTTP (self ):
104+ GenericServer .init_HTTP (self )
106105 if self .session is None :
107- GenericServer .init_HTTP (self )
108106 self .session .headers .update ({'Content-Type' : 'application/json' })
109107 self .token = self .get_token ().result
110108
111-
112109 def define_url (self ):
113110 urls_centreon_api_v2 = {
114111 'resources' : self .monitor_cgi_url + '/api/' + self .restapi_version + '/monitoring/resources' ,
@@ -175,7 +172,6 @@ def get_token(self):
175172 return Result (result = token )
176173
177174 except :
178- import traceback
179175 traceback .print_exc (file = sys .stdout )
180176 result , error = self .Error (sys .exc_info ())
181177 return Result (result = result , error = error )
@@ -207,7 +203,6 @@ def GetHost(self, host):
207203 return Result (result = fqdn )
208204
209205 except :
210- import traceback
211206 traceback .print_exc (file = sys .stdout )
212207 # set checking flag back to False
213208 self .isChecking = False
@@ -241,13 +236,6 @@ def get_host_and_service_id(self, host, service=''):
241236 return host_id
242237
243238 except :
244- import traceback
245-
246-
247-
248-
249-
250-
251239 traceback .print_exc (file = sys .stdout )
252240 # set checking flag back to False
253241 self .isChecking = False
@@ -284,7 +272,6 @@ def get_host_and_service_id(self, host, service=''):
284272 return host_id ,service_id
285273
286274 except :
287- import traceback
288275 traceback .print_exc (file = sys .stdout )
289276 # set checking flag back to False
290277 self .isChecking = False
@@ -365,7 +352,6 @@ def _get_status(self):
365352 self .Debug (server = '[' + self .get_name () + ']' , debug = 'Host indexed : ' + new_host )
366353
367354 except :
368- import traceback
369355 traceback .print_exc (file = sys .stdout )
370356 # set checking flag back to False
371357 self .isChecking = False
@@ -427,7 +413,6 @@ def _get_status(self):
427413 self .new_hosts [new_host ].services [new_service ].criticality = alerts ["severity_level" ]
428414
429415 except :
430- import traceback
431416 traceback .print_exc (file = sys .stdout )
432417 # set checking flag back to False
433418 self .isChecking = False
@@ -524,7 +509,6 @@ def _set_acknowledge(self, host, service, author, comment, sticky, notify, persi
524509 debug = "Set Acks, status code : " + str (status_code ))
525510
526511 except :
527- import traceback
528512 traceback .print_exc (file = sys .stdout )
529513 # set checking flag back to False
530514 self .isChecking = False
@@ -598,7 +582,6 @@ def _set_recheck(self, host, service):
598582 debug = "Reckeck on Host (" + host + ") / Service (" + service + "), status code : " + str (status_code ))
599583
600584 except :
601- import traceback
602585 traceback .print_exc (file = sys .stdout )
603586 # set checking flag back to False
604587 self .isChecking = False
@@ -699,7 +682,6 @@ def _set_downtime(self, host, service, author, comment, fixed, start_time, end_t
699682
700683
701684 except :
702- import traceback
703685 traceback .print_exc (file = sys .stdout )
704686 # set checking flag back to False
705687 self .isChecking = False
@@ -715,7 +697,7 @@ def check_session(self):
715697 # self.init_config()
716698 try :
717699 if conf .debug_mode == True :
718- self .Debug (server = '[' + self .get_name () + ']' , debug = 'Check-session, the token will be deleted if it has not been used for more than one hour. Current Token = ' + self .token )
700+ self .Debug (server = '[' + self .get_name () + ']' , debug = 'Check-session, the token will be deleted if it has not been used for more than one hour. Current Token = ' + str ( self .token ) )
719701
720702 cgi_data = {'limit' :'0' }
721703 self .session = requests .Session ()
@@ -725,7 +707,8 @@ def check_session(self):
725707 # Get en empty service list, to check the status of the current token
726708 # This request must be done in a GET, so just encode the parameters and fetch
727709 result = self .FetchURL (self .urls_centreon ['resources' ] + '?' + urllib .parse .urlencode (cgi_data ), giveback = "raw" )
728-
710+ if result .status_code == 403 :
711+ self .get_token ()
729712 data = json .loads (result .result )
730713 error = result .error
731714 status_code = result .status_code
@@ -743,7 +726,6 @@ def check_session(self):
743726 self .Debug (server = '[' + self .get_name () + ']' , debug = 'Check-session, session renewed' )
744727
745728 except :
746- import traceback
747729 traceback .print_exc (file = sys .stdout )
748730 result , error = self .Error (sys .exc_info ())
749731 return Result (result = result , error = error )
0 commit comments