Comments (5)
you should have for the exception class
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
with no need for the message member variable. Then doing
raise JsonSchemaException(message)
will ensure that the str() of the exception is the message, which is the behavior of the base Exception class. Your way requires special treatment and will not get printed correctly by the default handler, for instance.
test case:
raise fastjsonschema.JsonSchemaException("test")
will print
JsonSchemaException:
instead of
JsonSchemaException: test
from python-fastjsonschema.
Hi. Thanks for the report but I don't understand what you are talking about. Can you maybe provide better explanation or test which shows the bug?
from python-fastjsonschema.
Agreed. This is something I experienced when using the library, too.
from python-fastjsonschema.
Fixed in master, will release with the next version where I will improve little bit JSON's format
s.
from python-fastjsonschema.
If you want to keep the message compatibility I would suggest to go with something like the following
class JsonSchemaException(ValueError):
"""
Exception raised by validation function. Contains ``message`` with
information what is wrong.
"""
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
@property
def message(self):
return str(self)
It's somewhat more efficient and achieves the same result :-)
from python-fastjsonschema.
Related Issues (20)
- Please make a new release HOT 1
- Uniqueness enforced if uniqueItems explicitly set to False HOT 1
- 2.16.1: test_compile_to_code_custom_format fails HOT 3
- 2.16.2 not available on pypi.org HOT 1
- RFC 3339 date month and mday should be two digit HOT 2
- Getting UnboundLocalError HOT 3
- are the compiled validation functions cached? HOT 2
- Datadog's Guarddog detects exec in setup.py and complains HOT 4
- Python 3.10 venv build is failing HOT 1
- sdist is missing tests HOT 1
- Cannot parse int64 types HOT 1
- [Potential bug] not working validation for properties not defined in the schema object HOT 1
- Release request HOT 1
- Wrong tag name for 2.17.0 HOT 1
- 2.17.0 sdist contains "stray" tests/examples/lengths that breaks tests HOT 2
- errors for missing required properties
- Error occurs when fastjsonschema generates empty except block HOT 2
- Feature request: automatically add nested defaults HOT 7
- RFE: is it possible to start making github releases?🤔 HOT 1
- test_pattern_with_escape_no_warnings fails with python 3.12 HOT 2
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 python-fastjsonschema.