示例#1
0
    def put(self, object_id):
        response_object = {
            'status': 'fail',
            'message': 'Internal server error.'
        }
        try:

            post_data = request.get_json()
            # log.info(post_data)
            if not post_data:
                response_object = {
                    'status': 'fail',
                    'message': 'Invalid payload.'
                }
            else:
                id = object_id
                fields = getFields(generic_model, post_data)
                r = query_ot()
                result = r.modifyObjet(id, fields)
                if result:
                    response_object = {
                        'status': 'success',
                        'message': 'object was modified!',
                        'object': result
                    }
                    return response_object, 201

            response_object = {
                'status': 'fail',
                'message': 'Internal server error.'
            }
        except:
            return response_object, 500
示例#2
0
    def put(self):
        response_object = {
            'status': 'fail',
            'message': 'Internal server error.'
        }
        try:
            post_data = request.get_json()

            # log.info(post_data)

            if not post_data:
                response_object = {
                    'status': 'fail',
                    'message': 'Invalid payload.'
                }
            else:

                fields = getFields(ticket_model, post_data)

                r = query_ot()
                result = r.add(ticket_model, fields)
                if result:
                    response_object = {
                        'status': 'success',
                        'message': 'ticket was added!',
                        'ticket': result
                    }
                    return response_object, 201

        except:
            return response_object, 500
示例#3
0
    def get(self, ticket_id):
        """Get single ticket details"""
        response_object = {'status': 'fail', 'message': 'Event does not exist'}
        try:
            t = query_ot()
            t.get(ticket_id)
            result = serialize(t.xml_result.decode("utf-8")).results[0]
            ticket = result.res
            # event = test()
            if not ticket:
                return response_object, 404

            wrong_type = False
            unexpected_fields = []
            for f in ticket.keys():
                if f not in ticket_model.fields:
                    unexpected_fields.append(f)
                    wrong_type = True
            if wrong_type == True:
                response_object = {
                    'status': 'fail',
                    'message': 'wrong object returned'
                }
                return response_object, 400
            else:
                response_object = {'status': 'success', 'data': ticket}
                return response_object, 200
        except:
            return response_object, 404
示例#4
0
    def get(self, event_ucid):
        """Get single event details"""
        response_object = {'status': 'fail', 'message': 'Event does not exist'}
        try:
            e = query_ot()
            e.GetEventByUCID(event_ucid)
            result = serialize(e.xml_result.decode("utf-8"))
            event = result.results[0].res
            id = result.results[0].id
            # event = test()
            if not event:
                return response_object, 404

            wrong_type = False
            unexpected_fields = []
            for f in event.keys():
                if f not in event_model.fields:
                    unexpected_fields.append(f)
                    wrong_type = True
            if wrong_type == True:
                response_object = {
                    'status': 'fail',
                    #'message': 'unexpected fields : %s' % (unexpected_fields)
                    'message': 'wrong object returned'
                }
                return response_object, 400
            else:
                response_object = {
                    'status': 'success',
                    'id': id,
                    'data': event
                }
                return response_object, 200
        except:
            return response_object, 404
示例#5
0
    def put(self):
        post_data = request.get_json()

        try:
            fields = getFields(event_model, post_data)
        except:
            response_object = {
                'status': 'fail',
                'message': 'Invalid payload parsing fields.'
            }
            return response_object, 400

        try:
            r = query_ot()

            event = r.add(event_model, fields)
            if event:
                response_object = {
                    'status': 'success',
                    'message': 'event was added!',
                    'event': event
                }

                return response_object, 201
            else:
                logging.error(post_data)
                response_object = {
                    'status': 'fail',
                    'message': 'Sorry. failed.'
                }
                return response_object, 400
        except:
            log.error("faild to createevent with data %s" % post_data)
            response_object = {'status': 'fail', 'message': 'Invalid payload.'}
            return response_object, 400
示例#6
0
    def get(self, object_id):
        """Get single event details"""
        response_object = {'status': 'fail', 'message': 'Event does not exist'}
        try:
            e = query_ot()
            e.get(object_id)

            result = serialize(e.xml_result.decode("utf-8"))
            # log.info(result)
            ot_object = result.results[0].metadata
            if not ot_object:
                return response_object, 404
            else:
                response_object = {
                    'status': 'success',
                    'id': e.id,
                    'data': ot_object
                }
                return response_object, 200
        except:
            return response_object, 404
示例#7
0
    def post(self, objectid):
        response_object = {'status': 'fail', 'message': 'Sorry. failed.'}
        try:
            post_data = request.get_json()
            log.error("pulling object %s with field %s" %
                      (objectid, post_data.get('requiredfields')))
            # log.info(request.get_json())
            if True:
                r = query_ot()

                r.getWithFields(objectid, post_data.get('requiredfields'))

                logging.error(r.xml_result)

                items = serialize(r.xml_result.decode("utf-8"))

                if items.results == []:
                    return response_object, 404
                log.error("pulling object %s with field %s" %
                          (objectid, post_data.get('requiredfields')))

                id = items.results[0].id
                data = items.results[0].res

                if data:
                    response_object = {
                        'status': 'success',
                        'message': 'object :',
                        'id': id,
                        'data': data
                    }
                    return response_object, 201
                else:
                    response_object = {
                        'status': 'fail',
                        'message': 'Sorry. failed.'
                    }
                    return response_object, 400
        except:
            return response_object, 500
示例#8
0
    def post(self):

        post_data = request.get_json()
        # log.info(request.get_json())
        try:
            r = query_ot()
            # log.info(post_data)

            r.getObjectList(post_data.get('objectclass'),
                            post_data.get('filter'),
                            post_data.get('variables'),
                            post_data.get('requiredfields'))

            items = serialize(r.xml_result.decode("utf-8")).results
            results = []
            for result in items:
                d = {}
                d.update({'id': result.id})
                d.update({'data': result.res})
                results.append(d)

            if results:
                response_object = {
                    'status': 'success',
                    'message': 'object list :',
                    '%s' % post_data.get('objectclass'): results
                }
                return response_object, 201
            else:
                response_object = {
                    'status': 'fail',
                    'message': 'Sorry. failed.'
                }
                return response_object, 400
        except:
            response_object = {'status': 'fail', 'message': 'Invalid payload.'}
            return response_object, 400