https://github.com/shvixxl/event-validator
Small script for validating JSON files with schemas.
https://github.com/shvixxl/event-validator
json json-parser json-schema python validation validator
Last synced: about 2 months ago
JSON representation
Small script for validating JSON files with schemas.
- Host: GitHub
- URL: https://github.com/shvixxl/event-validator
- Owner: shvixxl
- Created: 2020-12-01T13:49:31.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2020-12-03T22:10:41.000Z (over 5 years ago)
- Last Synced: 2025-10-26T13:42:38.318Z (8 months ago)
- Topics: json, json-parser, json-schema, python, validation, validator
- Language: Python
- Homepage:
- Size: 7.81 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# event-validator
Small script for validating JSON files with schemas.
## Usage
Change paths inside the script:
```python
# Path to the folder with JSON schemas
PATH_SCHEMA = "/path/to/folder"
# Path to the folder with JSON files
PATH_JSON = "/path/to/folder"
# Path to save log file
PATH_LOG = "/path/to/file"
```
Run the script:
```bash
python event-validator.py
```
## Example
```log
2020-12-04 01:07:35.368135
Validating event "1eba2aa1-2acf-460d-91e6-55a8c3e3b7a3": Invalid
Validating "data" property: -
- Property "unique_id" is missing!
- Property "user" is missing!
- Property "user_id" is missing!
Validating "id" property: +
Validating "rr_id" property: +
Validating "labels" property: +
Validating its 1 item: +
Validating "slug" property: +
Validating "type" property: +
Validating "color" property: +
Validating "name_en" property: +
Validating "name_ru" property: +
Validating "category" property: +
Validating "type_stress" property: +
Validating "is_custom_tag" property: +
Validating "property_where" property: +
Validating "property_arousal" property: +
Validating "property_pleasure" property: +
Validating "property_vitality" property: +
Validating "property_stability" property: +
Validating "timestamp" property: +
Validating event "297e4dc6-07d1-420d-a5ae-e4aff3aedc19": Valid
Validating "data" property: +
Validating "source" property: +
Validating "timestamp" property: +
Validating "unique_id" property: +
Validating "time_start" property: +
Validating "finish_time" property: +
Validating "activity_type" property: +
Validating event "29f0bfa7-bd51-4d45-93be-f6ead1ae0b96": Invalid
- Root element is not "object".
| Its actual type is "null"
Validating event "2e8ffd3c-dbda-42df-9901-b7a30869511a": Invalid
- Unknown event type "meditation_created".
| Maybe you meant "cmarker_created"?
Validating event "3ade063d-d1b9-453f-85b4-dda7bfda4711": Invalid
- Unknown event type "cmarker_calculated".
| Maybe you meant "cmarker_created"?
Validating event "3b4088ef-7521-4114-ac56-57c68632d431": Valid
Validating "data" property: +
Validating "user_id" property: +
Validating "cmarkers" property: +
Validating "datetime" property: +
Validating event "6b1984e5-4092-4279-9dce-bdaa831c7932": Invalid
- Unknown event type "meditation_created".
| Maybe you meant "cmarker_created"?
Validating event "a95d845c-8d9e-4e07-8948-275167643a40": Invalid
- "event" property is missing.
- "data" property is missing.
Validating event "ba25151c-914f-4f47-909a-7a65a6339f34": Invalid
- Unknown event type "label_ selected".
| Maybe you meant "label_selected"?
Validating event "bb998113-bc02-4cd1-9410-d9ae94f53eb0": Invalid
Validating "data" property: -
- Property "unique_id" is missing!
Validating "source" property: +
Validating "timestamp" property: +
Validating "time_start" property: +
Validating "finish_time" property: +
Validating "activity_type" property: +
Validating event "c72d21cf-1152-4d8e-b649-e198149d5bbb": Invalid
- Unknown event type "meditation_created".
| Maybe you meant "cmarker_created"?
Validating event "cc07e442-7986-4714-8fc2-ac2256690a90": Invalid
Validating "data" property: -
- Type of this property is not "object"!
| Its actual type is "null".
Validating event "e2d760c3-7e10-4464-ab22-7fda6b5e2562": Invalid
Validating "data" property: -
Validating "user_id" property: -
- Type of this property is not "integer"!
| Its actual type is "string".
| And its value is "bad user id".
Validating "cmarkers" property: +
Validating its 1 item: +
Validating "id" property: +
Validating "date" property: +
Validating "slug" property: +
Validating its 2 item: +
Validating "id" property: +
Validating "date" property: +
Validating "slug" property: +
Validating "datetime" property: +
Validating event "f5656ff6-29e1-46b0-8d8a-ff77f9cc0953": Valid
Validating "data" property: +
Validating "source" property: +
Validating "timestamp" property: +
Validating "unique_id" property: +
Validating "time_start" property: +
Validating "finish_time" property: +
Validating "activity_type" property: +
Validating event "fb1a0854-9535-404d-9bdd-9ec0abb6cd6c": Invalid
Validating "data" property: -
- Property "cmarkers" is missing!
Validating "user_id" property: +
Validating "datetime" property: +
Validating event "ffe6b214-d543-40a8-8da3-deb0dc5bbd8c": Invalid
Validating "data" property: -
Validating "user_id" property: -
- Type of this property is not "integer"!
| Its actual type is "null".
Validating "cmarkers" property: -
- Type of this property is not "array"!
| Its actual type is "string".
| And its value is "suprt marker".
Validating "datetime" property: +
Total events: 16
Valid events (3):
+ "297e4dc6-07d1-420d-a5ae-e4aff3aedc19"
+ "3b4088ef-7521-4114-ac56-57c68632d431"
+ "f5656ff6-29e1-46b0-8d8a-ff77f9cc0953"
Invalid events (13):
- "1eba2aa1-2acf-460d-91e6-55a8c3e3b7a3"
- "29f0bfa7-bd51-4d45-93be-f6ead1ae0b96"
- "2e8ffd3c-dbda-42df-9901-b7a30869511a"
- "3ade063d-d1b9-453f-85b4-dda7bfda4711"
- "6b1984e5-4092-4279-9dce-bdaa831c7932"
- "a95d845c-8d9e-4e07-8948-275167643a40"
- "ba25151c-914f-4f47-909a-7a65a6339f34"
- "bb998113-bc02-4cd1-9410-d9ae94f53eb0"
- "c72d21cf-1152-4d8e-b649-e198149d5bbb"
- "cc07e442-7986-4714-8fc2-ac2256690a90"
- "e2d760c3-7e10-4464-ab22-7fda6b5e2562"
- "fb1a0854-9535-404d-9bdd-9ec0abb6cd6c"
- "ffe6b214-d543-40a8-8da3-deb0dc5bbd8c"
```