[SCM] Samba Shared Repository - branch master updated
Andrew Bartlett
abartlet at samba.org
Fri Aug 21 00:13:02 UTC 2020
The branch, master has been updated
via 4dbe8d11316 python: Remove remaining references to third_party python libs
via 2420b7c6d20 python: Add checks for some more required python packages
via 091e11260d6 Remove pyiso8601 from third_party
via 0573c13da2c bootstrap: Fix python dependencies
via 7dc535995bb bootstrap: Fix spelling of README.md
from ef57bc6d4b5 torture: Fix ldap.basic multibind test
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 4dbe8d11316891f7275a7a37e04e11abb1b3706d
Author: Andrew Bartlett <abartlet at samba.org>
Date: Tue Aug 18 21:38:57 2020 +1200
python: Remove remaining references to third_party python libs
For now at least we do not have any in third_party.
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: David Mulder <dmulder at suse.com>
Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
Autobuild-Date(master): Fri Aug 21 00:12:52 UTC 2020 on sn-devel-184
commit 2420b7c6d2038aca33759ca3a7d41240c5f19bf7
Author: Andrew Bartlett <abartlet at samba.org>
Date: Tue Aug 18 11:59:09 2020 +1200
python: Add checks for some more required python packages
This catches the most important packages we require, but
this may not be the full list.
python-gpg is not listed as we have a big workaround handler
for this in samba-tool.
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: David Mulder <dmulder at suse.com>
commit 091e11260d66a6a038aee08f2fed4fc1711aa03b
Author: Andrew Bartlett <abartlet at samba.org>
Date: Mon Aug 17 17:14:25 2020 +1200
Remove pyiso8601 from third_party
The trend has been to remove widely available packages from third_party/
This module is both widely available, and only needed for --enable-selftest
It is, strangely enough, a BuildDependes in the RHEL/Fedora packages
just to stop it being installed in third_party.
The check for iso8601 being available is moved to python/wscript
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: David Mulder <dmulder at suse.com>
commit 0573c13da2c7f4ac67f4b17c278fa42d65ac857b
Author: Andrew Bartlett <abartlet at samba.org>
Date: Tue Aug 18 14:50:36 2020 +1200
bootstrap: Fix python dependencies
Python2 dependencies are removed and the RPM name of python-iso8601
is added to allow removal from third_party.
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: David Mulder <dmulder at suse.com>
commit 7dc535995bbdb42b1b053c22acff5978cb5da516
Author: Andrew Bartlett <abartlet at samba.org>
Date: Tue Aug 18 14:53:35 2020 +1200
bootstrap: Fix spelling of README.md
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: David Mulder <dmulder at suse.com>
-----------------------------------------------------------------------
Summary of changes:
.gitlab-ci.yml | 2 +-
bootstrap/{READMD.md => README.md} | 0
bootstrap/config.py | 5 +-
bootstrap/generated-dists/centos7/bootstrap.sh | 1 +
bootstrap/generated-dists/centos7/packages.yml | 1 +
bootstrap/generated-dists/centos8/bootstrap.sh | 1 +
bootstrap/generated-dists/centos8/packages.yml | 1 +
bootstrap/generated-dists/fedora31/bootstrap.sh | 1 +
bootstrap/generated-dists/fedora31/packages.yml | 1 +
bootstrap/generated-dists/fedora32/bootstrap.sh | 1 +
bootstrap/generated-dists/fedora32/packages.yml | 1 +
bootstrap/generated-dists/opensuse150/bootstrap.sh | 1 +
bootstrap/generated-dists/opensuse150/packages.yml | 1 +
bootstrap/generated-dists/opensuse151/bootstrap.sh | 1 +
bootstrap/generated-dists/opensuse151/packages.yml | 1 +
bootstrap/sha1sum.txt | 2 +-
python/samba/__init__.py | 40 ----
python/samba/subunit/__init__.py | 1 -
python/wscript | 37 +++
script/show_test_time | 2 -
third_party/pyiso8601/.hgignore | 8 -
third_party/pyiso8601/.hgtags | 6 -
third_party/pyiso8601/LICENSE | 20 --
third_party/pyiso8601/MANIFEST.in | 2 -
third_party/pyiso8601/README.rst | 180 --------------
third_party/pyiso8601/dev-requirements.txt | 5 -
third_party/pyiso8601/docs/Makefile | 177 --------------
third_party/pyiso8601/docs/conf.py | 266 ---------------------
third_party/pyiso8601/docs/index.rst | 80 -------
third_party/pyiso8601/docs/make.bat | 242 -------------------
third_party/pyiso8601/iso8601/__init__.py | 1 -
third_party/pyiso8601/iso8601/iso8601.py | 214 -----------------
third_party/pyiso8601/iso8601/test_iso8601.py | 97 --------
third_party/pyiso8601/setup.py | 25 --
third_party/pyiso8601/tox.ini | 8 -
third_party/wscript | 64 +----
36 files changed, 53 insertions(+), 1443 deletions(-)
rename bootstrap/{READMD.md => README.md} (100%)
delete mode 100644 third_party/pyiso8601/.hgignore
delete mode 100644 third_party/pyiso8601/.hgtags
delete mode 100644 third_party/pyiso8601/LICENSE
delete mode 100644 third_party/pyiso8601/MANIFEST.in
delete mode 100644 third_party/pyiso8601/README.rst
delete mode 100644 third_party/pyiso8601/dev-requirements.txt
delete mode 100644 third_party/pyiso8601/docs/Makefile
delete mode 100644 third_party/pyiso8601/docs/conf.py
delete mode 100644 third_party/pyiso8601/docs/index.rst
delete mode 100644 third_party/pyiso8601/docs/make.bat
delete mode 100644 third_party/pyiso8601/iso8601/__init__.py
delete mode 100644 third_party/pyiso8601/iso8601/iso8601.py
delete mode 100644 third_party/pyiso8601/iso8601/test_iso8601.py
delete mode 100644 third_party/pyiso8601/setup.py
delete mode 100644 third_party/pyiso8601/tox.ini
Changeset truncated at 500 lines:
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c657b4a1d8f..39c5d2765c3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -23,7 +23,7 @@ variables:
# Set this to the contents of bootstrap/sha1sum.txt
# which is generated by bootstrap/template.py --render
#
- SAMBA_CI_CONTAINER_TAG: 1275dc52ac8c1de5981f267df88b85b6f87e299a
+ SAMBA_CI_CONTAINER_TAG: abd0e3b4cadc9691200c43769e69a3a7b50d9fde
#
# We use the ubuntu1804 image as default as
# it matches what we have on sn-devel-184.
diff --git a/bootstrap/READMD.md b/bootstrap/README.md
similarity index 100%
rename from bootstrap/READMD.md
rename to bootstrap/README.md
diff --git a/bootstrap/config.py b/bootstrap/config.py
index 24f21a3c749..2c83876459d 100644
--- a/bootstrap/config.py
+++ b/bootstrap/config.py
@@ -134,7 +134,7 @@ PKGS = [
('python3-cryptography', 'python3-cryptography'), # for krb5 tests
('python3-dev', 'python3-devel'),
('python3-dbg', ''),
- ('python3-iso8601', ''),
+ ('python3-iso8601', 'python3-iso8601'),
('python3-gpg', 'python3-gpg'), # defaults to ubuntu/fedora latest
('python3-markdown', 'python3-markdown'),
('python3-matplotlib', ''),
@@ -393,7 +393,6 @@ DEB_DISTS = {
'docker_image': 'ubuntu:16.04',
'vagrant_box': 'ubuntu/xenial64',
'replace': {
- 'python-gpg': 'python-gpgme',
'python3-gpg': 'python3-gpgme',
'glusterfs-common': '',
'libcephfs-dev': '',
@@ -508,7 +507,6 @@ RPM_DISTS = {
'perl-generators': '',
'perl-interpreter': '',
'procps-ng': 'procps',
- 'python-dns': 'python2-dnspython',
'python3-dns': 'python3-dnspython',
'python3-markdown': 'python3-Markdown',
'quota-devel': '',
@@ -540,7 +538,6 @@ RPM_DISTS = {
'perl-generators': '',
'perl-interpreter': '',
'procps-ng': 'procps',
- 'python-dns': 'python2-dnspython',
'python3-dns': 'python3-dnspython',
'python3-markdown': 'python3-Markdown',
'quota-devel': '',
diff --git a/bootstrap/generated-dists/centos7/bootstrap.sh b/bootstrap/generated-dists/centos7/bootstrap.sh
index 9c81a1e1e68..8b50b8de125 100755
--- a/bootstrap/generated-dists/centos7/bootstrap.sh
+++ b/bootstrap/generated-dists/centos7/bootstrap.sh
@@ -87,6 +87,7 @@ yum install -y \
python36-cryptography \
python36-devel \
python36-dns \
+ python36-iso8601 \
python36-markdown \
python36-pyasn1 \
quota-devel \
diff --git a/bootstrap/generated-dists/centos7/packages.yml b/bootstrap/generated-dists/centos7/packages.yml
index 55502974829..9dd36ec0daa 100644
--- a/bootstrap/generated-dists/centos7/packages.yml
+++ b/bootstrap/generated-dists/centos7/packages.yml
@@ -73,6 +73,7 @@ packages:
- python36-cryptography
- python36-devel
- python36-dns
+ - python36-iso8601
- python36-markdown
- python36-pyasn1
- quota-devel
diff --git a/bootstrap/generated-dists/centos8/bootstrap.sh b/bootstrap/generated-dists/centos8/bootstrap.sh
index b494d0040dd..08cb02105a4 100755
--- a/bootstrap/generated-dists/centos8/bootstrap.sh
+++ b/bootstrap/generated-dists/centos8/bootstrap.sh
@@ -92,6 +92,7 @@ yum install -y \
python3-devel \
python3-dns \
python3-gpg \
+ python3-iso8601 \
python3-libsemanage \
python3-markdown \
python3-policycoreutils \
diff --git a/bootstrap/generated-dists/centos8/packages.yml b/bootstrap/generated-dists/centos8/packages.yml
index f3ba7a9088a..dd487a2eced 100644
--- a/bootstrap/generated-dists/centos8/packages.yml
+++ b/bootstrap/generated-dists/centos8/packages.yml
@@ -74,6 +74,7 @@ packages:
- python3-devel
- python3-dns
- python3-gpg
+ - python3-iso8601
- python3-libsemanage
- python3-markdown
- python3-policycoreutils
diff --git a/bootstrap/generated-dists/fedora31/bootstrap.sh b/bootstrap/generated-dists/fedora31/bootstrap.sh
index 4bbda3ce3c8..3fb60bc00eb 100755
--- a/bootstrap/generated-dists/fedora31/bootstrap.sh
+++ b/bootstrap/generated-dists/fedora31/bootstrap.sh
@@ -88,6 +88,7 @@ dnf install -y \
python3-devel \
python3-dns \
python3-gpg \
+ python3-iso8601 \
python3-libsemanage \
python3-markdown \
python3-policycoreutils \
diff --git a/bootstrap/generated-dists/fedora31/packages.yml b/bootstrap/generated-dists/fedora31/packages.yml
index 4a8356cddb3..37422007549 100644
--- a/bootstrap/generated-dists/fedora31/packages.yml
+++ b/bootstrap/generated-dists/fedora31/packages.yml
@@ -77,6 +77,7 @@ packages:
- python3-devel
- python3-dns
- python3-gpg
+ - python3-iso8601
- python3-libsemanage
- python3-markdown
- python3-policycoreutils
diff --git a/bootstrap/generated-dists/fedora32/bootstrap.sh b/bootstrap/generated-dists/fedora32/bootstrap.sh
index 4bbda3ce3c8..3fb60bc00eb 100755
--- a/bootstrap/generated-dists/fedora32/bootstrap.sh
+++ b/bootstrap/generated-dists/fedora32/bootstrap.sh
@@ -88,6 +88,7 @@ dnf install -y \
python3-devel \
python3-dns \
python3-gpg \
+ python3-iso8601 \
python3-libsemanage \
python3-markdown \
python3-policycoreutils \
diff --git a/bootstrap/generated-dists/fedora32/packages.yml b/bootstrap/generated-dists/fedora32/packages.yml
index 4a8356cddb3..37422007549 100644
--- a/bootstrap/generated-dists/fedora32/packages.yml
+++ b/bootstrap/generated-dists/fedora32/packages.yml
@@ -77,6 +77,7 @@ packages:
- python3-devel
- python3-dns
- python3-gpg
+ - python3-iso8601
- python3-libsemanage
- python3-markdown
- python3-policycoreutils
diff --git a/bootstrap/generated-dists/opensuse150/bootstrap.sh b/bootstrap/generated-dists/opensuse150/bootstrap.sh
index 1a38fbdef22..d99d835719f 100755
--- a/bootstrap/generated-dists/opensuse150/bootstrap.sh
+++ b/bootstrap/generated-dists/opensuse150/bootstrap.sh
@@ -85,6 +85,7 @@ zypper --non-interactive install \
python3-devel \
python3-dnspython \
python3-gpg \
+ python3-iso8601 \
python3-pyasn1 \
readline-devel \
rng-tools \
diff --git a/bootstrap/generated-dists/opensuse150/packages.yml b/bootstrap/generated-dists/opensuse150/packages.yml
index bfb352f749e..30d102484be 100644
--- a/bootstrap/generated-dists/opensuse150/packages.yml
+++ b/bootstrap/generated-dists/opensuse150/packages.yml
@@ -73,6 +73,7 @@ packages:
- python3-devel
- python3-dnspython
- python3-gpg
+ - python3-iso8601
- python3-pyasn1
- readline-devel
- rng-tools
diff --git a/bootstrap/generated-dists/opensuse151/bootstrap.sh b/bootstrap/generated-dists/opensuse151/bootstrap.sh
index 1a38fbdef22..d99d835719f 100755
--- a/bootstrap/generated-dists/opensuse151/bootstrap.sh
+++ b/bootstrap/generated-dists/opensuse151/bootstrap.sh
@@ -85,6 +85,7 @@ zypper --non-interactive install \
python3-devel \
python3-dnspython \
python3-gpg \
+ python3-iso8601 \
python3-pyasn1 \
readline-devel \
rng-tools \
diff --git a/bootstrap/generated-dists/opensuse151/packages.yml b/bootstrap/generated-dists/opensuse151/packages.yml
index bfb352f749e..30d102484be 100644
--- a/bootstrap/generated-dists/opensuse151/packages.yml
+++ b/bootstrap/generated-dists/opensuse151/packages.yml
@@ -73,6 +73,7 @@ packages:
- python3-devel
- python3-dnspython
- python3-gpg
+ - python3-iso8601
- python3-pyasn1
- readline-devel
- rng-tools
diff --git a/bootstrap/sha1sum.txt b/bootstrap/sha1sum.txt
index 345d4a95e98..c9834e2a19d 100644
--- a/bootstrap/sha1sum.txt
+++ b/bootstrap/sha1sum.txt
@@ -1 +1 @@
-1275dc52ac8c1de5981f267df88b85b6f87e299a
+abd0e3b4cadc9691200c43769e69a3a7b50d9fde
diff --git a/python/samba/__init__.py b/python/samba/__init__.py
index 360918c49ad..0341cb36dfe 100644
--- a/python/samba/__init__.py
+++ b/python/samba/__init__.py
@@ -322,46 +322,6 @@ def valid_netbios_name(name):
return True
-def import_bundled_package(modulename, location, source_tree_container,
- namespace):
- """Import the bundled version of a package.
-
- :note: This should only be called if the system version of the package
- is not adequate.
-
- :param modulename: Module name to import
- :param location: Location to add to sys.path (can be relative to
- ${srcdir}/${source_tree_container})
- :param source_tree_container: Directory under source root that
- contains the bundled third party modules.
- :param namespace: Namespace to import module from, when not in source tree
- """
- if in_source_tree():
- extra_path = os.path.join(source_tree_topdir(), source_tree_container,
- location)
- if extra_path not in sys.path:
- sys.path.insert(0, extra_path)
- sys.modules[modulename] = __import__(modulename)
- else:
- sys.modules[modulename] = __import__(
- "%s.%s" % (namespace, modulename), fromlist=[namespace])
-
-
-def ensure_third_party_module(modulename, location):
- """Add a location to sys.path if a third party dependency can't be found.
-
- :param modulename: Module name to import
- :param location: Location to add to sys.path (can be relative to
- ${srcdir}/third_party)
- """
- try:
- __import__(modulename)
- except ImportError:
- import_bundled_package(modulename, location,
- source_tree_container="third_party",
- namespace="samba.third_party")
-
-
def dn_from_dns_name(dnsdomain):
"""return a DN from a DNS name domain/forest root"""
return "DC=" + ",DC=".join(dnsdomain.split("."))
diff --git a/python/samba/subunit/__init__.py b/python/samba/subunit/__init__.py
index ca5511f899e..fef06ffa1cd 100644
--- a/python/samba/subunit/__init__.py
+++ b/python/samba/subunit/__init__.py
@@ -19,7 +19,6 @@
import samba
-samba.ensure_third_party_module("iso8601", "pyiso8601")
import iso8601
import unittest
diff --git a/python/wscript b/python/wscript
index 916031896d3..20ca9f1f862 100644
--- a/python/wscript
+++ b/python/wscript
@@ -1,6 +1,34 @@
#!/usr/bin/env python
import os
+from waflib import Options, Errors
+
+# work out what python external libraries we need to be successful
+selftest_pkgs = {
+ 'iso8601': 'python3-iso8601',
+ 'cryptography': 'python3-cryptography',
+ 'pyasn1': 'python3-asn1'
+}
+
+ad_dc_pkgs = {
+ 'markdown': 'python3-markdown',
+ 'dns': 'python3-dnspython (python3-dns on some systems)'
+}
+
+
+def find_third_party_module(conf, module, package):
+ conf.COMPOUND_START("Checking for system installation of Python module %s" % module)
+ try:
+ __import__(module)
+ except ImportError:
+ conf.COMPOUND_END(False)
+ raise Errors.WafError("""\
+ Unable to find Python module '%s'. Please install the system package: %s'.
+""" % (module, package))
+ else:
+ # Installed on the system
+ conf.COMPOUND_END("system")
+
def configure(conf):
if conf.env.disable_python:
@@ -41,6 +69,15 @@ def configure(conf):
finally:
f.close()
+ if conf.CONFIG_GET('ENABLE_SELFTEST'):
+ for module, package in selftest_pkgs.items():
+ find_third_party_module(conf, module, package)
+
+ if not Options.options.without_ad_dc:
+ for module, package in ad_dc_pkgs.items():
+ find_third_party_module(conf, module, package)
+
+
def build(bld):
diff --git a/script/show_test_time b/script/show_test_time
index fae7b814f49..5a84f19787c 100755
--- a/script/show_test_time
+++ b/script/show_test_time
@@ -10,8 +10,6 @@ parser.add_option("--limit", dest="limit", type=int,
help="Limit to this number of output entries.", default=0)
(opts, args) = parser.parse_args()
-third_party_path = os.path.join(os.path.dirname(sys.argv[0]), "..", "lib")
-
durations = {}
cmd = "subunit-1to2 | subunit-ls --times --no-passthrough"
diff --git a/third_party/pyiso8601/.hgignore b/third_party/pyiso8601/.hgignore
deleted file mode 100644
index 2906798647d..00000000000
--- a/third_party/pyiso8601/.hgignore
+++ /dev/null
@@ -1,8 +0,0 @@
-syntax: glob
-build
-dist
-*.pyc
-iso8601.egg-info
-pyiso8601-venv
-.tox
-_build
\ No newline at end of file
diff --git a/third_party/pyiso8601/.hgtags b/third_party/pyiso8601/.hgtags
deleted file mode 100644
index 4e2dcb820ca..00000000000
--- a/third_party/pyiso8601/.hgtags
+++ /dev/null
@@ -1,6 +0,0 @@
-bd89974951dae66bdb1c441d2e931f6b27fe1097 0.1.5
-462f8303fc3995150c188d3708fb6981d7705453 0.1.6
-1881bf20e595e5b923f5c8b1f859dc310e5f22c2 0.1.7
-01161826be6e8a99cde813850f0d6ed7952ff377 0.1.8
-4b511368cef17b3648af3bc16d2421ce8fbe4dc8 0.1.9
-0f02cc55100a1bad23c0ea0bd0f07b8de0e3e3f0 0.1.10
diff --git a/third_party/pyiso8601/LICENSE b/third_party/pyiso8601/LICENSE
deleted file mode 100644
index 37bbd6c14f9..00000000000
--- a/third_party/pyiso8601/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-Copyright (c) 2007 - 2014 Michael Twomey
-
-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.
diff --git a/third_party/pyiso8601/MANIFEST.in b/third_party/pyiso8601/MANIFEST.in
deleted file mode 100644
index ea47448e5be..00000000000
--- a/third_party/pyiso8601/MANIFEST.in
+++ /dev/null
@@ -1,2 +0,0 @@
-recursive-include iso8601 *.py
-include README.rst LICENSE tox.ini setup.py *requirements.txt
\ No newline at end of file
diff --git a/third_party/pyiso8601/README.rst b/third_party/pyiso8601/README.rst
deleted file mode 100644
index 6ad8f49f4b0..00000000000
--- a/third_party/pyiso8601/README.rst
+++ /dev/null
@@ -1,180 +0,0 @@
-Simple module to parse ISO 8601 dates
-
-This module parses the most common forms of ISO 8601 date strings (e.g.
-2007-01-14T20:34:22+00:00) into datetime objects.
-
->>> import iso8601
->>> iso8601.parse_date("2007-01-25T12:00:00Z")
-datetime.datetime(2007, 1, 25, 12, 0, tzinfo=<iso8601.Utc>)
->>>
-
-See the LICENSE file for the license this package is released under.
-
-If you want more full featured parsing look at:
-
-- http://labix.org/python-dateutil - python-dateutil
-
-Parsed Formats
-==============
-
-You can parse full date + times, or just the date. In both cases a datetime instance is returned but with missing times defaulting to 0, and missing days / months defaulting to 1.
-
-Dates
------
-
-- YYYY-MM-DD
-- YYYYMMDD
-- YYYY-MM (defaults to 1 for the day)
-- YYYY (defaults to 1 for month and day)
-
-Times
------
-
-- hh:mm:ss.nn
-- hhmmss.nn
-- hh:mm (defaults to 0 for seconds)
-- hhmm (defaults to 0 for seconds)
-- hh (defaults to 0 for minutes and seconds)
-
-Time Zones
-----------
-
-- Nothing, will use the default timezone given (which in turn defaults to UTC).
-- Z (UTC)
-- +/-hh:mm
-- +/-hhmm
-- +/-hh
-
-Where it Differs From ISO 8601
-==============================
-
-Known differences from the ISO 8601 spec:
-
-- You can use a " " (space) instead of T for separating date from time.
-- Days and months without a leading 0 (2 vs 02) will be parsed.
-- If time zone information is omitted the default time zone given is used (which in turn defaults to UTC). Use a default of None to yield naive datetime instances.
-
-Homepage
-========
-
-- Documentation: http://pyiso8601.readthedocs.org/
-- Source: https://bitbucket.org/micktwomey/pyiso8601/
-
-This was originally hosted at https://code.google.com/p/pyiso8601/
-
-References
-==========
-
-- http://en.wikipedia.org/wiki/ISO_8601
-
-- http://www.cl.cam.ac.uk/~mgk25/iso-time.html - simple overview
-
-- http://hydracen.com/dx/iso8601.htm - more detailed enumeration of valid formats.
-
-Testing
-=======
-
-1. pip install -r dev-requirements.txt
-2. tox
-
-Note that you need all the pythons installed to perform a tox run (see below). Homebrew helps a lot on the mac, however you wind up having to add cellars to your PATH or symlinking the pythonX.Y executables.
-
-Alternatively, to test only with your current python:
-
-1. pip install -r dev-requirements.txt
-2. py.test --verbose iso8601
-
-Supported Python Versions
-=========================
-
-Tested against:
-
-- Python 2.6
-- Python 2.7
-- Python 3.2
-- Python 3.3
-- Python 3.4
--
Samba Shared Repository
More information about the samba-cvs
mailing list