Skip to content

Commit 695ae17

Browse files
committed
Merge branch 'release/0.0.19'
2 parents c232073 + 36befcc commit 695ae17

File tree

17 files changed

+750
-714
lines changed

17 files changed

+750
-714
lines changed

MANIFEST.in

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
include requirements.txt
2-
include README.md
32

43
include versioneer.py
54
include python_jsonschema_objects/_version.py
5+
6+
include *.py
7+
include *.txt
8+
include LICENSE
9+
include tox.ini
10+
recursive-include docs *.md
11+
recursive-include docs *.py
12+
recursive-include docs *.rst
13+
recursive-include docs Makefile
14+
recursive-include test *.json
15+
recursive-include test *.py
16+
recursive-include python_jsonschema_objects/examples *.md

README.md

Lines changed: 0 additions & 244 deletions
This file was deleted.

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
python_jsonschema_objects/examples/README.md

development.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ pandoc
55
sphinx
66
sphinx-autobuild
77
recommonmark
8+
pytest

python_jsonschema_objects/classbuilder.py

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
import logging
1010
logger = logging.getLogger(__name__)
1111

12+
13+
1214
# Long is no longer a thing in python3.x
1315
if sys.version_info > (3,):
1416
long = int
@@ -130,7 +132,8 @@ def __new__(cls, **props):
130132
obj = None
131133
validation_errors = []
132134
for klass in valid_types:
133-
logger.debug("Attempting to instantiate {0} as {1}".format(
135+
logger.debug(util.lazy_format(
136+
"Attempting to instantiate {0} as {1}",
134137
cls, klass))
135138
try:
136139
obj = klass(**props)
@@ -156,7 +159,7 @@ def __init__(self, **props):
156159
for prop in props:
157160

158161
try:
159-
logger.debug("Setting value for %s' to %s", prop, props[prop])
162+
logger.debug(util.lazy_format("Setting value for '{0}' to {1}", prop, props[prop]))
160163
setattr(self, prop, props[prop])
161164
except validators.ValidationError as e:
162165
import sys
@@ -214,7 +217,11 @@ def __setitem__(self, key, val):
214217
return setattr(self,key, val)
215218

216219
def __delitem__(self, key):
217-
return delattr(self, key)
220+
if key in self._extended_properties:
221+
del self._extended_properties[key]
222+
return
223+
224+
return delattr(self, key)
218225

219226
def __getattr__(self, name):
220227
if name not in self._extended_properties:
@@ -376,9 +383,9 @@ def resolve_classes(self, iterable):
376383

377384
def construct(self, uri, *args, **kw):
378385
""" Wrapper to debug things """
379-
logger.debug("Constructing {0}".format(uri))
386+
logger.debug(util.lazy_format("Constructing {0}", uri))
380387
ret = self._construct(uri, *args, **kw)
381-
logger.debug("Constructed {0}".format(ret))
388+
logger.debug(util.lazy_format("Constructed {0}", ret))
382389
return ret
383390

384391
def _construct(self, uri, clsdata, parent=(ProtocolBase,)):
@@ -409,13 +416,13 @@ def _construct(self, uri, clsdata, parent=(ProtocolBase,)):
409416
clsdata['type'], (ProtocolBase, LiteralValue)):
410417
# It's possible that this reference was already resolved, in which
411418
# case it will have its type parameter set
412-
logger.debug("Using previously resolved type "
413-
"(with different URI) for %s", uri)
419+
logger.debug(util.lazy_format("Using previously resolved type "
420+
"(with different URI) for {0}", uri))
414421
self.resolved[uri] = clsdata['type']
415422
elif uri in self.resolved:
416-
logger.debug("Using previously resolved object for %s", uri)
423+
logger.debug(util.lazy_format("Using previously resolved object for {0}", uri))
417424
else:
418-
logger.debug("Resolving object for %s", uri)
425+
logger.debug(util.lazy_format("Resolving object for {0}", uri))
419426

420427
with self.resolver.resolving(uri) as resolved:
421428
self.resolved[uri] = None # Set incase there is a circular reference in schema definition
@@ -473,7 +480,7 @@ def _build_literal(self, nm, clsdata):
473480
return cls
474481

475482
def _build_object(self, nm, clsdata, parents):
476-
logger.debug("Building object {0}".format(nm))
483+
logger.debug(util.lazy_format("Building object {0}", nm))
477484

478485
props = {}
479486

@@ -522,7 +529,7 @@ def _build_object(self, nm, clsdata, parents):
522529

523530
elif 'oneOf' in detail:
524531
potential = self.resolve_classes(detail['oneOf'])
525-
logger.debug("Designating {0} as oneOf {1}".format(prop, potential))
532+
logger.debug(util.lazy_format("Designating {0} as oneOf {1}", prop, potential))
526533
desc = detail[
527534
'description'] if 'description' in detail else ""
528535
props[prop] = make_property(prop,

0 commit comments

Comments
 (0)