def handle(self, *args, **options): # make sure file option is present if options['extract_event_number'] is None: extract_event_number = 100 else: extract_event_number = int(options['extract_event_number']) evt_list = TrackingLog.objects \ .filter(tincan_error='WRONG_VERB_OBJECT') \ .order_by('dtcreated')[:extract_event_number] for evt in evt_list: statement_json = json.loads(evt.statement) statement = { 'actor': Agent.from_json(json.dumps(statement_json['actor'])), 'verb': Verb.from_json(json.dumps(statement_json['verb'])), 'object': Activity.from_json(json.dumps(statement_json['object'])), 'timestamp': statement_json['timestamp'], 'context': Context.from_json(json.dumps(statement_json['context'])), } evt.statement = json.dumps(statement) evt.tincan_error = "CONVERTED" evt.save()
def test_FromJSONExceptionEmptyObject(self): activity = Activity.from_json('{}') self.assertIsInstance(activity, Activity) self.assertIsNone(activity.id, None)
def test_FromJSONExcpetionEmptyId(self): with self.assertRaises(ValueError): activity = Activity.from_json('{"id": ""}')
def test_FromJSON(self): activity = Activity.from_json( '{"id": "test", "definition": {}, "object_type": "Activity"}') self.activityVerificationHelper(activity)
def test_ToJSONFromJSON(self): json_str = '{"id": "test", "definition": {}, "object_type": "Activity"}' check_str = '{"definition": {}, "id": "test", "objectType": "Activity"}' activity = Activity.from_json(json_str) self.activityVerificationHelper(activity) self.assertEqual(activity.to_json(), check_str)
def test_FromJSON(self): activity = Activity.from_json('{"id": "test", "definition": {}, "object_type": "Activity"}') self.activityVerificationHelper(activity)