Exemple #1
0
 def faults(self, fault_id=None):
     method = cherrypy.request.method
     params = cherrypy.request.params
     json = None if method == 'DELETE' else cherrypy.request.json
     print(f'fault_id={fault_id}')
     print(f'method={method}')
     print(f'params={params}')
     print(f'json={json}')
     if method == 'GET':
         if fault_id is None:
             ids = {'faults ids': Configuration.get_all_faults_ids()}
             return ids
         else:
             return self.faults[fault_id]
     if method == 'POST' or method == 'CREATE' or method == 'PUT':
         fault_id = str(uuid.uuid4())
         faultobj = Root.create_object_from_json_extract_classname(json)
         if faultobj:
             Configuration.set_fault(fault_id, faultobj)
         else:
             fault_id = "0"
         return {'fault_id': fault_id}
     if method == 'DELETE':
         removed_uuid = Configuration.remove_fault(fault_id)
         if removed_uuid:
             cherrypy.response.status = 200
         else:
             cherrypy.response.status = 404
         return {'fault_id': fault_id}
Exemple #2
0
    def faults(self,
               fault_id: Optional[FaultID] = None
               ):  # noqa: C901  # ignore "is too complex" message
        method = cherrypy.request.method

        sys.audit("charybdisfs.api", method, fault_id, cherrypy.request)

        if method == "GET":
            if fault_id is None:
                return {"faults_ids": Configuration.get_all_faults_ids()}
            if fault := Configuration.get_fault_by_uuid(fault_id=fault_id):
                return {"fault_id": fault_id, "fault": fault.to_dict()}
            raise cherrypy.NotFound()