Giter VIP home page Giter VIP logo

Comments (7)

Grokzen avatar Grokzen commented on July 21, 2024

Ye sure that is doable.

It maybe require some bigger refactoring because currently the length/range checks is done inside the scalar validation.

I think that it can be extended to map also.

from pykwalify.

Grokzen avatar Grokzen commented on July 21, 2024

There we go. Implemented in commit: 1847761

Have a look at it.

Keyword 'range' now works for seq, map, str, int. Play around with it some and look at the new test files.

One thing i think i want to do now is to refactor our 'length' because 'range' handles all its cases and more so there is no need to have both currently.

from pykwalify.

gschmottlach-xse avatar gschmottlach-xse commented on July 21, 2024

I think with this commit something is broken. I'm getting a bunch of failures where I previous had none. It seems the min (and possibly the max) is now doing an exclusive check rather than an inclusive one. So for a schema like:

schema;registers_schema:
    type: seq
    sequence:
        -   type: map
            required: False
            mapping:
                reg:
                    required: True
                    type: str
                value:
                    required: True
                    type: int
                    range:
                        min: 0
                        max: 255

With data like:

- reg: I2S_REG
  value: 0x00

it will fail with the following error (scalar.range.toosmall: 0 > 0) because the value is zero. If I understand things correctly, 'min' as defined above should allow this. As I mentioned, this worked before your latest commit to the develop branch. Can you investigate?

from pykwalify.

Grokzen avatar Grokzen commented on July 21, 2024

Oh yeah, i must have mixed up something in the refactoring of range... It should be fixed in develop branch now.

from pykwalify.

gschmottlach-xse avatar gschmottlach-xse commented on July 21, 2024

Seems to have fixed my problem after I eliminated the use of the 'length' directive on strings. I'll do further testing later.

from pykwalify.

Grokzen avatar Grokzen commented on July 21, 2024

'lenght' was refactored out in a83008e because 'range' can handle all cases.

And the bug with 'range' was fixed in 5d114df

from pykwalify.

Grokzen avatar Grokzen commented on July 21, 2024

Closing this because i consider the feature to be implemented in the commits mentioned above.

from pykwalify.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.