Files
deb-python-colander/setup.py
Tim Tisdall 9af19552ad remove local iso8601 and use pypi version
When running some tests on another project I stumbled upon a failed
test that revealed a bug in colander's iso8601.  If you try to
deserialize "2014-09-09T15:15:57.516967" into a datetime object you
get `datetime.datetime(2014, 9, 9, 15, 15, 57, 516966)` (notice the
microseconds are off by 1).  I traced it down to this:

```
groups["fraction"] = int(float("0.%s" % groups["fraction"]) * 1e6)
```

`int(float("0.%s" % "516967") * 1e6)` is equal to 516966 due to
rounding.

I was going to fix it, but iso8601 is a currently maintained project
on pypi that has this issue (and possibly others) already fixed.
So, it makes much more sense to offload everything back to that project.

The only difference (besides the bug fixes) is following:

`iso8601.Utc` => `iso8601.iso8601.Utc`
`iso8601.FixedOffset` => `iso8601.iso8601.FixedOffset`
2014-09-10 18:54:12 +00:00

71 lines
2.4 KiB
Python

##############################################################################
#
# Copyright (c) 2011 Agendaless Consulting and Contributors.
# All Rights Reserved.
#
# This software is subject to the provisions of the BSD-like license at
# http://www.repoze.org/LICENSE.txt. A copy of the license should accompany
# this distribution. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL
# EXPRESS OR IMPLIED WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO,
# THE IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND
# FITNESS FOR A PARTICULAR PURPOSE
#
##############################################################################
import os
from setuptools import setup
from setuptools import find_packages
here = os.path.abspath(os.path.dirname(__file__))
def read(fname):
with open(fname) as fp:
return fp.read()
try:
README = read(os.path.join(here, 'README.txt'))
CHANGES = read(os.path.join(here, 'CHANGES.txt'))
except:
README = ''
CHANGES = ''
requires = ['translationstring', 'iso8601']
testing_extras = ['nose', 'coverage']
docs_extras = ['Sphinx']
setup(name='colander',
version='1.0b1',
description=('A simple schema-based serialization and deserialization '
'library'),
long_description=README + '\n\n' + CHANGES,
classifiers=[
"Intended Audience :: Developers",
"Programming Language :: Python",
"Programming Language :: Python",
"Programming Language :: Python :: 2.6",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.2",
"Programming Language :: Python :: 3.3",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
],
keywords='serialize deserialize validate schema validation',
author="Agendaless Consulting",
author_email="pylons-discuss@googlegroups.com",
url="http://docs.pylonsproject.org/projects/colander/en/latest/",
license="BSD-derived (http://www.repoze.org/LICENSE.txt)",
packages=find_packages(),
include_package_data=True,
zip_safe=False,
install_requires = requires,
test_suite="colander",
extras_require = {
'testing':testing_extras,
'docs':docs_extras,
},
)