diff options
author | k clair <kclair@riseup.net> | 2012-10-09 12:46:05 -0700 |
---|---|---|
committer | k clair <kclair@riseup.net> | 2012-10-09 12:46:05 -0700 |
commit | 01cbb318e1a94aa4ecfdf73f8265371b39972a52 (patch) | |
tree | e0eaa4dc08ad93134de654e43bd210690658b973 | |
parent | 28442669df2ee646c3d8e8fc18bd37c663c6d1eb (diff) |
add previously generated debian packaging files
50 files changed, 3020 insertions, 0 deletions
diff --git a/jsonschema-0.6/build/lib.linux-x86_64-2.6/jsonschema.py b/jsonschema-0.6/build/lib.linux-x86_64-2.6/jsonschema.py new file mode 100644 index 0000000..9910c84 --- /dev/null +++ b/jsonschema-0.6/build/lib.linux-x86_64-2.6/jsonschema.py @@ -0,0 +1,658 @@ +""" +An implementation of JSON Schema for Python + +The main functionality is provided by the :class:`Validator` class, with the +:function:`validate` function being the most common way to quickly create a +:class:`Validator` object and validate an instance with a given schema. + +The :class:`Validator` class generally attempts to be as strict as possible +under the JSON Schema specification. See its docstring for details. + +""" + +from __future__ import division, unicode_literals + +import collections +import itertools +import operator +import re +import sys +import warnings + + +PY3 = sys.version_info[0] >= 3 + +if PY3: + basestring = unicode = str + iteritems = operator.methodcaller("items") +else: + from itertools import izip as zip + iteritems = operator.methodcaller("iteritems") + + +def _uniq(container): + """ + Check if all of a container's elements are unique. + + Successively tries first to rely that the elements are hashable, then + falls back on them being sortable, and finally falls back on brute + force. + + """ + + try: + return len(set(container)) == len(container) + except TypeError: + try: + sort = sorted(container) + sliced = itertools.islice(container, 1, None) + for i, j in zip(container, sliced): + if i == j: + return False + except (NotImplementedError, TypeError): + seen = [] + for e in container: + if e in seen: + return False + seen.append(e) + return True + + +__version__ = "0.6" + + +DRAFT_3 = { + "$schema" : "http://json-schema.org/draft-03/schema#", + "id" : "http://json-schema.org/draft-03/schema#", + "type" : "object", + + "properties" : { + "type" : { + "type" : ["string", "array"], + "items" : {"type" : ["string", {"$ref" : "#"}]}, + "uniqueItems" : True, + "default" : "any" + }, + "properties" : { + "type" : "object", + "additionalProperties" : {"$ref" : "#", "type": "object"}, + "default" : {} + }, + "patternProperties" : { + "type" : "object", + "additionalProperties" : {"$ref" : "#"}, + "default" : {} + }, + "additionalProperties" : { + "type" : [{"$ref" : "#"}, "boolean"], "default" : {} + }, + "items" : { + "type" : [{"$ref" : "#"}, "array"], + "items" : {"$ref" : "#"}, + "default" : {} + }, + "additionalItems" : { + "type" : [{"$ref" : "#"}, "boolean"], "default" : {} + }, + "required" : {"type" : "boolean", "default" : False}, + "dependencies" : { + "type" : ["string", "array", "object"], + "additionalProperties" : { + "type" : ["string", "array", {"$ref" : "#"}], + "items" : {"type" : "string"} + }, + "default" : {} + }, + "minimum" : {"type" : "number"}, + "maximum" : {"type" : "number"}, + "exclusiveMinimum" : {"type" : "boolean", "default" : False}, + "exclusiveMaximum" : {"type" : "boolean", "default" : False}, + "minItems" : {"type" : "integer", "minimum" : 0, "default" : 0}, + "maxItems" : {"type" : "integer", "minimum" : 0}, + "uniqueItems" : {"type" : "boolean", "default" : False}, + "pattern" : {"type" : "string", "format" : "regex"}, + "minLength" : {"type" : "integer", "minimum" : 0, "default" : 0}, + "maxLength" : {"type" : "integer"}, + "enum" : {"type" : "array", "minItems" : 1, "uniqueItems" : True}, + "default" : {"type" : "any"}, + "title" : {"type" : "string"}, + "description" : {"type" : "string"}, + "format" : {"type" : "string"}, + "maxDecimal" : {"type" : "number", "minimum" : 0}, + "divisibleBy" : { + "type" : "number", + "minimum" : 0, + "exclusiveMinimum" : True, + "default" : 1 + }, + "disallow" : { + "type" : ["string", "array"], + "items" : {"type" : ["string", {"$ref" : "#"}]}, + "uniqueItems" : True + }, + "extends" : { + "type" : [{"$ref" : "#"}, "array"], + "items" : {"$ref" : "#"}, + "default" : {} + }, + "id" : {"type" : "string", "format" : "uri"}, + "$ref" : {"type" : "string", "format" : "uri"}, + "$schema" : {"type" : "string", "format" : "uri"}, + }, + "dependencies" : { + "exclusiveMinimum" : "minimum", "exclusiveMaximum" : "maximum" + }, +} + +EPSILON = 10 ** -15 + + +class SchemaError(Exception): + """ + The provided schema is malformed. + + The same attributes exist for ``SchemaError``s as for ``ValidationError``s. + + """ + + validator = None + + def __init__(self, message): + super(SchemaError, self).__init__(message) + self.message = message + self.path = [] + + +class ValidationError(Exception): + """ + The instance didn't properly validate with the provided schema. + + Relevant attributes are: + * ``message`` : a human readable message explaining the error + * ``path`` : a list containing the path to the offending element (or [] + if the error happened globally) in *reverse* order (i.e. + deepest index first). + + """ + + # the failing validator will be set externally at whatever recursion level + # is immediately above the validation failure + validator = None + + def __init__(self, message): + super(ValidationError, self).__init__(message) + self.message = message + + # Any validator that recurses must append to the ValidationError's + # path (e.g., properties and items) + self.path = [] + + +class Validator(object): + """ + A JSON Schema validator. + + """ + + DEFAULT_TYPES = { + "array" : list, "boolean" : bool, "integer" : int, "null" : type(None), + "number" : (int, float), "object" : dict, "string" : basestring, + } + + def __init__( + self, version=DRAFT_3, unknown_type="skip", + unknown_property="skip", types=(), + ): + """ + Initialize a Validator. + + ``version`` specifies which version of the JSON Schema specification to + validate with. Currently only draft-03 is supported (and is the + default). + + ``unknown_type`` and ``unknown_property`` control what to do when an + unknown type (resp. property) is encountered. By default, the + metaschema is respected (which e.g. for draft 3 allows a schema to have + additional properties), but if for some reason you want to modify this + behavior, you can do so without needing to modify the metaschema by + passing ``"error"`` or ``"warn"`` to these arguments. + + ``types`` is a mapping (or iterable of 2-tuples) containing additional + types or alternate types to verify via the 'type' property. For + instance, the default types for the 'number' JSON Schema type are + ``int`` and ``float``. To override this behavior (e.g. for also + allowing ``decimal.Decimal``), pass ``types={"number" : (int, float, + decimal.Decimal)} *including* the default types if so desired, which + are fairly obvious but can be accessed via ``Validator.DEFAULT_TYPES`` + if necessary. + + """ + + self._unknown_type = unknown_type + self._unknown_property = unknown_property + self._version = version + + self._types = dict(self.DEFAULT_TYPES) + self._types.update(types) + self._types["any"] = tuple(self._types.values()) + + def is_type(self, instance, type): + """ + Check if an ``instance`` is of the provided ``type``. + + """ + + py_type = self._types.get(type) + + if py_type is None: + return self.schema_error( + self._unknown_type, "%r is not a known type" % (type,) + ) + + # the only thing we're careful about here is evading bool inheriting + # from int, so let's be even dirtier than usual + + elif ( + # it's not a bool, so no worries + not isinstance(instance, bool) or + + # it is a bool, but we're checking for a bool, so no worries + ( + py_type is bool or + isinstance(py_type, tuple) and bool in py_type + ) + + ): + return isinstance(instance, py_type) + + def schema_error(self, level, msg): + if level == "skip": + return + elif level == "warn": + warnings.warn(msg) + else: + raise SchemaError(msg) + + def is_valid(self, instance, schema, meta_validate=True): + """ + Check if the ``instance`` is valid under the ``schema``. + + Returns a bool indicating whether validation succeeded. + + """ + + error = next(self.iter_errors(instance, schema, meta_validate), None) + return error is None + + def iter_errors(self, instance, schema, meta_validate=True): + """ + Lazily yield each of the errors in the given ``instance``. + + If you are unsure whether your schema itself is valid, + ``meta_validate`` will first validate that the schema is valid before + attempting to validate the instance. ``meta_validate`` is ``True`` by + default, since setting it to ``False`` can lead to confusing error + messages with an invalid schema. If you're sure your schema is in fact + valid, or don't care, feel free to set this to ``False``. The meta + validation will be done using the appropriate ``version``. + + """ + + if meta_validate: + for error in self.iter_errors( + schema, self._version, meta_validate=False + ): + s = SchemaError(error.message) + s.path = error.path + s.validator = error.validator + # I think we're safer raising these always, not yielding them + raise s + + for k, v in iteritems(schema): + validator = getattr(self, "validate_%s" % (k.lstrip("$"),), None) + + if validator is None: + errors = self.unknown_property(k, instance, schema) + else: + errors = validator(v, instance, schema) + + for error in errors or (): + # if the validator hasn't already been set (due to recursion) + # make sure to set it + error.validator = error.validator or k + yield error + + def validate(self, *args, **kwargs): + """ + Validate an ``instance`` under the given ``schema``. + + """ + + for error in self.iter_errors(*args, **kwargs): + raise error + + def unknown_property(self, property, instance, schema): + self.schema_error( + self._unknown_property, + "%r is not a known schema property" % (property,) + ) + + def validate_type(self, types, instance, schema): + types = _list(types) + + for type in types: + # Ouch. Brain hurts. Two paths here, either we have a schema, then + # check if the instance is valid under it + if (( + self.is_type(type, "object") and + self.is_valid(instance, type) + + # Or we have a type as a string, just check if the instance is that + # type. Also, HACK: we can reach the `or` here if skip_types is + # something other than error. If so, bail out. + + ) or ( + self.is_type(type, "string") and + (self.is_type(instance, type) or type not in self._types) + )): + return + else: + yield ValidationError( + "%r is not of type %r" % (instance, _delist(types)) + ) + + def validate_properties(self, properties, instance, schema): + if not self.is_type(instance, "object"): + return + + for property, subschema in iteritems(properties): + if property in instance: + for error in self.iter_errors( + instance[property], subschema, meta_validate=False + ): + error.path.append(property) + yield error + elif subschema.get("required", False): + error = ValidationError( + "%r is a required property" % (property,) + ) + error.path.append(property) + error.validator = "required" + yield error + + def validate_patternProperties(self, patternProperties, instance, schema): + for pattern, subschema in iteritems(patternProperties): + for k, v in iteritems(instance): + if re.match(pattern, k): + for error in self.iter_errors( + v, subschema, meta_validate=False + ): + yield error + + def validate_additionalProperties(self, aP, instance, schema): + if not self.is_type(instance, "object"): + return + + # no viewkeys in <2.7, and pypy seems to fail on vk - vk anyhow, so... + extras = set(instance) - set(schema.get("properties", {})) + + if self.is_type(aP, "object"): + for extra in extras: + for error in self.iter_errors( + instance[extra], aP, meta_validate=False + ): + yield error + elif not aP and extras: + error = "Additional properties are not allowed (%s %s unexpected)" + yield ValidationError(error % _extras_msg(extras)) + + def validate_dependencies(self, dependencies, instance, schema): + for property, dependency in iteritems(dependencies): + if property not in instance: + continue + + if self.is_type(dependency, "object"): + for error in self.iter_errors( + instance, dependency, meta_validate=False + ): + yield error + else: + dependencies = _list(dependency) + for dependency in dependencies: + if dependency not in instance: + yield ValidationError( + "%r is a dependency of %r" % (dependency, property) + ) + + def validate_items(self, items, instance, schema): + if not self.is_type(instance, "array"): + return + + if self.is_type(items, "object"): + for index, item in enumerate(instance): + for error in self.iter_errors( + item, items, meta_validate=False + ): + error.path.append(index) + yield error + else: + for (index, item), subschema in zip(enumerate(instance), items): + for error in self.iter_errors( + item, subschema, meta_validate=False + ): + error.path.append(index) + yield error + + def validate_additionalItems(self, aI, instance, schema): + if not self.is_type(instance, "array"): + return + + if self.is_type(aI, "object"): + for item in instance[len(schema):]: + for error in self.iter_errors(item, aI, meta_validate=False): + yield error + elif not aI and len(instance) > len(schema.get("items", [])): + error = "Additional items are not allowed (%s %s unexpected)" + yield ValidationError( + error % _extras_msg(instance[len(schema) - 1:]) + ) + + def validate_minimum(self, minimum, instance, schema): + if not self.is_type(instance, "number"): + return + + instance = float(instance) + if schema.get("exclusiveMinimum", False): + failed = instance <= minimum + cmp = "less than or equal to" + else: + failed = instance < minimum + cmp = "less than" + + if failed: + yield ValidationError( + "%r is %s the minimum of %r" % (instance, cmp, minimum) + ) + + def validate_maximum(self, maximum, instance, schema): + if not self.is_type(instance, "number"): + return + + instance = float(instance) + if schema.get("exclusiveMaximum", False): + failed = instance >= maximum + cmp = "greater than or equal to" + else: + failed = instance > maximum + cmp = "greater than" + + if failed: + yield ValidationError( + "%r is %s the maximum of %r" % (instance, cmp, maximum) + ) + + def validate_minItems(self, mI, instance, schema): + if self.is_type(instance, "array") and len(instance) < mI: + yield ValidationError("%r is too short" % (instance,)) + + def validate_maxItems(self, mI, instance, schema): + if self.is_type(instance, "array") and len(instance) > mI: + yield ValidationError("%r is too long" % (instance,)) + + def validate_uniqueItems(self, uI, instance, schema): + if uI and self.is_type(instance, "array") and not _uniq(instance): + yield ValidationError("%r has non-unique elements" % instance) + + def validate_pattern(self, patrn, instance, schema): + if self.is_type(instance, "string") and not re.match(patrn, instance): + yield ValidationError("%r does not match %r" % (instance, patrn)) + + def validate_minLength(self, mL, instance, schema): + if self.is_type(instance, "string") and len(instance) < mL: + yield ValidationError("%r is too short" % (instance,)) + + def validate_maxLength(self, mL, instance, schema): + if self.is_type(instance, "string") and len(instance) > mL: + yield ValidationError("%r is too long" % (instance,)) + + def validate_enum(self, enums, instance, schema): + if instance not in enums: + yield ValidationError("%r is not one of %r" % (instance, enums)) + + def validate_divisibleBy(self, dB, instance, schema): + if not self.is_type(instance, "number"): + return + + if isinstance(dB, float): + mod = instance % dB + failed = (mod > EPSILON) and (dB - mod) > EPSILON + else: + failed = instance % dB + + if failed: + yield ValidationError("%r is not divisible by %r" % (instance, dB)) + + def validate_disallow(self, disallow, instance, schema): + for disallowed in _list(disallow): + if self.is_valid(instance, {"type" : [disallowed]}): + yield ValidationError( + "%r is disallowed for %r" % (disallowed, instance) + ) + + def validate_extends(self, extends, instance, schema): + if self.is_type(extends, "object"): + extends = [extends] + for subschema in extends: + for error in self.iter_errors( + instance, subschema, meta_validate=False + ): + yield error + + +for no_op in [ # handled in: + "required", # properties + "exclusiveMinimum", "exclusiveMaximum", # min*/max* + "default", "description", "format", "id", # no validation needed + "links", "name", "title", + "ref", "schema", # not yet supported +]: + setattr(Validator, "validate_" + no_op, lambda *args, **kwargs : None) + + +class ErrorTree(object): + """ + ErrorTrees make it easier to check which validations failed. + + """ + + def __init__(self, errors=()): + self.errors = {} + self._contents = collections.defaultdict(self.__class__) + + for error in errors: + container = self + for element in reversed(error.path): + container = container[element] + container.errors[error.validator] = error + + def __contains__(self, k): + return k in self._contents + + def __getitem__(self, k): + return self._contents[k] + + def __setitem__(self, k, v): + self._contents[k] = v + + def __iter__(self): + return iter(self._contents) + + def __len__(self): + child_errors = sum(len(tree) for _, tree in iteritems(self._contents)) + return len(self.errors) + child_errors + + def __repr__(self): + return "<%s (%s errors)>" % (self.__class__.__name__, len(self)) + + +def _extras_msg(extras): + """ + Create an error message for extra items or properties. + + """ + + if len(extras) == 1: + verb = "was" + else: + verb = "were" + return ", ".join(repr(extra) for extra in extras), verb + + +def _list(thing): + """ + Wrap ``thing`` in a list if it's a single str. + + Otherwise, return it unchanged. + + """ + + if isinstance(thing, basestring): + return [thing] + return thing + + +def _delist(thing): + """ + Unwrap ``thing`` to a single element if its a single str in a list. + + Otherwise, return it unchanged. + + """ + + if ( + isinstance(thing, list) and + len(thing) == 1 + and isinstance(thing[0], basestring) + ): + return thing[0] + return thing + + +def validate( + instance, schema, meta_validate=True, cls=Validator, *args, **kwargs +): + """ + Validate an ``instance`` under the given ``schema``. + + By default, the :class:`Validator` class from this module is used to + perform the validation. To use another validator, pass it into the ``cls`` + argument. + + Any other provided positional and keyword arguments will be provided to the + ``cls``. See the :class:`Validator` class' docstring for details on the + arguments it accepts. + + """ + + validator = cls(*args, **kwargs) + validator.validate(instance, schema, meta_validate=meta_validate) diff --git a/jsonschema-0.6/debian/README.Debian b/jsonschema-0.6/debian/README.Debian new file mode 100644 index 0000000..7dd7563 --- /dev/null +++ b/jsonschema-0.6/debian/README.Debian @@ -0,0 +1,6 @@ +python-jsonschema for Debian +---------------------------- + +<possible notes regarding this package - if none, delete this file> + + -- Kristina Clair <kclair@leap.se> Wed, 03 Oct 2012 11:34:56 -0700 diff --git a/jsonschema-0.6/debian/README.source b/jsonschema-0.6/debian/README.source new file mode 100644 index 0000000..408eac3 --- /dev/null +++ b/jsonschema-0.6/debian/README.source @@ -0,0 +1,9 @@ +python-jsonschema for Debian +---------------------------- + +<this file describes information about the source package, see Debian policy +manual section 4.14. You WILL either need to modify or delete this file> + + + + diff --git a/jsonschema-0.6/debian/changelog b/jsonschema-0.6/debian/changelog new file mode 100644 index 0000000..b13938b --- /dev/null +++ b/jsonschema-0.6/debian/changelog @@ -0,0 +1,5 @@ +python-jsonschema (0.6-1) unstable; urgency=low + + * Initial release (Closes: #nnnn) <nnnn is the bug number of your ITP> + + -- Kristina Clair <kclair@leap.se> Wed, 03 Oct 2012 11:34:56 -0700 diff --git a/jsonschema-0.6/debian/compat b/jsonschema-0.6/debian/compat new file mode 100644 index 0000000..7f8f011 --- /dev/null +++ b/jsonschema-0.6/debian/compat @@ -0,0 +1 @@ +7 diff --git a/jsonschema-0.6/debian/control b/jsonschema-0.6/debian/control new file mode 100644 index 0000000..7cbef5e --- /dev/null +++ b/jsonschema-0.6/debian/control @@ -0,0 +1,14 @@ +Source: python-jsonschema +Section: python +Priority: optional +Maintainer: Kristina Clair <kclair@leap.se> +Build-Depends: debhelper (>= 7.0.50~), python-support, python (>=2.6) +Standards-Version: 3.9.4.0 +Homepage: http://pypi.python.org/pypi/jsonschema + +Package: python-jsonschema +Architecture: all +Depends: ${misc:Depends}, ${python:Depends} +Description: Provides the jsonschema python package + Provides the jsonschema python package, + which is an implementation of JSON Schema for python. diff --git a/jsonschema-0.6/debian/copyright b/jsonschema-0.6/debian/copyright new file mode 100644 index 0000000..e483d9c --- /dev/null +++ b/jsonschema-0.6/debian/copyright @@ -0,0 +1,42 @@ +This work was packaged for Debian by: + + Kristina Clair <kclair@leap.se> on Tue, 02 Oct 2012 22:53:20 -0700 + +It was downloaded from: + + http://pypi.python.org/packages/source/j/jsonschema/jsonschema-0.6.tar.gz + +Upstream Author(s): + + Julian Berman + +Copyright: + + Copyright (c) 2011 Julian Berman + +License: + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +The Debian packaging is: + + Copyright (C) 2012 Kristina Clair <kclair@leap.se> + + and is licensed under the GPL version 3, + see "/usr/share/common-licenses/GPL-3". diff --git a/jsonschema-0.6/debian/docs b/jsonschema-0.6/debian/docs new file mode 100644 index 0000000..a1320b1 --- /dev/null +++ b/jsonschema-0.6/debian/docs @@ -0,0 +1 @@ +README.rst diff --git a/jsonschema-0.6/debian/emacsen-install.ex b/jsonschema-0.6/debian/emacsen-install.ex new file mode 100644 index 0000000..2e3b34f --- /dev/null +++ b/jsonschema-0.6/debian/emacsen-install.ex @@ -0,0 +1,45 @@ +#! /bin/sh -e +# /usr/lib/emacsen-common/packages/install/python-jsonschema + +# Written by Jim Van Zandt <jrv@debian.org>, borrowing heavily +# from the install scripts for gettext by Santiago Vila +# <sanvila@ctv.es> and octave by Dirk Eddelbuettel <edd@debian.org>. + +FLAVOR=$1 +PACKAGE=python-jsonschema + +if [ ${FLAVOR} = emacs ]; then exit 0; fi + +echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR} + +#FLAVORTEST=`echo $FLAVOR | cut -c-6` +#if [ ${FLAVORTEST} = xemacs ] ; then +# SITEFLAG="-no-site-file" +#else +# SITEFLAG="--no-site-file" +#fi +FLAGS="${SITEFLAG} -q -batch -l path.el -f batch-byte-compile" + +ELDIR=/usr/share/emacs/site-lisp/${PACKAGE} +ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE} + +# Install-info-altdir does not actually exist. +# Maybe somebody will write it. +if test -x /usr/sbin/install-info-altdir; then + echo install/${PACKAGE}: install Info links for ${FLAVOR} + install-info-altdir --quiet --section "" "" --dirname=${FLAVOR} /usr/share/info/${PACKAGE}.info.gz +fi + +install -m 755 -d ${ELCDIR} +cd ${ELDIR} +FILES=`echo *.el` +cp ${FILES} ${ELCDIR} +cd ${ELCDIR} + +cat << EOF > path.el +(setq load-path (cons "." load-path) byte-compile-warnings nil) +EOF +${FLAVOR} ${FLAGS} ${FILES} +rm -f *.el path.el + +exit 0 diff --git a/jsonschema-0.6/debian/emacsen-remove.ex b/jsonschema-0.6/debian/emacsen-remove.ex new file mode 100644 index 0000000..bc73c67 --- /dev/null +++ b/jsonschema-0.6/debian/emacsen-remove.ex @@ -0,0 +1,15 @@ +#!/bin/sh -e +# /usr/lib/emacsen-common/packages/remove/python-jsonschema + +FLAVOR=$1 +PACKAGE=python-jsonschema + +if [ ${FLAVOR} != emacs ]; then + if test -x /usr/sbin/install-info-altdir; then + echo remove/${PACKAGE}: removing Info links for ${FLAVOR} + install-info-altdir --quiet --remove --dirname=${FLAVOR} /usr/share/info/python-jsonschema.info.gz + fi + + echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR} + rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE} +fi diff --git a/jsonschema-0.6/debian/emacsen-startup.ex b/jsonschema-0.6/debian/emacsen-startup.ex new file mode 100644 index 0000000..e1efeb7 --- /dev/null +++ b/jsonschema-0.6/debian/emacsen-startup.ex @@ -0,0 +1,25 @@ +;; -*-emacs-lisp-*- +;; +;; Emacs startup file, e.g. /etc/emacs/site-start.d/50python-jsonschema.el +;; for the Debian python-jsonschema package +;; +;; Originally contributed by Nils Naumann <naumann@unileoben.ac.at> +;; Modified by Dirk Eddelbuettel <edd@debian.org> +;; Adapted for dh-make by Jim Van Zandt <jrv@debian.org> + +;; The python-jsonschema package follows the Debian/GNU Linux 'emacsen' policy and +;; byte-compiles its elisp files for each 'emacs flavor' (emacs19, +;; xemacs19, emacs20, xemacs20...). The compiled code is then +;; installed in a subdirectory of the respective site-lisp directory. +;; We have to add this to the load-path: +(let ((package-dir (concat "/usr/share/" + (symbol-name flavor) + "/site-lisp/python-jsonschema"))) +;; If package-dir does not exist, the python-jsonschema package must have +;; removed but not purged, and we should skip the setup. + (when (file-directory-p package-dir) + (setq load-path (cons package-dir load-path)) + (autoload 'python-jsonschema-mode "python-jsonschema-mode" + "Major mode for editing python-jsonschema files." t) + (add-to-list 'auto-mode-alist '("\\.python-jsonschema$" . python-jsonschema-mode)))) + diff --git a/jsonschema-0.6/debian/files b/jsonschema-0.6/debian/files new file mode 100644 index 0000000..de09905 --- /dev/null +++ b/jsonschema-0.6/debian/files @@ -0,0 +1 @@ +python-jsonschema_0.6-1_all.deb python optional diff --git a/jsonschema-0.6/debian/init.d.ex b/jsonschema-0.6/debian/init.d.ex new file mode 100644 index 0000000..02d24fd --- /dev/null +++ b/jsonschema-0.6/debian/init.d.ex @@ -0,0 +1,154 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: python-jsonschema +# Required-Start: $network $local_fs +# Required-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: <Enter a short description of the sortware> +# Description: <Enter a long description of the software> +# <...> +# <...> +### END INIT INFO + +# Author: Kristina Clair <kclair@leap.se> + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC=python-jsonschema # Introduce a short description here +NAME=python-jsonschema # Introduce the short server's name here +DAEMON=/usr/sbin/python-jsonschema # Introduce the server's location here +DAEMON_ARGS="" # Arguments to run the daemon with +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME + +# Exit if the package is not installed +[ -x $DAEMON ] || exit 0 + +# Read configuration variable file if it is present +[ -r /etc/default/$NAME ] && . /etc/default/$NAME + +# Load the VERBOSE setting and other rcS variables +. /lib/init/vars.sh + +# Define LSB log_* functions. +# Depend on lsb-base (>= 3.0-6) to ensure that this file is present. +. /lib/lsb/init-functions + +# +# Function that starts the daemon/service +# +do_start() +{ + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ + || return 1 + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ + $DAEMON_ARGS \ + || return 2 + # Add code here, if necessary, that waits for the process to be ready + # to handle requests from services started subsequently which depend + # on this one. As a last resort, sleep for some time. +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + # Wait for children to finish too if this is a daemon that forks + # and if the daemon is only ever run from this initscript. + # If the above conditions are not satisfied then add some other code + # that waits for the process to drop all resources that could be + # needed by services started subsequently. A last resort is to + # sleep for some time. + start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON + [ "$?" = 2 ] && return 2 + # Many daemons don't delete their pidfiles when they exit. + rm -f $PIDFILE + return "$RETVAL" +} + +# +# Function that sends a SIGHUP to the daemon/service +# +do_reload() { + # + # If the daemon can reload its configuration without + # restarting (for example, when it is sent a SIGHUP), + # then implement that here. + # + start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME + return 0 +} + +case "$1" in + start) + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME" + do_start + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + stop) + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + #reload|force-reload) + # + # If do_reload() is not implemented then leave this commented out + # and leave 'force-reload' as an alias for 'restart'. + # + #log_daemon_msg "Reloading $DESC" "$NAME" + #do_reload + #log_end_msg $? + #;; + restart|force-reload) + # + # If the "reload" option is implemented then remove the + # 'force-reload' alias + # + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; + *) + #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 + exit 3 + ;; +esac + +: diff --git a/jsonschema-0.6/debian/manpage.1.ex b/jsonschema-0.6/debian/manpage.1.ex new file mode 100644 index 0000000..72d98b9 --- /dev/null +++ b/jsonschema-0.6/debian/manpage.1.ex @@ -0,0 +1,59 @@ +.\" Hey, EMACS: -*- nroff -*- +.\" First parameter, NAME, should be all caps +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +.\" other parameters are allowed: see man(7), man(1) +.TH PYTHON-JSONSCHEMA SECTION "October 3, 2012" +.\" Please adjust this date whenever revising the manpage. +.\" +.\" Some roff macros, for reference: +.\" .nh disable hyphenation +.\" .hy enable hyphenation +.\" .ad l left justify +.\" .ad b justify to both left and right margins +.\" .nf disable filling +.\" .fi enable filling +.\" .br insert line break +.\" .sp <n> insert n+1 empty lines +.\" for manpage-specific macros, see man(7) +.SH NAME +python-jsonschema \- program to do something +.SH SYNOPSIS +.B python-jsonschema +.RI [ options ] " files" ... +.br +.B bar +.RI [ options ] " files" ... +.SH DESCRIPTION +This manual page documents briefly the +.B python-jsonschema +and +.B bar +commands. +.PP +.\" TeX users may be more comfortable with the \fB<whatever>\fP and +.\" \fI<whatever>\fP escape sequences to invode bold face and italics, +.\" respectively. +\fBpython-jsonschema\fP is a program that... +.SH OPTIONS +These programs follow the usual GNU command line syntax, with long +options starting with two dashes (`-'). +A summary of options is included below. +For a complete description, see the Info files. +.TP +.B \-h, \-\-help +Show summary of options. +.TP +.B \-v, \-\-version +Show version of program. +.SH SEE ALSO +.BR bar (1), +.BR baz (1). +.br +The programs are documented fully by +.IR "The Rise and Fall of a Fooish Bar" , +available via the Info system. +.SH AUTHOR +python-jsonschema was written by <upstream author>. +.PP +This manual page was written by Kristina Clair <kclair@leap.se>, +for the Debian project (and may be used by others). diff --git a/jsonschema-0.6/debian/manpage.sgml.ex b/jsonschema-0.6/debian/manpage.sgml.ex new file mode 100644 index 0000000..9ff6206 --- /dev/null +++ b/jsonschema-0.6/debian/manpage.sgml.ex @@ -0,0 +1,154 @@ +<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ + +<!-- Process this file with docbook-to-man to generate an nroff manual + page: `docbook-to-man manpage.sgml > manpage.1'. You may view + the manual page with: `docbook-to-man manpage.sgml | nroff -man | + less'. A typical entry in a Makefile or Makefile.am is: + +manpage.1: manpage.sgml + docbook-to-man $< > $@ + + + The docbook-to-man binary is found in the docbook-to-man package. + Please remember that if you create the nroff version in one of the + debian/rules file targets (such as build), you will need to include + docbook-to-man in your Build-Depends control field. + + --> + + <!-- Fill in your name for FIRSTNAME and SURNAME. --> + <!ENTITY dhfirstname "<firstname>FIRSTNAME</firstname>"> + <!ENTITY dhsurname "<surname>SURNAME</surname>"> + <!-- Please adjust the date whenever revising the manpage. --> + <!ENTITY dhdate "<date>October 3, 2012</date>"> + <!-- SECTION should be 1-8, maybe w/ subsection other parameters are + allowed: see man(7), man(1). --> + <!ENTITY dhsection "<manvolnum>SECTION</manvolnum>"> + <!ENTITY dhemail "<email>kclair@leap.se</email>"> + <!ENTITY dhusername "Kristina Clair"> + <!ENTITY dhucpackage "<refentrytitle>PYTHON-JSONSCHEMA</refentrytitle>"> + <!ENTITY dhpackage "python-jsonschema"> + + <!ENTITY debian "<productname>Debian</productname>"> + <!ENTITY gnu "<acronym>GNU</acronym>"> + <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> +]> + +<refentry> + <refentryinfo> + <address> + &dhemail; + </address> + <author> + &dhfirstname; + &dhsurname; + </author> + <copyright> + <year>2003</year> + <holder>&dhusername;</holder> + </copyright> + &dhdate; + </refentryinfo> + <refmeta> + &dhucpackage; + + &dhsection; + </refmeta> + <refnamediv> + <refname>&dhpackage;</refname> + + <refpurpose>program to do something</refpurpose> + </refnamediv> + <refsynopsisdiv> + <cmdsynopsis> + <command>&dhpackage;</command> + + <arg><option>-e <replaceable>this</replaceable></option></arg> + + <arg><option>--example <replaceable>that</replaceable></option></arg> + </cmdsynopsis> + </refsynopsisdiv> + <refsect1> + <title>DESCRIPTION</title> + + <para>This manual page documents briefly the + <command>&dhpackage;</command> and <command>bar</command> + commands.</para> + + <para>This manual page was written for the &debian; distribution + because the original program does not have a manual page. + Instead, it has documentation in the &gnu; + <application>Info</application> format; see below.</para> + + <para><command>&dhpackage;</command> is a program that...</para> + + </refsect1> + <refsect1> + <title>OPTIONS</title> + + <para>These programs follow the usual &gnu; command line syntax, + with long options starting with two dashes (`-'). A summary of + options is included below. For a complete description, see the + <application>Info</application> files.</para> + + <variablelist> + <varlistentry> + <term><option>-h</option> + <option>--help</option> + </term> + <listitem> + <para>Show summary of options.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><option>-v</option> + <option>--version</option> + </term> + <listitem> + <para>Show version of program.</para> + </listitem> + </varlistentry> + </variablelist> + </refsect1> + <refsect1> + <title>SEE ALSO</title> + + <para>bar (1), baz (1).</para> + + <para>The programs are documented fully by <citetitle>The Rise and + Fall of a Fooish Bar</citetitle> available via the + <application>Info</application> system.</para> + </refsect1> + <refsect1> + <title>AUTHOR</title> + + <para>This manual page was written by &dhusername; &dhemail; for + the &debian; system (and may be used by others). Permission is + granted to copy, distribute and/or modify this document under + the terms of the &gnu; General Public License, Version 2 any + later version published by the Free Software Foundation. + </para> + <para> + On Debian systems, the complete text of the GNU General Public + License can be found in /usr/share/common-licenses/GPL. + </para> + + </refsect1> +</refentry> + +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:2 +sgml-indent-data:t +sgml-parent-document:nil +sgml-default-dtd-file:nil +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +--> diff --git a/jsonschema-0.6/debian/manpage.xml.ex b/jsonschema-0.6/debian/manpage.xml.ex new file mode 100644 index 0000000..f3e32bb --- /dev/null +++ b/jsonschema-0.6/debian/manpage.xml.ex @@ -0,0 +1,291 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" +"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ + +<!-- + +`xsltproc -''-nonet \ + -''-param man.charmap.use.subset "0" \ + -''-param make.year.ranges "1" \ + -''-param make.single.year.ranges "1" \ + /usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl \ + manpage.xml' + +A manual page <package>.<section> will be generated. You may view the +manual page with: nroff -man <package>.<section> | less'. A typical entry +in a Makefile or Makefile.am is: + +DB2MAN = /usr/share/sgml/docbook/stylesheet/xsl/docbook-xsl/manpages/docbook.xsl +XP = xsltproc -''-nonet -''-param man.charmap.use.subset "0" + +manpage.1: manpage.xml + $(XP) $(DB2MAN) $< + +The xsltproc binary is found in the xsltproc package. The XSL files are in +docbook-xsl. A description of the parameters you can use can be found in the +docbook-xsl-doc-* packages. Please remember that if you create the nroff +version in one of the debian/rules file targets (such as build), you will need +to include xsltproc and docbook-xsl in your Build-Depends control field. +Alternatively use the xmlto command/package. That will also automatically +pull in xsltproc and docbook-xsl. + +Notes for using docbook2x: docbook2x-man does not automatically create the +AUTHOR(S) and COPYRIGHT sections. In this case, please add them manually as +<refsect1> ... </refsect1>. + +To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections +read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be +found in the docbook-xsl-doc-html package. + +Validation can be done using: `xmllint -''-noout -''-valid manpage.xml` + +General documentation about man-pages and man-page-formatting: +man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/ + +--> + + <!-- Fill in your name for FIRSTNAME and SURNAME. --> + <!ENTITY dhfirstname "FIRSTNAME"> + <!ENTITY dhsurname "SURNAME"> + <!-- dhusername could also be set to "&dhfirstname; &dhsurname;". --> + <!ENTITY dhusername "Kristina Clair"> + <!ENTITY dhemail "kclair@leap.se"> + <!-- SECTION should be 1-8, maybe w/ subsection other parameters are + allowed: see man(7), man(1) and + http://www.tldp.org/HOWTO/Man-Page/q2.html. --> + <!ENTITY dhsection "SECTION"> + <!-- TITLE should be something like "User commands" or similar (see + http://www.tldp.org/HOWTO/Man-Page/q2.html). --> + <!ENTITY dhtitle "python-jsonschema User Manual"> + <!ENTITY dhucpackage "PYTHON-JSONSCHEMA"> + <!ENTITY dhpackage "python-jsonschema"> +]> + +<refentry> + <refentryinfo> + <title>&dhtitle;</title> + <productname>&dhpackage;</productname> + <authorgroup> + <author> + <firstname>&dhfirstname;</firstname> + <surname>&dhsurname;</surname> + <contrib>Wrote this manpage for the Debian system.</contrib> + <address> + <email>&dhemail;</email> + </address> + </author> + </authorgroup> + <copyright> + <year>2007</year> + <holder>&dhusername;</holder> + </copyright> + <legalnotice> + <para>This manual page was written for the Debian system + (and may be used by others).</para> + <para>Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU General Public License, + Version 2 or (at your option) any later version published by + the Free Software Foundation.</para> + <para>On Debian systems, the complete text of the GNU General Public + License can be found in + <filename>/usr/share/common-licenses/GPL</filename>.</para> + </legalnotice> + </refentryinfo> + <refmeta> + <refentrytitle>&dhucpackage;</refentrytitle> + <manvolnum>&dhsection;</manvolnum> + </refmeta> + <refnamediv> + <refname>&dhpackage;</refname> + <refpurpose>program to do something</refpurpose> + </refnamediv> + <refsynopsisdiv> + <cmdsynopsis> + <command>&dhpackage;</command> + <!-- These are several examples, how syntaxes could look --> + <arg choice="plain"><option>-e <replaceable>this</replaceable></option></arg> + <arg choice="opt"><option>--example=<parameter>that</parameter></option></arg> + <arg choice="opt"> + <group choice="req"> + <arg choice="plain"><option>-e</option></arg> + <arg choice="plain"><option>--example</option></arg> + </group> + <replaceable class="option">this</replaceable> + </arg> + <arg choice="opt"> + <group choice="req"> + <arg choice="plain"><option>-e</option></arg> + <arg choice="plain"><option>--example</option></arg> + </group> + <group choice="req"> + <arg choice="plain"><replaceable>this</replaceable></arg> + <arg choice="plain"><replaceable>that</replaceable></arg> + </group> + </arg> + </cmdsynopsis> + <cmdsynopsis> + <command>&dhpackage;</command> + <!-- Normally the help and version options make the programs stop + right after outputting the requested information. --> + <group choice="opt"> + <arg choice="plain"> + <group choice="req"> + <arg choice="plain"><option>-h</option></arg> + <arg choice="plain"><option>--help</option></arg> + </group> + </arg> + <arg choice="plain"> + <group choice="req"> + <arg choice="plain"><option>-v</option></arg> + <arg choice="plain"><option>--version</option></arg> + </group> + </arg> + </group> + </cmdsynopsis> + </refsynopsisdiv> + <refsect1 id="description"> + <title>DESCRIPTION</title> + <para>This manual page documents briefly the + <command>&dhpackage;</command> and <command>bar</command> + commands.</para> + <para>This manual page was written for the Debian distribution + because the original program does not have a manual page. + Instead, it has documentation in the GNU <citerefentry> + <refentrytitle>info</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> format; see below.</para> + <para><command>&dhpackage;</command> is a program that...</para> + </refsect1> + <refsect1 id="options"> + <title>OPTIONS</title> + <para>The program follows the usual GNU command line syntax, + with long options starting with two dashes (`-'). A summary of + options is included below. For a complete description, see the + <citerefentry> + <refentrytitle>info</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> files.</para> + <variablelist> + <!-- Use the variablelist.term.separator and the + variablelist.term.break.after parameters to + control the term elements. --> + <varlistentry> + <term><option>-e <replaceable>this</replaceable></option></term> + <term><option>--example=<replaceable>that</replaceable></option></term> + <listitem> + <para>Does this and that.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><option>-h</option></term> + <term><option>--help</option></term> + <listitem> + <para>Show summary of options.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><option>-v</option></term> + <term><option>--version</option></term> + <listitem> + <para>Show version of program.</para> + </listitem> + </varlistentry> + </variablelist> + </refsect1> + <refsect1 id="files"> + <title>FILES</title> + <variablelist> + <varlistentry> + <term><filename>/etc/foo.conf</filename></term> + <listitem> + <para>The system-wide configuration file to control the + behaviour of <application>&dhpackage;</application>. See + <citerefentry> + <refentrytitle>foo.conf</refentrytitle> + <manvolnum>5</manvolnum> + </citerefentry> for further details.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><filename>${HOME}/.foo.conf</filename></term> + <listitem> + <para>The per-user configuration file to control the + behaviour of <application>&dhpackage;</application>. See + <citerefentry> + <refentrytitle>foo.conf</refentrytitle> + <manvolnum>5</manvolnum> + </citerefentry> for further details.</para> + </listitem> + </varlistentry> + </variablelist> + </refsect1> + <refsect1 id="environment"> + <title>ENVIONMENT</title> + <variablelist> + <varlistentry> + <term><envar>FOO_CONF</envar></term> + <listitem> + <para>If used, the defined file is used as configuration + file (see also <xref linkend="files"/>).</para> + </listitem> + </varlistentry> + </variablelist> + </refsect1> + <refsect1 id="diagnostics"> + <title>DIAGNOSTICS</title> + <para>The following diagnostics may be issued + on <filename class="devicefile">stderr</filename>:</para> + <variablelist> + <varlistentry> + <term><errortext>Bad configuration file. Exiting.</errortext></term> + <listitem> + <para>The configuration file seems to contain a broken configuration + line. Use the <option>--verbose</option> option, to get more info. + </para> + </listitem> + </varlistentry> + </variablelist> + <para><command>&dhpackage;</command> provides some return codes, that can + be used in scripts:</para> + <segmentedlist> + <segtitle>Code</segtitle> + <segtitle>Diagnostic</segtitle> + <seglistitem> + <seg><errorcode>0</errorcode></seg> + <seg>Program exited successfully.</seg> + </seglistitem> + <seglistitem> + <seg><errorcode>1</errorcode></seg> + <seg>The configuration file seems to be broken.</seg> + </seglistitem> + </segmentedlist> + </refsect1> + <refsect1 id="bugs"> + <!-- Or use this section to tell about upstream BTS. --> + <title>BUGS</title> + <para>The program is currently limited to only work + with the <package>foobar</package> library.</para> + <para>The upstreams <acronym>BTS</acronym> can be found + at <ulink url="http://bugzilla.foo.tld"/>.</para> + </refsect1> + <refsect1 id="see_also"> + <title>SEE ALSO</title> + <!-- In alpabetical order. --> + <para><citerefentry> + <refentrytitle>bar</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry>, <citerefentry> + <refentrytitle>baz</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry>, <citerefentry> + <refentrytitle>foo.conf</refentrytitle> + <manvolnum>5</manvolnum> + </citerefentry></para> + <para>The programs are documented fully by <citetitle>The Rise and + Fall of a Fooish Bar</citetitle> available via the <citerefentry> + <refentrytitle>info</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> system.</para> + </refsect1> +</refentry> + diff --git a/jsonschema-0.6/debian/menu.ex b/jsonschema-0.6/debian/menu.ex new file mode 100644 index 0000000..6d7e56d --- /dev/null +++ b/jsonschema-0.6/debian/menu.ex @@ -0,0 +1,2 @@ +?package(python-jsonschema):needs="X11|text|vc|wm" section="Applications/see-menu-manual"\ + title="python-jsonschema" command="/usr/bin/python-jsonschema" diff --git a/jsonschema-0.6/debian/postinst.ex b/jsonschema-0.6/debian/postinst.ex new file mode 100644 index 0000000..445e986 --- /dev/null +++ b/jsonschema-0.6/debian/postinst.ex @@ -0,0 +1,39 @@ +#!/bin/sh +# postinst script for python-jsonschema +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <postinst> `configure' <most-recently-configured-version> +# * <old-postinst> `abort-upgrade' <new version> +# * <conflictor's-postinst> `abort-remove' `in-favour' <package> +# <new-version> +# * <postinst> `abort-remove' +# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' +# <failed-install-package> <version> `removing' +# <conflicting-package> <version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/jsonschema-0.6/debian/postrm.ex b/jsonschema-0.6/debian/postrm.ex new file mode 100644 index 0000000..f5a6373 --- /dev/null +++ b/jsonschema-0.6/debian/postrm.ex @@ -0,0 +1,37 @@ +#!/bin/sh +# postrm script for python-jsonschema +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <postrm> `remove' +# * <postrm> `purge' +# * <old-postrm> `upgrade' <new-version> +# * <new-postrm> `failed-upgrade' <old-version> +# * <new-postrm> `abort-install' +# * <new-postrm> `abort-install' <old-version> +# * <new-postrm> `abort-upgrade' <old-version> +# * <disappearer's-postrm> `disappear' <overwriter> +# <overwriter-version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/jsonschema-0.6/debian/preinst.ex b/jsonschema-0.6/debian/preinst.ex new file mode 100644 index 0000000..26c64f8 --- /dev/null +++ b/jsonschema-0.6/debian/preinst.ex @@ -0,0 +1,35 @@ +#!/bin/sh +# preinst script for python-jsonschema +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <new-preinst> `install' +# * <new-preinst> `install' <old-version> +# * <new-preinst> `upgrade' <old-version> +# * <old-preinst> `abort-upgrade' <new-version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + install|upgrade) + ;; + + abort-upgrade) + ;; + + *) + echo "preinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/jsonschema-0.6/debian/prerm.ex b/jsonschema-0.6/debian/prerm.ex new file mode 100644 index 0000000..19725fe --- /dev/null +++ b/jsonschema-0.6/debian/prerm.ex @@ -0,0 +1,38 @@ +#!/bin/sh +# prerm script for python-jsonschema +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <prerm> `remove' +# * <old-prerm> `upgrade' <new-version> +# * <new-prerm> `failed-upgrade' <old-version> +# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version> +# * <deconfigured's-prerm> `deconfigure' `in-favour' +# <package-being-installed> <version> `removing' +# <conflicting-package> <version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|upgrade|deconfigure) + ;; + + failed-upgrade) + ;; + + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/jsonschema-0.6/debian/python-jsonschema.cron.d.ex b/jsonschema-0.6/debian/python-jsonschema.cron.d.ex new file mode 100644 index 0000000..c51b78f --- /dev/null +++ b/jsonschema-0.6/debian/python-jsonschema.cron.d.ex @@ -0,0 +1,4 @@ +# +# Regular cron jobs for the python-jsonschema package +# +0 4 * * * root [ -x /usr/bin/python-jsonschema_maintenance ] && /usr/bin/python-jsonschema_maintenance diff --git a/jsonschema-0.6/debian/python-jsonschema.debhelper.log b/jsonschema-0.6/debian/python-jsonschema.debhelper.log new file mode 100644 index 0000000..2d06fcd --- /dev/null +++ b/jsonschema-0.6/debian/python-jsonschema.debhelper.log @@ -0,0 +1,45 @@ +dh_auto_configure +dh_auto_build +dh_auto_test +dh_prep +dh_installdirs +dh_auto_install +dh_install +dh_installdocs +dh_installchangelogs +dh_installexamples +dh_installman +dh_installcatalogs +dh_installcron +dh_installdebconf +dh_installemacsen +dh_installifupdown +dh_installinfo +dh_pysupport +dh_installinit +dh_installmenu +dh_installmime +dh_installmodules +dh_installlogcheck +dh_installlogrotate +dh_installpam +dh_installppp +dh_installudev +dh_installwm +dh_installxfonts +dh_bugfiles +dh_lintian +dh_gconf +dh_icons +dh_perl +dh_usrlocal +dh_link +dh_compress +dh_fixperms +dh_strip +dh_makeshlibs +dh_shlibdeps +dh_installdeb +dh_gencontrol +dh_md5sums +dh_builddeb diff --git a/jsonschema-0.6/debian/python-jsonschema.default.ex b/jsonschema-0.6/debian/python-jsonschema.default.ex new file mode 100644 index 0000000..cbabd06 --- /dev/null +++ b/jsonschema-0.6/debian/python-jsonschema.default.ex @@ -0,0 +1,10 @@ +# Defaults for python-jsonschema initscript +# sourced by /etc/init.d/python-jsonschema +# installed at /etc/default/python-jsonschema by the maintainer scripts + +# +# This is a POSIX shell fragment +# + +# Additional options that are passed to the Daemon. +DAEMON_OPTS="" diff --git a/jsonschema-0.6/debian/python-jsonschema.doc-base.EX b/jsonschema-0.6/debian/python-jsonschema.doc-base.EX new file mode 100644 index 0000000..60692d2 --- /dev/null +++ b/jsonschema-0.6/debian/python-jsonschema.doc-base.EX @@ -0,0 +1,20 @@ +Document: python-jsonschema +Title: Debian python-jsonschema Manual +Author: <insert document author here> +Abstract: This manual describes what python-jsonschema is + and how it can be used to + manage online manuals on Debian systems. +Section: unknown + +Format: debiandoc-sgml +Files: /usr/share/doc/python-jsonschema/python-jsonschema.sgml.gz + +Format: postscript +Files: /usr/share/doc/python-jsonschema/python-jsonschema.ps.gz + +Format: text +Files: /usr/share/doc/python-jsonschema/python-jsonschema.text.gz + +Format: HTML +Index: /usr/share/doc/python-jsonschema/html/index.html +Files: /usr/share/doc/python-jsonschema/html/*.html diff --git a/jsonschema-0.6/debian/python-jsonschema.postinst.debhelper b/jsonschema-0.6/debian/python-jsonschema.postinst.debhelper new file mode 100644 index 0000000..07ec4f3 --- /dev/null +++ b/jsonschema-0.6/debian/python-jsonschema.postinst.debhelper @@ -0,0 +1,5 @@ +# Automatically added by dh_pysupport +if which update-python-modules >/dev/null 2>&1; then + update-python-modules python-jsonschema.public +fi +# End automatically added section diff --git a/jsonschema-0.6/debian/python-jsonschema.prerm.debhelper b/jsonschema-0.6/debian/python-jsonschema.prerm.debhelper new file mode 100644 index 0000000..e51b2a1 --- /dev/null +++ b/jsonschema-0.6/debian/python-jsonschema.prerm.debhelper @@ -0,0 +1,5 @@ +# Automatically added by dh_pysupport +if which update-python-modules >/dev/null 2>&1; then + update-python-modules -c python-jsonschema.public +fi +# End automatically added section diff --git a/jsonschema-0.6/debian/python-jsonschema.substvars b/jsonschema-0.6/debian/python-jsonschema.substvars new file mode 100644 index 0000000..9241abb --- /dev/null +++ b/jsonschema-0.6/debian/python-jsonschema.substvars @@ -0,0 +1,4 @@ +python:Versions=2.6 +python:Provides=python2.6-jsonschema +python:Depends=python (>= 2.6), python-support (>= 0.90.0) +misc:Depends= diff --git a/jsonschema-0.6/debian/python-jsonschema/DEBIAN/control b/jsonschema-0.6/debian/python-jsonschema/DEBIAN/control new file mode 100644 index 0000000..548bcf5 --- /dev/null +++ b/jsonschema-0.6/debian/python-jsonschema/DEBIAN/control @@ -0,0 +1,12 @@ +Package: python-jsonschema +Version: 0.6-1 +Architecture: all +Maintainer: Kristina Clair <kclair@leap.se> +Installed-Size: 92 +Depends: python (>= 2.6), python-support (>= 0.90.0) +Section: python +Priority: optional +Homepage: http://pypi.python.org/pypi/jsonschema +Description: Provides the jsonschema python package + Provides the jsonschema python package, + which is an implementation of JSON Schema for python. diff --git a/jsonschema-0.6/debian/python-jsonschema/DEBIAN/md5sums b/jsonschema-0.6/debian/python-jsonschema/DEBIAN/md5sums new file mode 100644 index 0000000..467f834 --- /dev/null +++ b/jsonschema-0.6/debian/python-jsonschema/DEBIAN/md5sums @@ -0,0 +1,7 @@ +39440ee04f8451db46af9b324e36bf60 usr/share/doc/python-jsonschema/README.Debian +96fe96b300c2eed023c601be503a78aa usr/share/doc/python-jsonschema/README.rst +925e05fb5e93ec64cdd5d7dd696b8c70 usr/share/doc/python-jsonschema/changelog.Debian.gz +705bc94b94d9a542833c37c0cc1a6728 usr/share/doc/python-jsonschema/copyright +26722d006c9bc3cb6956939886478e13 usr/share/pyshared/jsonschema-0.6.egg-info +6fd447dc9ac61fb54314443a6f8b60d5 usr/share/pyshared/jsonschema.py +cf99d8fd284d97fac533d1caf10b1c59 usr/share/python-support/python-jsonschema.public diff --git a/jsonschema-0.6/debian/python-jsonschema/DEBIAN/postinst b/jsonschema-0.6/debian/python-jsonschema/DEBIAN/postinst new file mode 100755 index 0000000..5be270c --- /dev/null +++ b/jsonschema-0.6/debian/python-jsonschema/DEBIAN/postinst @@ -0,0 +1,7 @@ +#!/bin/sh +set -e +# Automatically added by dh_pysupport +if which update-python-modules >/dev/null 2>&1; then + update-python-modules python-jsonschema.public +fi +# End automatically added section diff --git a/jsonschema-0.6/debian/python-jsonschema/DEBIAN/prerm b/jsonschema-0.6/debian/python-jsonschema/DEBIAN/prerm new file mode 100755 index 0000000..bf381c4 --- /dev/null +++ b/jsonschema-0.6/debian/python-jsonschema/DEBIAN/prerm @@ -0,0 +1,7 @@ +#!/bin/sh +set -e +# Automatically added by dh_pysupport +if which update-python-modules >/dev/null 2>&1; then + update-python-modules -c python-jsonschema.public +fi +# End automatically added section diff --git a/jsonschema-0.6/debian/python-jsonschema/usr/share/doc/python-jsonschema/README.Debian b/jsonschema-0.6/debian/python-jsonschema/usr/share/doc/python-jsonschema/README.Debian new file mode 100644 index 0000000..7dd7563 --- /dev/null +++ b/jsonschema-0.6/debian/python-jsonschema/usr/share/doc/python-jsonschema/README.Debian @@ -0,0 +1,6 @@ +python-jsonschema for Debian +---------------------------- + +<possible notes regarding this package - if none, delete this file> + + -- Kristina Clair <kclair@leap.se> Wed, 03 Oct 2012 11:34:56 -0700 diff --git a/jsonschema-0.6/debian/python-jsonschema/usr/share/doc/python-jsonschema/README.rst b/jsonschema-0.6/debian/python-jsonschema/usr/share/doc/python-jsonschema/README.rst new file mode 100644 index 0000000..28e0451 --- /dev/null +++ b/jsonschema-0.6/debian/python-jsonschema/usr/share/doc/python-jsonschema/README.rst @@ -0,0 +1,135 @@ +========== +jsonschema +========== + +``jsonschema`` is an implementation of JSON Schema (currently in `Draft 3 +<http://tools.ietf.org/html/draft-zyp-json-schema-03>`_) for Python (supporting +2.6+ including Python 3). + +:: + + >>> from jsonschema import validate + + >>> # A sample schema, like what we'd get from json.load() + >>> schema = { + ... "type" : "object", + ... "properties" : { + ... "price" : {"type" : "number"}, + ... "name" : {"type" : "string"}, + ... }, + ... } + + >>> # If no exception is raised by validate(), the instance is valid. + >>> validate({"name" : "Eggs", "price" : 34.99}, schema) + + >>> validate( + ... {"name" : "Eggs", "price" : "Invalid"}, schema + ... ) # doctest: +IGNORE_EXCEPTION_DETAIL + Traceback (most recent call last): + ... + ValidationError: 'Invalid' is not of type 'number' + + +Features +-------- + +* Support for Draft 3 of the Schema with the exception of + + * ``$ref``, and ``extends`` that use ``$ref``\s + +* Lazy validation that can iteratively report *all* validation errors. + +:: + + >>> from jsonschema import Validator + >>> schema = { + ... "type" : "array", + ... "items" : {"enum" : [1, 2, 3]}, + ... "maxItems" : 2, + ... } + >>> v = Validator() + >>> for error in sorted(v.iter_errors([2, 3, 4], schema), key=str): + ... print(error) + 4 is not one of [1, 2, 3] + [2, 3, 4] is too long + +* Small and extensible + +* Programmatic querying of which properties or items failed validation. + +:: + + >>> from jsonschema import ErrorTree, Validator + >>> schema = { + ... "type" : "array", + ... "items" : {"type" : "number", "enum" : [1, 2, 3]}, + ... "minItems" : 3, + ... } + >>> instance = ["spam", 2] + >>> v = Validator() + >>> tree = ErrorTree(v.iter_errors(instance, schema)) + + >>> sorted(tree.errors) + ['minItems'] + + >>> 0 in tree + True + + >>> 1 in tree + False + + >>> sorted(tree[0].errors) + ['enum', 'type'] + + >>> print(tree[0].errors["type"].message) + 'spam' is not of type 'number' + + +Schema Versioning +----------------- + +JSON Schema is, at the time of this writing, seemingly at Draft 3, with +preparations for Draft 4 underway. The ``Validator`` class and ``validate`` +function take a ``version`` argument that you can use to specify what version +of the Schema you are validating under. + +As of right now, Draft 3 (``jsonschema.DRAFT_3``) is the only supported +version, and the default when validating. Whether it will remain the default +version in the future when it is superceeded is undecided, so if you want to be +safe, *explicitly* declare which version to use when validating. + + +Release Notes +------------- + +``0.6`` fixes the behavior for the ``dependencies`` property, which was +mis-implemented. + + +Running the Test Suite +---------------------- + +``jsonschema`` uses the wonderful `Tox <http://tox.readthedocs.org>`_ for its +test suite. (It really is wonderful, if for some reason you haven't heard of +it, you really should use it for your projects). + +Assuming you have ``tox`` installed (perhaps via ``pip install tox`` or your +package manager), just run ``tox`` in the directory of your source checkout to +run ``jsonschema``'s test suite on all of the versions of Python ``jsonschema`` +supports. Note that you'll need to have all of those versions installed in +order to run the tests on each of them, otherwise ``tox`` will skip (and fail) +the tests on that version. + + +Contributing +------------ + +I'm Julian Berman. + +``jsonschema`` is on `GitHub <http://github.com/Julian/jsonschema>`_. + +Get in touch, via GitHub or otherwise, if you've got something to contribute, +it'd be most welcome! + +You can also generally find me on Freenode (nick: ``tos9``) in various +channels, including ``#python``. diff --git a/jsonschema-0.6/debian/python-jsonschema/usr/share/doc/python-jsonschema/changelog.Debian.gz b/jsonschema-0.6/debian/python-jsonschema/usr/share/doc/python-jsonschema/changelog.Debian.gz Binary files differnew file mode 100644 index 0000000..5617af4 --- /dev/null +++ b/jsonschema-0.6/debian/python-jsonschema/usr/share/doc/python-jsonschema/changelog.Debian.gz diff --git a/jsonschema-0.6/debian/python-jsonschema/usr/share/doc/python-jsonschema/copyright b/jsonschema-0.6/debian/python-jsonschema/usr/share/doc/python-jsonschema/copyright new file mode 100644 index 0000000..e483d9c --- /dev/null +++ b/jsonschema-0.6/debian/python-jsonschema/usr/share/doc/python-jsonschema/copyright @@ -0,0 +1,42 @@ +This work was packaged for Debian by: + + Kristina Clair <kclair@leap.se> on Tue, 02 Oct 2012 22:53:20 -0700 + +It was downloaded from: + + http://pypi.python.org/packages/source/j/jsonschema/jsonschema-0.6.tar.gz + +Upstream Author(s): + + Julian Berman + +Copyright: + + Copyright (c) 2011 Julian Berman + +License: + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +The Debian packaging is: + + Copyright (C) 2012 Kristina Clair <kclair@leap.se> + + and is licensed under the GPL version 3, + see "/usr/share/common-licenses/GPL-3". diff --git a/jsonschema-0.6/debian/python-jsonschema/usr/share/pyshared/jsonschema-0.6.egg-info b/jsonschema-0.6/debian/python-jsonschema/usr/share/pyshared/jsonschema-0.6.egg-info new file mode 100644 index 0000000..3e98e17 --- /dev/null +++ b/jsonschema-0.6/debian/python-jsonschema/usr/share/pyshared/jsonschema-0.6.egg-info @@ -0,0 +1,158 @@ +Metadata-Version: 1.0 +Name: jsonschema +Version: 0.6 +Summary: An implementation of JSON-Schema validation for Python +Home-page: http://github.com/Julian/jsonschema +Author: Julian Berman +Author-email: Julian@GrayVines.com +License: MIT/X +Description: ========== + jsonschema + ========== + + ``jsonschema`` is an implementation of JSON Schema (currently in `Draft 3 + <http://tools.ietf.org/html/draft-zyp-json-schema-03>`_) for Python (supporting + 2.6+ including Python 3). + + :: + + >>> from jsonschema import validate + + >>> # A sample schema, like what we'd get from json.load() + >>> schema = { + ... "type" : "object", + ... "properties" : { + ... "price" : {"type" : "number"}, + ... "name" : {"type" : "string"}, + ... }, + ... } + + >>> # If no exception is raised by validate(), the instance is valid. + >>> validate({"name" : "Eggs", "price" : 34.99}, schema) + + >>> validate( + ... {"name" : "Eggs", "price" : "Invalid"}, schema + ... ) # doctest: +IGNORE_EXCEPTION_DETAIL + Traceback (most recent call last): + ... + ValidationError: 'Invalid' is not of type 'number' + + + Features + -------- + + * Support for Draft 3 of the Schema with the exception of + + * ``$ref``, and ``extends`` that use ``$ref``\s + + * Lazy validation that can iteratively report *all* validation errors. + + :: + + >>> from jsonschema import Validator + >>> schema = { + ... "type" : "array", + ... "items" : {"enum" : [1, 2, 3]}, + ... "maxItems" : 2, + ... } + >>> v = Validator() + >>> for error in sorted(v.iter_errors([2, 3, 4], schema), key=str): + ... print(error) + 4 is not one of [1, 2, 3] + [2, 3, 4] is too long + + * Small and extensible + + * Programmatic querying of which properties or items failed validation. + + :: + + >>> from jsonschema import ErrorTree, Validator + >>> schema = { + ... "type" : "array", + ... "items" : {"type" : "number", "enum" : [1, 2, 3]}, + ... "minItems" : 3, + ... } + >>> instance = ["spam", 2] + >>> v = Validator() + >>> tree = ErrorTree(v.iter_errors(instance, schema)) + + >>> sorted(tree.errors) + ['minItems'] + + >>> 0 in tree + True + + >>> 1 in tree + False + + >>> sorted(tree[0].errors) + ['enum', 'type'] + + >>> print(tree[0].errors["type"].message) + 'spam' is not of type 'number' + + + Schema Versioning + ----------------- + + JSON Schema is, at the time of this writing, seemingly at Draft 3, with + preparations for Draft 4 underway. The ``Validator`` class and ``validate`` + function take a ``version`` argument that you can use to specify what version + of the Schema you are validating under. + + As of right now, Draft 3 (``jsonschema.DRAFT_3``) is the only supported + version, and the default when validating. Whether it will remain the default + version in the future when it is superceeded is undecided, so if you want to be + safe, *explicitly* declare which version to use when validating. + + + Release Notes + ------------- + + ``0.6`` fixes the behavior for the ``dependencies`` property, which was + mis-implemented. + + + Running the Test Suite + ---------------------- + + ``jsonschema`` uses the wonderful `Tox <http://tox.readthedocs.org>`_ for its + test suite. (It really is wonderful, if for some reason you haven't heard of + it, you really should use it for your projects). + + Assuming you have ``tox`` installed (perhaps via ``pip install tox`` or your + package manager), just run ``tox`` in the directory of your source checkout to + run ``jsonschema``'s test suite on all of the versions of Python ``jsonschema`` + supports. Note that you'll need to have all of those versions installed in + order to run the tests on each of them, otherwise ``tox`` will skip (and fail) + the tests on that version. + + + Contributing + ------------ + + I'm Julian Berman. + + ``jsonschema`` is on `GitHub <http://github.com/Julian/jsonschema>`_. + + Get in touch, via GitHub or otherwise, if you've got something to contribute, + it'd be most welcome! + + You can also generally find me on Freenode (nick: ``tos9``) in various + channels, including ``#python``. + +Platform: UNKNOWN +Classifier: Development Status :: 3 - Alpha +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.6 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.1 +Classifier: Programming Language :: Python :: 3.2 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy diff --git a/jsonschema-0.6/debian/python-jsonschema/usr/share/pyshared/jsonschema.py b/jsonschema-0.6/debian/python-jsonschema/usr/share/pyshared/jsonschema.py new file mode 100644 index 0000000..9910c84 --- /dev/null +++ b/jsonschema-0.6/debian/python-jsonschema/usr/share/pyshared/jsonschema.py @@ -0,0 +1,658 @@ +""" +An implementation of JSON Schema for Python + +The main functionality is provided by the :class:`Validator` class, with the +:function:`validate` function being the most common way to quickly create a +:class:`Validator` object and validate an instance with a given schema. + +The :class:`Validator` class generally attempts to be as strict as possible +under the JSON Schema specification. See its docstring for details. + +""" + +from __future__ import division, unicode_literals + +import collections +import itertools +import operator +import re +import sys +import warnings + + +PY3 = sys.version_info[0] >= 3 + +if PY3: + basestring = unicode = str + iteritems = operator.methodcaller("items") +else: + from itertools import izip as zip + iteritems = operator.methodcaller("iteritems") + + +def _uniq(container): + """ + Check if all of a container's elements are unique. + + Successively tries first to rely that the elements are hashable, then + falls back on them being sortable, and finally falls back on brute + force. + + """ + + try: + return len(set(container)) == len(container) + except TypeError: + try: + sort = sorted(container) + sliced = itertools.islice(container, 1, None) + for i, j in zip(container, sliced): + if i == j: + return False + except (NotImplementedError, TypeError): + seen = [] + for e in container: + if e in seen: + return False + seen.append(e) + return True + + +__version__ = "0.6" + + +DRAFT_3 = { + "$schema" : "http://json-schema.org/draft-03/schema#", + "id" : "http://json-schema.org/draft-03/schema#", + "type" : "object", + + "properties" : { + "type" : { + "type" : ["string", "array"], + "items" : {"type" : ["string", {"$ref" : "#"}]}, + "uniqueItems" : True, + "default" : "any" + }, + "properties" : { + "type" : "object", + "additionalProperties" : {"$ref" : "#", "type": "object"}, + "default" : {} + }, + "patternProperties" : { + "type" : "object", + "additionalProperties" : {"$ref" : "#"}, + "default" : {} + }, + "additionalProperties" : { + "type" : [{"$ref" : "#"}, "boolean"], "default" : {} + }, + "items" : { + "type" : [{"$ref" : "#"}, "array"], + "items" : {"$ref" : "#"}, + "default" : {} + }, + "additionalItems" : { + "type" : [{"$ref" : "#"}, "boolean"], "default" : {} + }, + "required" : {"type" : "boolean", "default" : False}, + "dependencies" : { + "type" : ["string", "array", "object"], + "additionalProperties" : { + "type" : ["string", "array", {"$ref" : "#"}], + "items" : {"type" : "string"} + }, + "default" : {} + }, + "minimum" : {"type" : "number"}, + "maximum" : {"type" : "number"}, + "exclusiveMinimum" : {"type" : "boolean", "default" : False}, + "exclusiveMaximum" : {"type" : "boolean", "default" : False}, + "minItems" : {"type" : "integer", "minimum" : 0, "default" : 0}, + "maxItems" : {"type" : "integer", "minimum" : 0}, + "uniqueItems" : {"type" : "boolean", "default" : False}, + "pattern" : {"type" : "string", "format" : "regex"}, + "minLength" : {"type" : "integer", "minimum" : 0, "default" : 0}, + "maxLength" : {"type" : "integer"}, + "enum" : {"type" : "array", "minItems" : 1, "uniqueItems" : True}, + "default" : {"type" : "any"}, + "title" : {"type" : "string"}, + "description" : {"type" : "string"}, + "format" : {"type" : "string"}, + "maxDecimal" : {"type" : "number", "minimum" : 0}, + "divisibleBy" : { + "type" : "number", + "minimum" : 0, + "exclusiveMinimum" : True, + "default" : 1 + }, + "disallow" : { + "type" : ["string", "array"], + "items" : {"type" : ["string", {"$ref" : "#"}]}, + "uniqueItems" : True + }, + "extends" : { + "type" : [{"$ref" : "#"}, "array"], + "items" : {"$ref" : "#"}, + "default" : {} + }, + "id" : {"type" : "string", "format" : "uri"}, + "$ref" : {"type" : "string", "format" : "uri"}, + "$schema" : {"type" : "string", "format" : "uri"}, + }, + "dependencies" : { + "exclusiveMinimum" : "minimum", "exclusiveMaximum" : "maximum" + }, +} + +EPSILON = 10 ** -15 + + +class SchemaError(Exception): + """ + The provided schema is malformed. + + The same attributes exist for ``SchemaError``s as for ``ValidationError``s. + + """ + + validator = None + + def __init__(self, message): + super(SchemaError, self).__init__(message) + self.message = message + self.path = [] + + +class ValidationError(Exception): + """ + The instance didn't properly validate with the provided schema. + + Relevant attributes are: + * ``message`` : a human readable message explaining the error + * ``path`` : a list containing the path to the offending element (or [] + if the error happened globally) in *reverse* order (i.e. + deepest index first). + + """ + + # the failing validator will be set externally at whatever recursion level + # is immediately above the validation failure + validator = None + + def __init__(self, message): + super(ValidationError, self).__init__(message) + self.message = message + + # Any validator that recurses must append to the ValidationError's + # path (e.g., properties and items) + self.path = [] + + +class Validator(object): + """ + A JSON Schema validator. + + """ + + DEFAULT_TYPES = { + "array" : list, "boolean" : bool, "integer" : int, "null" : type(None), + "number" : (int, float), "object" : dict, "string" : basestring, + } + + def __init__( + self, version=DRAFT_3, unknown_type="skip", + unknown_property="skip", types=(), + ): + """ + Initialize a Validator. + + ``version`` specifies which version of the JSON Schema specification to + validate with. Currently only draft-03 is supported (and is the + default). + + ``unknown_type`` and ``unknown_property`` control what to do when an + unknown type (resp. property) is encountered. By default, the + metaschema is respected (which e.g. for draft 3 allows a schema to have + additional properties), but if for some reason you want to modify this + behavior, you can do so without needing to modify the metaschema by + passing ``"error"`` or ``"warn"`` to these arguments. + + ``types`` is a mapping (or iterable of 2-tuples) containing additional + types or alternate types to verify via the 'type' property. For + instance, the default types for the 'number' JSON Schema type are + ``int`` and ``float``. To override this behavior (e.g. for also + allowing ``decimal.Decimal``), pass ``types={"number" : (int, float, + decimal.Decimal)} *including* the default types if so desired, which + are fairly obvious but can be accessed via ``Validator.DEFAULT_TYPES`` + if necessary. + + """ + + self._unknown_type = unknown_type + self._unknown_property = unknown_property + self._version = version + + self._types = dict(self.DEFAULT_TYPES) + self._types.update(types) + self._types["any"] = tuple(self._types.values()) + + def is_type(self, instance, type): + """ + Check if an ``instance`` is of the provided ``type``. + + """ + + py_type = self._types.get(type) + + if py_type is None: + return self.schema_error( + self._unknown_type, "%r is not a known type" % (type,) + ) + + # the only thing we're careful about here is evading bool inheriting + # from int, so let's be even dirtier than usual + + elif ( + # it's not a bool, so no worries + not isinstance(instance, bool) or + + # it is a bool, but we're checking for a bool, so no worries + ( + py_type is bool or + isinstance(py_type, tuple) and bool in py_type + ) + + ): + return isinstance(instance, py_type) + + def schema_error(self, level, msg): + if level == "skip": + return + elif level == "warn": + warnings.warn(msg) + else: + raise SchemaError(msg) + + def is_valid(self, instance, schema, meta_validate=True): + """ + Check if the ``instance`` is valid under the ``schema``. + + Returns a bool indicating whether validation succeeded. + + """ + + error = next(self.iter_errors(instance, schema, meta_validate), None) + return error is None + + def iter_errors(self, instance, schema, meta_validate=True): + """ + Lazily yield each of the errors in the given ``instance``. + + If you are unsure whether your schema itself is valid, + ``meta_validate`` will first validate that the schema is valid before + attempting to validate the instance. ``meta_validate`` is ``True`` by + default, since setting it to ``False`` can lead to confusing error + messages with an invalid schema. If you're sure your schema is in fact + valid, or don't care, feel free to set this to ``False``. The meta + validation will be done using the appropriate ``version``. + + """ + + if meta_validate: + for error in self.iter_errors( + schema, self._version, meta_validate=False + ): + s = SchemaError(error.message) + s.path = error.path + s.validator = error.validator + # I think we're safer raising these always, not yielding them + raise s + + for k, v in iteritems(schema): + validator = getattr(self, "validate_%s" % (k.lstrip("$"),), None) + + if validator is None: + errors = self.unknown_property(k, instance, schema) + else: + errors = validator(v, instance, schema) + + for error in errors or (): + # if the validator hasn't already been set (due to recursion) + # make sure to set it + error.validator = error.validator or k + yield error + + def validate(self, *args, **kwargs): + """ + Validate an ``instance`` under the given ``schema``. + + """ + + for error in self.iter_errors(*args, **kwargs): + raise error + + def unknown_property(self, property, instance, schema): + self.schema_error( + self._unknown_property, + "%r is not a known schema property" % (property,) + ) + + def validate_type(self, types, instance, schema): + types = _list(types) + + for type in types: + # Ouch. Brain hurts. Two paths here, either we have a schema, then + # check if the instance is valid under it + if (( + self.is_type(type, "object") and + self.is_valid(instance, type) + + # Or we have a type as a string, just check if the instance is that + # type. Also, HACK: we can reach the `or` here if skip_types is + # something other than error. If so, bail out. + + ) or ( + self.is_type(type, "string") and + (self.is_type(instance, type) or type not in self._types) + )): + return + else: + yield ValidationError( + "%r is not of type %r" % (instance, _delist(types)) + ) + + def validate_properties(self, properties, instance, schema): + if not self.is_type(instance, "object"): + return + + for property, subschema in iteritems(properties): + if property in instance: + for error in self.iter_errors( + instance[property], subschema, meta_validate=False + ): + error.path.append(property) + yield error + elif subschema.get("required", False): + error = ValidationError( + "%r is a required property" % (property,) + ) + error.path.append(property) + error.validator = "required" + yield error + + def validate_patternProperties(self, patternProperties, instance, schema): + for pattern, subschema in iteritems(patternProperties): + for k, v in iteritems(instance): + if re.match(pattern, k): + for error in self.iter_errors( + v, subschema, meta_validate=False + ): + yield error + + def validate_additionalProperties(self, aP, instance, schema): + if not self.is_type(instance, "object"): + return + + # no viewkeys in <2.7, and pypy seems to fail on vk - vk anyhow, so... + extras = set(instance) - set(schema.get("properties", {})) + + if self.is_type(aP, "object"): + for extra in extras: + for error in self.iter_errors( + instance[extra], aP, meta_validate=False + ): + yield error + elif not aP and extras: + error = "Additional properties are not allowed (%s %s unexpected)" + yield ValidationError(error % _extras_msg(extras)) + + def validate_dependencies(self, dependencies, instance, schema): + for property, dependency in iteritems(dependencies): + if property not in instance: + continue + + if self.is_type(dependency, "object"): + for error in self.iter_errors( + instance, dependency, meta_validate=False + ): + yield error + else: + dependencies = _list(dependency) + for dependency in dependencies: + if dependency not in instance: + yield ValidationError( + "%r is a dependency of %r" % (dependency, property) + ) + + def validate_items(self, items, instance, schema): + if not self.is_type(instance, "array"): + return + + if self.is_type(items, "object"): + for index, item in enumerate(instance): + for error in self.iter_errors( + item, items, meta_validate=False + ): + error.path.append(index) + yield error + else: + for (index, item), subschema in zip(enumerate(instance), items): + for error in self.iter_errors( + item, subschema, meta_validate=False + ): + error.path.append(index) + yield error + + def validate_additionalItems(self, aI, instance, schema): + if not self.is_type(instance, "array"): + return + + if self.is_type(aI, "object"): + for item in instance[len(schema):]: + for error in self.iter_errors(item, aI, meta_validate=False): + yield error + elif not aI and len(instance) > len(schema.get("items", [])): + error = "Additional items are not allowed (%s %s unexpected)" + yield ValidationError( + error % _extras_msg(instance[len(schema) - 1:]) + ) + + def validate_minimum(self, minimum, instance, schema): + if not self.is_type(instance, "number"): + return + + instance = float(instance) + if schema.get("exclusiveMinimum", False): + failed = instance <= minimum + cmp = "less than or equal to" + else: + failed = instance < minimum + cmp = "less than" + + if failed: + yield ValidationError( + "%r is %s the minimum of %r" % (instance, cmp, minimum) + ) + + def validate_maximum(self, maximum, instance, schema): + if not self.is_type(instance, "number"): + return + + instance = float(instance) + if schema.get("exclusiveMaximum", False): + failed = instance >= maximum + cmp = "greater than or equal to" + else: + failed = instance > maximum + cmp = "greater than" + + if failed: + yield ValidationError( + "%r is %s the maximum of %r" % (instance, cmp, maximum) + ) + + def validate_minItems(self, mI, instance, schema): + if self.is_type(instance, "array") and len(instance) < mI: + yield ValidationError("%r is too short" % (instance,)) + + def validate_maxItems(self, mI, instance, schema): + if self.is_type(instance, "array") and len(instance) > mI: + yield ValidationError("%r is too long" % (instance,)) + + def validate_uniqueItems(self, uI, instance, schema): + if uI and self.is_type(instance, "array") and not _uniq(instance): + yield ValidationError("%r has non-unique elements" % instance) + + def validate_pattern(self, patrn, instance, schema): + if self.is_type(instance, "string") and not re.match(patrn, instance): + yield ValidationError("%r does not match %r" % (instance, patrn)) + + def validate_minLength(self, mL, instance, schema): + if self.is_type(instance, "string") and len(instance) < mL: + yield ValidationError("%r is too short" % (instance,)) + + def validate_maxLength(self, mL, instance, schema): + if self.is_type(instance, "string") and len(instance) > mL: + yield ValidationError("%r is too long" % (instance,)) + + def validate_enum(self, enums, instance, schema): + if instance not in enums: + yield ValidationError("%r is not one of %r" % (instance, enums)) + + def validate_divisibleBy(self, dB, instance, schema): + if not self.is_type(instance, "number"): + return + + if isinstance(dB, float): + mod = instance % dB + failed = (mod > EPSILON) and (dB - mod) > EPSILON + else: + failed = instance % dB + + if failed: + yield ValidationError("%r is not divisible by %r" % (instance, dB)) + + def validate_disallow(self, disallow, instance, schema): + for disallowed in _list(disallow): + if self.is_valid(instance, {"type" : [disallowed]}): + yield ValidationError( + "%r is disallowed for %r" % (disallowed, instance) + ) + + def validate_extends(self, extends, instance, schema): + if self.is_type(extends, "object"): + extends = [extends] + for subschema in extends: + for error in self.iter_errors( + instance, subschema, meta_validate=False + ): + yield error + + +for no_op in [ # handled in: + "required", # properties + "exclusiveMinimum", "exclusiveMaximum", # min*/max* + "default", "description", "format", "id", # no validation needed + "links", "name", "title", + "ref", "schema", # not yet supported +]: + setattr(Validator, "validate_" + no_op, lambda *args, **kwargs : None) + + +class ErrorTree(object): + """ + ErrorTrees make it easier to check which validations failed. + + """ + + def __init__(self, errors=()): + self.errors = {} + self._contents = collections.defaultdict(self.__class__) + + for error in errors: + container = self + for element in reversed(error.path): + container = container[element] + container.errors[error.validator] = error + + def __contains__(self, k): + return k in self._contents + + def __getitem__(self, k): + return self._contents[k] + + def __setitem__(self, k, v): + self._contents[k] = v + + def __iter__(self): + return iter(self._contents) + + def __len__(self): + child_errors = sum(len(tree) for _, tree in iteritems(self._contents)) + return len(self.errors) + child_errors + + def __repr__(self): + return "<%s (%s errors)>" % (self.__class__.__name__, len(self)) + + +def _extras_msg(extras): + """ + Create an error message for extra items or properties. + + """ + + if len(extras) == 1: + verb = "was" + else: + verb = "were" + return ", ".join(repr(extra) for extra in extras), verb + + +def _list(thing): + """ + Wrap ``thing`` in a list if it's a single str. + + Otherwise, return it unchanged. + + """ + + if isinstance(thing, basestring): + return [thing] + return thing + + +def _delist(thing): + """ + Unwrap ``thing`` to a single element if its a single str in a list. + + Otherwise, return it unchanged. + + """ + + if ( + isinstance(thing, list) and + len(thing) == 1 + and isinstance(thing[0], basestring) + ): + return thing[0] + return thing + + +def validate( + instance, schema, meta_validate=True, cls=Validator, *args, **kwargs +): + """ + Validate an ``instance`` under the given ``schema``. + + By default, the :class:`Validator` class from this module is used to + perform the validation. To use another validator, pass it into the ``cls`` + argument. + + Any other provided positional and keyword arguments will be provided to the + ``cls``. See the :class:`Validator` class' docstring for details on the + arguments it accepts. + + """ + + validator = cls(*args, **kwargs) + validator.validate(instance, schema, meta_validate=meta_validate) diff --git a/jsonschema-0.6/debian/python-jsonschema/usr/share/python-support/python-jsonschema.public b/jsonschema-0.6/debian/python-jsonschema/usr/share/python-support/python-jsonschema.public new file mode 100644 index 0000000..c195ff2 --- /dev/null +++ b/jsonschema-0.6/debian/python-jsonschema/usr/share/python-support/python-jsonschema.public @@ -0,0 +1,4 @@ +pyversions=2.6- + +/usr/share/pyshared/jsonschema-0.6.egg-info +/usr/share/pyshared/jsonschema.py diff --git a/jsonschema-0.6/debian/pyversions b/jsonschema-0.6/debian/pyversions new file mode 100644 index 0000000..0c043f1 --- /dev/null +++ b/jsonschema-0.6/debian/pyversions @@ -0,0 +1 @@ +2.6- diff --git a/jsonschema-0.6/debian/rules b/jsonschema-0.6/debian/rules new file mode 100755 index 0000000..b760bee --- /dev/null +++ b/jsonschema-0.6/debian/rules @@ -0,0 +1,13 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +%: + dh $@ diff --git a/jsonschema-0.6/debian/source/format b/jsonschema-0.6/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/jsonschema-0.6/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/jsonschema-0.6/debian/watch.ex b/jsonschema-0.6/debian/watch.ex new file mode 100644 index 0000000..3dc6ee0 --- /dev/null +++ b/jsonschema-0.6/debian/watch.ex @@ -0,0 +1,23 @@ +# Example watch control file for uscan +# Rename this file to "watch" and then you can run the "uscan" command +# to check for upstream updates and more. +# See uscan(1) for format + +# Compulsory line, this is a version 3 file +version=3 + +# Uncomment to examine a Webpage +# <Webpage URL> <string match> +#http://www.example.com/downloads.php python-jsonschema-(.*)\.tar\.gz + +# Uncomment to examine a Webserver directory +#http://www.example.com/pub/python-jsonschema-(.*)\.tar\.gz + +# Uncommment to examine a FTP server +#ftp://ftp.example.com/pub/python-jsonschema-(.*)\.tar\.gz debian uupdate + +# Uncomment to find new files on sourceforge, for devscripts >= 2.9 +# http://sf.net/python-jsonschema/python-jsonschema-(.*)\.tar\.gz + +# Uncomment to find new files on GooglePages +# http://example.googlepages.com/foo.html python-jsonschema-(.*)\.tar\.gz diff --git a/jsonschema-0.6/jsonschema.pyc b/jsonschema-0.6/jsonschema.pyc Binary files differnew file mode 100644 index 0000000..f869879 --- /dev/null +++ b/jsonschema-0.6/jsonschema.pyc diff --git a/python-jsonschema_0.6-1.debian.tar.gz b/python-jsonschema_0.6-1.debian.tar.gz Binary files differnew file mode 100644 index 0000000..4a02872 --- /dev/null +++ b/python-jsonschema_0.6-1.debian.tar.gz diff --git a/python-jsonschema_0.6-1.dsc b/python-jsonschema_0.6-1.dsc new file mode 100644 index 0000000..9b27fda --- /dev/null +++ b/python-jsonschema_0.6-1.dsc @@ -0,0 +1,40 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +Format: 3.0 (quilt) +Source: python-jsonschema +Binary: python-jsonschema +Architecture: all +Version: 0.6-1 +Maintainer: Kristina Clair <kclair@leap.se> +Homepage: http://pypi.python.org/pypi/jsonschema +Standards-Version: 3.9.4.0 +Build-Depends: debhelper (>= 7.0.50~), python-support, python (>= 2.6) +Checksums-Sha1: + 3d0fa792c0a0da3f40315496060e80006b63fa29 13779 python-jsonschema_0.6.orig.tar.gz + 1bb563facbeabded0d8cbac44b77e9abfbf1aee9 11232 python-jsonschema_0.6-1.debian.tar.gz +Checksums-Sha256: + e55d50467b3f1a813e62ab8d2d9d46a095ccc1238e9183e650b078359f5a9356 13779 python-jsonschema_0.6.orig.tar.gz + e0244b54889641318d7837a000327e913e285afccb117eeb31d81aa383f40108 11232 python-jsonschema_0.6-1.debian.tar.gz +Files: + f48327683818b2db47611599c7c04cc0 13779 python-jsonschema_0.6.orig.tar.gz + 736a56cb3b019ed65e9a0f54a5a330bc 11232 python-jsonschema_0.6-1.debian.tar.gz + +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.10 (GNU/Linux) +Comment: GPGTools - http://gpgtools.org + +iQIcBAEBAgAGBQJQbIWlAAoJEJ6m/xxX04Tjya0P/0S9lTXCbNfg1ile7hWoBaKx +2SlyVbE5TBDe70AcSX6bTd4gTQg18znUvjcWdjWGw0IPqSl2q5y20sXDodasXxlD +wpi/FVd6FBkfkT4AEndqZO9iQAR1mQkSCrJirgfsEYoLOYmlGRO2jdLrHj37O49P +BCc3J00OM4nRNRJ52c5C6e4HG0Y7Hpqd++ATMDsQFvJaTFFDqI/0VHWYHBvQJ2LK +yeIbGSE9wDyOxaaVtsN+NDuWfa3af3UdQ+m5uVSVrvXre8ghMzUqilrTUGI48QbD +/eBZ5aalqkOJDS0UHJ9QY0MeTAFWFhrCFq2CAGCx101MNUDGMl+KzqQDzCkoMjOH +PcZ+yHWN8HwK5Wwi2ceNIUKDX/018cJTeS/Jlwv0se6n+sdFNWcxDRHMPWuBUyXo +Gr/7/ZXLhsqmTD33VlUwc3byvnJPcSs9HWcY+vSOBLvFVzWm8tE+uYVGyK24ZZlB +vfF2duqnhEiNj/uWSnjZ6ypfVliK0dI6t/ew3118uEfge04bvRBXjNUk/cMYImna +dCm7ax4gnjQ/D8xmBjY62t1dBOnWNUmAY/Kne0Ut77XgHtc3aOD954lz+Vsd/gg0 +IO4d93IFJ6vel1jcWm3+xIxuXisNmpiiJ1E/VODP5vo5ieuDIHPGnSiZ4Yc+Z2F4 +j1FHoFq6HYntJMwTqTdr +=z7HP +-----END PGP SIGNATURE----- diff --git a/python-jsonschema_0.6-1_all.deb b/python-jsonschema_0.6-1_all.deb Binary files differnew file mode 100644 index 0000000..851f62f --- /dev/null +++ b/python-jsonschema_0.6-1_all.deb diff --git a/python-jsonschema_0.6-1_amd64.build b/python-jsonschema_0.6-1_amd64.build new file mode 100644 index 0000000..6fb110e --- /dev/null +++ b/python-jsonschema_0.6-1_amd64.build @@ -0,0 +1,129 @@ + dpkg-buildpackage -rfakeroot -D -us -uc +dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2 +dpkg-buildpackage: export CPPFLAGS from dpkg-buildflags (origin: vendor): +dpkg-buildpackage: export CXXFLAGS from dpkg-buildflags (origin: vendor): -g -O2 +dpkg-buildpackage: export FFLAGS from dpkg-buildflags (origin: vendor): -g -O2 +dpkg-buildpackage: export LDFLAGS from dpkg-buildflags (origin: vendor): +dpkg-buildpackage: source package python-jsonschema +dpkg-buildpackage: source version 0.6-1 +dpkg-buildpackage: source changed by Kristina Clair <kclair@leap.se> + dpkg-source --before-build jsonschema-0.6 +dpkg-buildpackage: host architecture amd64 + fakeroot debian/rules clean +dh clean + dh_testdir + dh_auto_clean +running clean +removing 'build/lib.linux-x86_64-2.6' (and everything under it) +'build/bdist.linux-x86_64' does not exist -- can't clean it +'build/scripts-2.6' does not exist -- can't clean it +removing 'build' + dh_clean + dpkg-source -b jsonschema-0.6 +dpkg-source: info: using source format `3.0 (quilt)' +dpkg-source: info: building python-jsonschema using existing ./python-jsonschema_0.6.orig.tar.gz +dpkg-source: info: building python-jsonschema in python-jsonschema_0.6-1.debian.tar.gz +dpkg-source: info: building python-jsonschema in python-jsonschema_0.6-1.dsc + debian/rules build +dh build + dh_testdir + dh_auto_configure + dh_auto_build +running build +running build_py +creating build +creating build/lib.linux-x86_64-2.6 +copying jsonschema.py -> build/lib.linux-x86_64-2.6 + dh_auto_test + fakeroot debian/rules binary +dh binary + dh_testroot + dh_prep + dh_installdirs + dh_auto_install +running install +running build +running build_py +running install_lib +creating /home/kclair/dev/leap/build-deb/deps/python-jsonschema/jsonschema-0.6/debian/python-jsonschema/usr +creating /home/kclair/dev/leap/build-deb/deps/python-jsonschema/jsonschema-0.6/debian/python-jsonschema/usr/lib +creating /home/kclair/dev/leap/build-deb/deps/python-jsonschema/jsonschema-0.6/debian/python-jsonschema/usr/lib/python2.6 +creating /home/kclair/dev/leap/build-deb/deps/python-jsonschema/jsonschema-0.6/debian/python-jsonschema/usr/lib/python2.6/dist-packages +copying build/lib.linux-x86_64-2.6/jsonschema.py -> /home/kclair/dev/leap/build-deb/deps/python-jsonschema/jsonschema-0.6/debian/python-jsonschema/usr/lib/python2.6/dist-packages +running install_egg_info +Writing /home/kclair/dev/leap/build-deb/deps/python-jsonschema/jsonschema-0.6/debian/python-jsonschema/usr/lib/python2.6/dist-packages/jsonschema-0.6.egg-info + dh_install + dh_installdocs + dh_installchangelogs + dh_installexamples + dh_installman + dh_installcatalogs + dh_installcron + dh_installdebconf + dh_installemacsen + dh_installifupdown + dh_installinfo + dh_pysupport + dh_installinit + dh_installmenu + dh_installmime + dh_installmodules + dh_installlogcheck + dh_installlogrotate + dh_installpam + dh_installppp + dh_installudev + dh_installwm + dh_installxfonts + dh_bugfiles + dh_lintian + dh_gconf + dh_icons + dh_perl + dh_usrlocal + dh_link + dh_compress + dh_fixperms + dh_strip + dh_makeshlibs + dh_shlibdeps + dh_installdeb + dh_gencontrol +dpkg-gencontrol: warning: package python-jsonschema: unused substitution variable ${python:Versions} +dpkg-gencontrol: warning: package python-jsonschema: unused substitution variable ${python:Provides} + dh_md5sums + dh_builddeb +dpkg-deb: building package `python-jsonschema' in `../python-jsonschema_0.6-1_all.deb'. + dpkg-genchanges >../python-jsonschema_0.6-1_amd64.changes +dpkg-genchanges: including full source code in upload + dpkg-source --after-build jsonschema-0.6 +dpkg-buildpackage: full upload (original source is included) +Now running lintian... +W: python-jsonschema source: dh-make-template-in-source debian/emacsen-startup.ex +W: python-jsonschema source: dh-make-template-in-source debian/python-jsonschema.default.ex +W: python-jsonschema source: dh-make-template-in-source debian/python-jsonschema.doc-base.EX +W: python-jsonschema source: dh-make-template-in-source debian/init.d.ex +W: python-jsonschema source: dh-make-template-in-source debian/manpage.1.ex +W: python-jsonschema source: dh-make-template-in-source debian/postinst.ex +W: python-jsonschema source: dh-make-template-in-source debian/menu.ex +W: python-jsonschema source: dh-make-template-in-source debian/watch.ex +W: python-jsonschema source: dh-make-template-in-source debian/manpage.sgml.ex +W: python-jsonschema source: dh-make-template-in-source debian/emacsen-install.ex +W: python-jsonschema source: dh-make-template-in-source debian/emacsen-remove.ex +W: python-jsonschema source: dh-make-template-in-source debian/manpage.xml.ex +W: python-jsonschema source: dh-make-template-in-source debian/python-jsonschema.cron.d.ex +W: python-jsonschema source: dh-make-template-in-source debian/postrm.ex +W: python-jsonschema source: dh-make-template-in-source debian/preinst.ex +W: python-jsonschema source: dh-make-template-in-source debian/prerm.ex +W: python-jsonschema source: newer-standards-version 3.9.4.0 (current is 3.9.1) +W: python-jsonschema: readme-debian-contains-debmake-template +E: python-jsonschema: description-synopsis-is-duplicated +W: python-jsonschema: new-package-should-close-itp-bug +W: python-jsonschema: wrong-bug-number-in-closes l3:#nnnn +Finished running lintian. +Now signing changes and any dsc files... + signfile python-jsonschema_0.6-1.dsc Kristina Clair <kclair@leap.se> + + signfile python-jsonschema_0.6-1_amd64.changes Kristina Clair <kclair@leap.se> + +Successfully signed dsc and changes files diff --git a/python-jsonschema_0.6-1_amd64.changes b/python-jsonschema_0.6-1_amd64.changes new file mode 100644 index 0000000..2753961 --- /dev/null +++ b/python-jsonschema_0.6-1_amd64.changes @@ -0,0 +1,53 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +Format: 1.8 +Date: Wed, 03 Oct 2012 11:34:56 -0700 +Source: python-jsonschema +Binary: python-jsonschema +Architecture: source all +Version: 0.6-1 +Distribution: unstable +Urgency: low +Maintainer: Kristina Clair <kclair@leap.se> +Changed-By: Kristina Clair <kclair@leap.se> +Description: + python-jsonschema - Provides the jsonschema python package +Changes: + python-jsonschema (0.6-1) unstable; urgency=low + . + * Initial release (Closes: #nnnn) <nnnn is the bug number of your ITP> +Checksums-Sha1: + 4edc0478111eed411fdd8d86e22593e6ca4e4a18 1800 python-jsonschema_0.6-1.dsc + 3d0fa792c0a0da3f40315496060e80006b63fa29 13779 python-jsonschema_0.6.orig.tar.gz + 1bb563facbeabded0d8cbac44b77e9abfbf1aee9 11232 python-jsonschema_0.6-1.debian.tar.gz + 72b63b053651f52f81b58ae68f489b008ef6a047 10408 python-jsonschema_0.6-1_all.deb +Checksums-Sha256: + 7e6e584a621959f721163619e091de45b4c5eba9990be6d77ce6f3476ed7ad7a 1800 python-jsonschema_0.6-1.dsc + e55d50467b3f1a813e62ab8d2d9d46a095ccc1238e9183e650b078359f5a9356 13779 python-jsonschema_0.6.orig.tar.gz + e0244b54889641318d7837a000327e913e285afccb117eeb31d81aa383f40108 11232 python-jsonschema_0.6-1.debian.tar.gz + f5a3c5cd142af264c907eb8a88601e5dff5ecb56d2dd418bacc155de14e5127c 10408 python-jsonschema_0.6-1_all.deb +Files: + 0044615c46297c00724db451f08c1d4e 1800 python optional python-jsonschema_0.6-1.dsc + f48327683818b2db47611599c7c04cc0 13779 python optional python-jsonschema_0.6.orig.tar.gz + 736a56cb3b019ed65e9a0f54a5a330bc 11232 python optional python-jsonschema_0.6-1.debian.tar.gz + 96eba09046ae9f6a7eac00dc4f3e00bb 10408 python optional python-jsonschema_0.6-1_all.deb + +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.10 (GNU/Linux) +Comment: GPGTools - http://gpgtools.org + +iQIcBAEBAgAGBQJQbIWqAAoJEJ6m/xxX04TjYacP/2a8ALh+aBjv1N3HbG9yfhdx +E8/rnBQZmxW4nwCeC2ByX+ANzje+rveW5B7ptsqL2hqRdgJWkBNTgzA1bvoA8T7X +JpD5MlX5X1paoZx/3XXBlbSx8AdSPDv5ad82mfyfQTCiACvHNRXa6Y3bmB3sgP5Y +yyAx52kFa00XOoyCXisLXtuJyfaMmzJMEN7Hi02jQmjfxPNwTgecgIANNINl97Tz +vUIi+kS7m/6byCGIZHWdls/Gjs5x7AeLzaW0U28mL6F+2u4QrZS5gw0SBGpCd/LC +UnJZ6gSxvy4BnmP1RBnBnskGHtQpymxNa7yRxjJZ+68MRw1TZhZIFeiM6yBDqJM1 +DvhiuRO1bLtrMPq4VZouh9uJhQ8IT+mv4aROvpiZfdZE1uSMxdSzD/cDxVQaGChL +j7waIL30Xsu/7UWNW9btVAVqUZ9VUsxayn5XhSiYzsvVupjKm7Pd2GOKABvNPV6H +Vrw9w2fF2HWdEa2t9LzNT0a9qaunQVJ7lwPBFvLoqbQMGtLGI+LOb4EY+lHYliXm +i9KiPA2x2tNFfAz3nrhODY5/MT6yzwU8cIu82+0XiBN9FXcDy2TiaZY9pW1/Vy4P +/zA7o0qCqyg+R0Rd7OdDCHkZVAGwiwXkMOnULfNpJaWZh6bQmJ1s0UPEzcWmnscF +lpXhdKCDUlVWMzTEyfIp +=Jc3o +-----END PGP SIGNATURE----- diff --git a/python-jsonschema_0.6.orig.tar.gz b/python-jsonschema_0.6.orig.tar.gz Binary files differnew file mode 100644 index 0000000..51ee84b --- /dev/null +++ b/python-jsonschema_0.6.orig.tar.gz |