def post(self):
     # New Record
     try:
         parser = reqparse.RequestParser()
         parser.add_argument('record', type=dict)
         parser.add_argument('conf_identifier', type=str)
         args = parser.parse_args()
         identifier = uuid1().hex
         r = HierarchicalRecord()
         if args['record']:
             r.data = args['record']
         if args['conf_identifier']:
             validator = retrieve_validator(args['conf_identifier'])
             validity = validator.validate(r)
             if not validity[0]:
                 return jsonify(
                     APIResponse("fail", errors=validity[1]).dictify()
                 )
         write_record(r, identifier)
         resp = APIResponse("success",
                            data={"record_identifier": identifier,
                                  "record": r.data})
         return jsonify(resp.dictify())
     except Exception as e:
         return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())
Ejemplo n.º 2
0
 def post(self):
     # New Record
     try:
         parser = reqparse.RequestParser()
         parser.add_argument('record', type=dict)
         parser.add_argument('conf_identifier', type=str)
         args = parser.parse_args()
         identifier = uuid1().hex
         r = HierarchicalRecord()
         if args['record']:
             r.data = args['record']
         if args['conf_identifier']:
             validator = retrieve_validator(args['conf_identifier'])
             validity = validator.validate(r)
             if not validity[0]:
                 return jsonify(
                     APIResponse("fail", errors=validity[1]).dictify())
         write_record(r, identifier)
         resp = APIResponse("success",
                            data={
                                "record_identifier": identifier,
                                "record": r.data
                            })
         return jsonify(resp.dictify())
     except Exception as e:
         return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())
 def get(self, identifier):
     # Get the whole record
     try:
         r = retrieve_record(identifier)
         resp = APIResponse("success",
                            data={"record": r.data,
                                  "record_identifier": identifier})
         return jsonify(resp.dictify())
     except Exception as e:
         return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())
 def get(self):
     # List all records
     try:
         r = APIResponse(
             "success",
             data={"record_identifiers": [x for x in
                                          get_existing_record_identifiers()]}
         )
         return jsonify(r.dictify())
     except Exception as e:
         return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())
Ejemplo n.º 5
0
 def get(self):
     # list all categories
     try:
         r = APIResponse("success",
                         data={
                             "category_identifiers":
                             [x for x in get_existing_categories()]
                         })
         return jsonify(r.dictify())
     except Exception as e:
         return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())
Ejemplo n.º 6
0
 def get(self):
     # List all records
     try:
         r = APIResponse("success",
                         data={
                             "record_identifiers":
                             [x for x in get_existing_record_identifiers()]
                         })
         return jsonify(r.dictify())
     except Exception as e:
         return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())
 def get(self):
     # list all categories
     try:
         r = APIResponse(
             "success",
             data={"category_identifiers": [x for x in
                                            get_existing_categories()]}
         )
         return jsonify(r.dictify())
     except Exception as e:
         return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())
 def delete(self, identifier):
     # delete a record
     try:
         delete_record(identifier)
         r = APIResponse(
             "success",
             data={"records": [x for x in get_existing_record_identifiers()],
                   "deleted_identifier": identifier}
         )
         return jsonify(r.dictify())
     except Exception as e:
         return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())
Ejemplo n.º 9
0
 def get(self, premisid):
     try:
         answer = expand_agents_list(identifier=premisid)
         print(answer)
         tally = 1
         if len(list(answer.keys())) == 1:
             resp = APIResponse("success", data={"agent events": self._populate_output(answer)})
         else:
             resp = APIResponse("fail", data={"agent events": "no results"})
         return jsonify(resp.dictify())
     except Exception as error:
         return jsonify(_EXCEPTION_HANDLER.handle(error).dictify())
Ejemplo n.º 10
0
 def delete(self, cat_identifier):
     # delete this category
     try:
         delete_category(cat_identifier)
         r = APIResponse("success",
                         data={
                             "category_identifiers":
                             [x for x in get_existing_categories()]
                         })
         return jsonify(r.dictify())
     except Exception as e:
         return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())
 def delete(self, cat_identifier):
     # delete this category
     try:
         delete_category(cat_identifier)
         r = APIResponse(
             "success",
             data={"category_identifiers": [x for x in
                                            get_existing_categories()]}
         )
         return jsonify(r.dictify())
     except Exception as e:
         return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())
Ejemplo n.º 12
0
 def get(self, identifier):
     # Get the whole record
     try:
         r = retrieve_record(identifier)
         resp = APIResponse("success",
                            data={
                                "record": r.data,
                                "record_identifier": identifier
                            })
         return jsonify(resp.dictify())
     except Exception as e:
         return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())
 def delete(self, identifier):
     # Delete this conf
     try:
         delete_conf(identifier)
         r = APIResponse(
             "success",
             data={"conf_identifiers": [x for x in
                                        get_existing_conf_identifiers()],
                   "deleted_conf_identifier": identifier}
         )
         return jsonify(r.dictify())
     except Exception as e:
         return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())
Ejemplo n.º 14
0
 def delete(self, identifier):
     # Delete this conf
     try:
         delete_conf(identifier)
         r = APIResponse("success",
                         data={
                             "conf_identifiers":
                             [x for x in get_existing_conf_identifiers()],
                             "deleted_conf_identifier":
                             identifier
                         })
         return jsonify(r.dictify())
     except Exception as e:
         return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())
Ejemplo n.º 15
0
 def post(self):
     # New Conf
     try:
         new_conf_identifier = uuid1().hex
         c = RecordConf()
         write_conf(c, new_conf_identifier)
         r = APIResponse("success",
                         data={
                             "conf_identifier": new_conf_identifier,
                             "conf": c.data
                         })
         return jsonify(r.dictify())
     except Exception as e:
         return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())
