Comments (6)
@grovduck Can you provide an example data that you run against?
from pykwalify.
@Grokzen, sure, here's the schema file (strata_schema.yaml
):
type: map
mapping:
=:
type: seq
required: true
sequence:
- type: map
mapping:
'code':
type: int
required: true
unique: true
'key':
type: str
required: true
'alias':
type: str
required: true
and here's a snippet of the data that causes a failure (strata_definitions.yaml
):
OWNERSHIP:
- code: 1
key: BLM-BURNS
alias: BLM-BURNS
WHT:
- code: 1000
key: LP
alias: LP
- code: 2000
key: PPDF
alias: PPDF
SC_10:
- code: 0
key: NO_SNAGS
alias: NO_SNAGS
Here's the command and error message:
> pykwalify -d strata_definitions.yaml -s strata_schema.yaml
pykwalify.errors.SchemaError: <SchemaError: error code 2: Schema validation failed:
- Cannot find required key '='. Path: ''.
- Key 'WHT' was not defined. Path: ''.
- Key 'SC_10' was not defined. Path: ''.
- Key 'OWNERSHIP' was not defined. Path: ''.: Path: '/'>
I'm using pykwalify==1.5.1
, PyYAML==3.11
on Windows 7 using Python 2.7 64-bit. Thanks for your help.
from pykwalify.
Aha, i see what the problem is, that features is just missing here. It should also be rather easy to implement and i can look at implementing it over the weekend.
from pykwalify.
Hi @grovduck. This feature is implemented in this commit 94f326c. I created a success and a fail test case to show that it should work and i did not have to change any existing tests to make it compatible and that is a good sign it will work well. Please play around with it and if you find any issues with the implementation please open a new issue.
Closing this issue as fixed/implemented. Thanks for pointing out this missing feature :)
from pykwalify.
Hi @Grokzen, sorry for the late response. Thanks so much for providing this feature. Tested and confirmed it's now validating correctly against my schema file
from pykwalify.
@grovduck thanks for confirming.
from pykwalify.
Related Issues (20)
- Union of schemas HOT 4
- rule.py is missing a comma in defined_keywords list
- Deprecation warning due to invalid escape sequences in Python 3.8 HOT 1
- Fails to regex match a mapping with integer keys HOT 1
- AttributeError: 'int' object has no attribute 'startswith'
- Support multiple data type HOT 1
- New release? Maintainers needed or? HOT 2
- Deprecation warning "the imp module is deprecated in favour of importlib" HOT 1
- pattern rule not working with all scalar types HOT 1
- <RuleError: error code 4
- Using fulmatch for regex matching. HOT 1
- Schema Validation Against Multiple Files HOT 1
- Outputting Scan Results in SARIF Format HOT 1
- How can I check key only? HOT 5
- anchors to inherit properties are falsely reported as Duplicate HOT 2
- ReadTheDocs does not seem to be updating
- Some error message for length violations are wrong
- issue while using "unique: true" for the sequence data type HOT 3
- Tests fail with ruamel.yaml 0.18.0
- Core Validation Fails - Multi Threading & Python 3.11 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pykwalify.