Ejemplo n.º 16
0
 def delete(self, identifier):
     # delete a record
     try:
         delete_record(identifier)
         r = APIResponse("success",
                         data={
                             "records":
                             [x for x in get_existing_record_identifiers()],
                             "deleted_identifier":
                             identifier
                         })
         return jsonify(r.dictify())
     except Exception as e:
         return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())
 def post(self):
     # New Conf
     try:
         new_conf_identifier = uuid1().hex
         c = RecordConf()
         write_conf(c, new_conf_identifier)
         r = APIResponse(
             "success",
             data={"conf_identifier": new_conf_identifier,
                   "conf": c.data}
         )
         return jsonify(r.dictify())
     except Exception as e:
         return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())
Ejemplo n.º 18
0
 def post(self, premisid):
     from flask import current_app
     try:
         data = request.get_json(force=True)
         dto = namedtuple("adto", "edit_fields identifier root " + \
                          ' '.join(data.get("fields")))(data.get("fields"), premisid,
                          current_app.config["AGENTS_PATH"], *[data.get(x) for x in data.get("fields")])
         was_it_made = create_or_edit_an_agent_record(dto)
         if was_it_made[0]:
             resp = APIResponse("success", data={'agents':{'result':'new', 'identifier': was_it_made[1]}})
         else:
             resp = APIResponse("fail", errors=["could not create a new agent record"])
         return jsonify(resp.dictify())
     except Exception as error:
         return jsonify(_EXCEPTION_HANDLER.handle(error).dictify())
Ejemplo n.º 19
0
 def get(self, arkid, premisid):
     """
     Get the whole record
     """
     from flask import current_app
     try:
         data = get_data_half_of_object(
             arkid, premisid, current_app.config["LIVEPREMIS_PATH"])
         related_objects = data[1].related_objects
         output = {}
         tally = 1
         for n_object in related_objects:
             output[str(tally)] = {"loc": join("/", arkid, n_object)}
         resp = APIResponse("success", data={"presforms": output})
         return jsonify(resp.dictify())
     except Exception as e:
         return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())
Ejemplo n.º 20
0
 def post(self, premisid):
     from flask import current_app
     try:
         data = request.get_json(force=True)
         dto = namedtuple("edto", "identifier root event")\
                         (premisid, current_app.config["AGENTS_PATH"], data.get("event"))
         was_it_added = add_event_to_a_premis_agent(dto)
         if was_it_added:
             resp  = APIResponse("success",
                                 data={"agent event": {"result":"added event",
                                                       "identifier": premisid,
                                                       "new_event":data.get("eventid")}})
         else:
             resp = APIResponse("fail", errors=["could not attach event {} to {}".format(data.get("linkedevent"), premisid)])
         return jsonify(resp.dictify())
     except Exception as error:
         return jsonify(_EXCEPTION_HANDLER.handle(error).dictify())
Ejemplo n.º 21
0
 def get(self, identifier, rule_id):
     # get a rule
     try:
         c = retrieve_conf(identifier)
         found_one = False
         for x in c.data:
             if x['id'] == rule_id:
                 rule = x
                 found_one = True
         if not found_one:
             raise ValueError("No rule with id {} in conf {}".format(
                 rule_id, identifier))
         r = APIResponse("success",
                         data={
                             "conf_identifier": identifier,
                             "rule": rule
                         })
         return jsonify(r.dictify())
     except Exception as e:
         return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())
 def get(self, identifier, rule_id):
     # get a rule
     try:
         c = retrieve_conf(identifier)
         found_one = False
         for x in c.data:
             if x['id'] == rule_id:
                 rule = x
                 found_one = True
         if not found_one:
             raise ValueError(
                 "No rule with id {} in conf {}".format(rule_id, identifier)
             )
         r = APIResponse(
             "success",
             data={"conf_identifier": identifier,
                   "rule": rule}
         )
         return jsonify(r.dictify())
     except Exception as e:
         return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())
Ejemplo n.º 23
0
    def post(self):
        try:
            parser = reqparse.RequestParser()
            parser.add_argument('record_identifier', type=str, required=True)
            parser.add_argument('conf_identifier', type=str, required=True)
            args = parser.parse_args(strict=True)

            v = retrieve_validator(args['conf_identifier'])
            r = retrieve_record(args['record_identifier'])
            validity = v.validate(r)
            resp = APIResponse("success",
                               data={
                                   "is_valid": validity[0],
                                   "validation_errors": validity[1],
                                   "record_identifier":
                                   args['record_identifier'],
                                   "conf_identifier": args['conf_identifier'],
                                   "record": r.data
                               })
            return jsonify(resp.dictify())
        except Exception as e:
            return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())
    def post(self):
        try:
            parser = reqparse.RequestParser()
            parser.add_argument('record_identifier', type=str, required=True)
            parser.add_argument('conf_identifier', type=str, required=True)
            args = parser.parse_args(strict=True)

            v = retrieve_validator(args['conf_identifier'])
            r = retrieve_record(args['record_identifier'])
            validity = v.validate(r)
            resp = APIResponse("success",
                               data={
                                   "is_valid": validity[0],
                                   "validation_errors": validity[1],
                                   "record_identifier": args['record_identifier'],
                                   "conf_identifier": args['conf_identifier'],
                                   "record": r.data
                                   }
                               )
            return jsonify(resp.dictify())
        except Exception as e:
            return jsonify(_EXCEPTION_HANDLER.handle(e).dictify())