This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SQLObject development repository".
The branch, master has been updated
via 6f143c27b70eaf624e64272f2851e9e23cc06ee2 (commit)
via 73ffdca9970cde63e66636335e6161e73a48ad84 (commit)
via 27239030fc3098b9653b036f8f95cb17460bcd71 (commit)
via ed8dd808114faace25c01ead78ae83f2ca09ceb9 (commit)
via fb39c1809498fbb93e5e6dbf23391b8aaaa7efc0 (commit)
via 805632876ff07142ed0f71b4b557a878e805d370 (commit)
via 11247f12ca31106288caf51fdf2cb1b2de92dd6b (commit)
via a591c0b9d137ccfc2e5b9dddd744392ca1e45d86 (commit)
via e7b379f442a5aa8071076fd3438e9a56c0fb8eed (commit)
via b6d0201febccc7895e398b548d8c2f60e8ead1d1 (commit)
via 3635f444399c34e256dba87687e6ab657e85447a (commit)
via ed106ef2c461ea31387f9597d6f17d934c3eebd0 (commit)
via ff4154781fa1cd4befdcfdefca9604461a3566cf (commit)
via 1b9aff1e6983b4e3f708933884333d8cc93512ec (commit)
via 48b1521d3fd55fb1bd968d6fdd34656e471004b1 (commit)
via 3a4e35f61d6779c555032b8fd70dddef1dcec7f0 (commit)
via 6d5d0c200b8428b009a35d8f4c5912413e5db7c6 (commit)
via ac96456b98cbb0e95a3bdafab263d3f59e7d8e77 (commit)
via 470c8f43e956d34a500e18d9fe428c16927cabd2 (commit)
via 7ccfeb89506ef301ec11253d3fed550e39ab6278 (commit)
via a80792d2a52980ddc644c728f4c968f2015dd2d7 (commit)
via f2e34acc8dd32ef00f28275c4bca044e9ca03d05 (commit)
via 5a9174719f50e03caec767209b239fd0e2caf5c6 (commit)
from 270dd73d1d0a6db0abc453bf74743189151d8a08 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/6f143c27b70eaf624e64272f2851e9e23cc06ee2
commit 6f143c27b70eaf624e64272f2851e9e23cc06ee2
Author: Oleg Broytman <ph...@ph...>
Date: Tue Dec 15 17:10:24 2020 +0300
Prepare for the next release
diff --git a/ANNOUNCE.rst b/ANNOUNCE.rst
index 36371d0..7287250 100644
--- a/ANNOUNCE.rst
+++ b/ANNOUNCE.rst
@@ -1,40 +1,25 @@
Hello!
-I'm pleased to announce version 3.9.0, the first release
-of branch 3.9 of SQLObject.
+I'm pleased to announce version 3.9.1a1, the first alpha of the upcoming
+release of branch 3.9 of SQLObject.
+I'm pleased to announce version 3.9.1a2, the second alpha of the upcoming
+release of branch 3.9 of SQLObject.
-What's new in SQLObject
-=======================
-
-Contributors for this release are:
-
-+ Michael S. Root, Ameya Bapat - ``JSONCol``;
-
-+ Jerry Nance - reported a bug with ``DateTime`` from ``Zope``.
+I'm pleased to announce version 3.9.1b1, the first beta of the upcoming
+release of branch 3.9 of SQLObject.
-Features
---------
+I'm pleased to announce version 3.9.1rc1, the first release candidate
+of the upcoming release of branch 3.9 of SQLObject.
-* Add ``JSONCol``: a universal json column that converts simple Python objects
- (None, bool, int, float, long, dict, list, str/unicode to/from JSON using
- json.dumps/loads. A subclass of StringCol. Requires ``VARCHAR``/``TEXT``
- columns at backends, doesn't work with ``JSON`` columns.
+I'm pleased to announce version 3.9.1, the first bugfix release of branch
+3.9 of SQLObject.
-* Extend/fix support for ``DateTime`` from ``Zope``.
-* Drop support for very old version of ``mxDateTime``
- without ``mx.`` namespace.
-
-Drivers
--------
-
-* Support `mariadb <https://pypi.org/project/mariadb/>`_.
-
-CI
---
+What's new in SQLObject
+=======================
-* Run tests with Python 3.9 at Travis and AppVeyor.
+Contributors for this release are
For a more complete list, please see the news:
http://sqlobject.org/News.html
@@ -47,9 +32,9 @@ SQLObject is an object-relational mapper. Your database tables are described
as classes, and rows are instances of those classes. SQLObject is meant to be
easy to use and quick to get started with.
-It currently supports MySQL, PostgreSQL and SQLite; connections to other
-backends - Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB) - are
-lesser debugged).
+SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite;
+connections to other backends - Firebird, Sybase, MSSQL
+and MaxDB (also known as SAPDB) - are lesser debugged).
Python 2.7 or 3.4+ is required.
@@ -67,7 +52,7 @@ Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss
Download:
-https://pypi.org/project/SQLObject/3.9.0
+https://pypi.org/project/SQLObject/3.9.1a0.dev20201215/
News and changes:
http://sqlobject.org/News.html
diff --git a/README.rst b/README.rst
index cd66ddf..2442b67 100644
--- a/README.rst
+++ b/README.rst
@@ -1,5 +1,5 @@
-SQLObject 3.9.0
-===============
+SQLObject 3.9.1a0
+=================
Thanks for looking at SQLObject. SQLObject is an object-relational
mapper, i.e., a library that will wrap your database tables in Python
diff --git a/docs/News.rst b/docs/News.rst
index e1e5916..5d5b066 100644
--- a/docs/News.rst
+++ b/docs/News.rst
@@ -5,6 +5,9 @@ News
.. contents:: Contents:
:backlinks: none
+SQLObject (master)
+==================
+
SQLObject 3.9.0
===============
http://sourceforge.net/p/sqlobject/sqlobject/ci/73ffdca9970cde63e66636335e6161e73a48ad84
commit 73ffdca9970cde63e66636335e6161e73a48ad84
Author: Oleg Broytman <ph...@ph...>
Date: Tue Dec 15 16:56:18 2020 +0300
Release 3.9.0
diff --git a/ANNOUNCE.rst b/ANNOUNCE.rst
index 9beb8c9..36371d0 100644
--- a/ANNOUNCE.rst
+++ b/ANNOUNCE.rst
@@ -1,25 +1,40 @@
Hello!
-I'm pleased to announce version 3.8.1a1, the first alpha of the upcoming
-release of branch 3.8 of SQLObject.
+I'm pleased to announce version 3.9.0, the first release
+of branch 3.9 of SQLObject.
-I'm pleased to announce version 3.8.1a2, the second alpha of the upcoming
-release of branch 3.8 of SQLObject.
-I'm pleased to announce version 3.8.1b1, the first beta of the upcoming
-release of branch 3.8 of SQLObject.
+What's new in SQLObject
+=======================
-I'm pleased to announce version 3.8.1rc1, the first release candidate
-of the upcoming release of branch 3.8 of SQLObject.
+Contributors for this release are:
-I'm pleased to announce version 3.8.2, the first bugfix release of branch
-3.8 of SQLObject.
++ Michael S. Root, Ameya Bapat - ``JSONCol``;
++ Jerry Nance - reported a bug with ``DateTime`` from ``Zope``.
-What's new in SQLObject
-=======================
+Features
+--------
+
+* Add ``JSONCol``: a universal json column that converts simple Python objects
+ (None, bool, int, float, long, dict, list, str/unicode to/from JSON using
+ json.dumps/loads. A subclass of StringCol. Requires ``VARCHAR``/``TEXT``
+ columns at backends, doesn't work with ``JSON`` columns.
+
+* Extend/fix support for ``DateTime`` from ``Zope``.
+
+* Drop support for very old version of ``mxDateTime``
+ without ``mx.`` namespace.
+
+Drivers
+-------
+
+* Support `mariadb <https://pypi.org/project/mariadb/>`_.
+
+CI
+--
-Contributors for this release are
+* Run tests with Python 3.9 at Travis and AppVeyor.
For a more complete list, please see the news:
http://sqlobject.org/News.html
@@ -32,8 +47,9 @@ SQLObject is an object-relational mapper. Your database tables are described
as classes, and rows are instances of those classes. SQLObject is meant to be
easy to use and quick to get started with.
-SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
-Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).
+It currently supports MySQL, PostgreSQL and SQLite; connections to other
+backends - Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB) - are
+lesser debugged).
Python 2.7 or 3.4+ is required.
@@ -51,7 +67,7 @@ Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss
Download:
-https://pypi.org/project/SQLObject/3.8.2a0.dev20201001/
+https://pypi.org/project/SQLObject/3.9.0
News and changes:
http://sqlobject.org/News.html
diff --git a/README.rst b/README.rst
index a0f632d..cd66ddf 100644
--- a/README.rst
+++ b/README.rst
@@ -1,13 +1,15 @@
-SQLObject 3.8.2a0
-=================
+SQLObject 3.9.0
+===============
Thanks for looking at SQLObject. SQLObject is an object-relational
mapper, i.e., a library that will wrap your database tables in Python
classes, and your rows in Python instances.
-It currently supports MySQL through the `MySQLdb` package, PostgreSQL
-through the `psycopg` package, SQLite, Firebird, MaxDB (SAP DB), MS SQL,
-and Sybase. Python 2.7 or 3.4+ is required.
+It currently supports MySQL, PostgreSQL and SQLite; connections to other
+backends - Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB) - are
+lesser debugged).
+
+Python 2.7 or 3.4+ is required.
For more information please see the documentation in
`<docs/SQLObject.rst>`_, or online at http://sqlobject.org/
diff --git a/devscripts/build-all-docs b/devscripts/build-all-docs
index 4eab620..1f21c9a 100755
--- a/devscripts/build-all-docs
+++ b/devscripts/build-all-docs
@@ -10,7 +10,7 @@ cd "`dirname \"$0\"`" &&
PROG_DIR="`pwd`" &&
cd .. &&
-build_docs 3.8.1 &&
+build_docs 3.9.0 &&
build_docs master devel &&
rm -rf docs/html &&
diff --git a/docs/News.rst b/docs/News.rst
index 253ef84..e1e5916 100644
--- a/docs/News.rst
+++ b/docs/News.rst
@@ -5,8 +5,10 @@ News
.. contents:: Contents:
:backlinks: none
-SQLObject (master)
-==================
+SQLObject 3.9.0
+===============
+
+Released 2020 Dec 15.
Features
--------
@@ -24,7 +26,7 @@ Features
Drivers
-------
-* Support ``mariadb``.
+* Support `mariadb <https://pypi.org/project/mariadb/>`_.
CI
--
diff --git a/sqlobject/__version__.py b/sqlobject/__version__.py
index 579bdd6..f133a87 100644
--- a/sqlobject/__version__.py
+++ b/sqlobject/__version__.py
@@ -1,8 +1,8 @@
-version = '3.8.1'
+version = '3.9.0'
major = 3
-minor = 8
-micro = 1
+minor = 9
+micro = 0
release_level = 'final'
serial = 0
version_info = (major, minor, micro, release_level, serial)
http://sourceforge.net/p/sqlobject/sqlobject/ci/27239030fc3098b9653b036f8f95cb17460bcd71
commit 27239030fc3098b9653b036f8f95cb17460bcd71
Author: Oleg Broytman <ph...@ph...>
Date: Mon Dec 14 01:14:16 2020 +0300
Test(tox): Do not restore `validators.py`
It seems we no longer need the hack at AppVeyor.
diff --git a/devscripts/CI/validators.py b/devscripts/CI/validators.py
deleted file mode 100644
index 233d5dd..0000000
--- a/devscripts/CI/validators.py
+++ /dev/null
@@ -1,3089 +0,0 @@
-## FormEncode, a Form processor
-## Copyright (C) 2003, Ian Bicking <ia...@co...>
-
-"""
-Validator/Converters for use with FormEncode.
-"""
-
-import cgi
-import locale
-import re
-import warnings
-from encodings import idna
-
-try: # import dnspython
- import dns.resolver
- import dns.exception
-except (IOError, ImportError):
- have_dns = False
-else:
- have_dns = True
-
-
-# These are only imported when needed
-httplib = None
-random = None
-sha1 = None
-socket = None
-urlparse = None
-
-from .api import (FancyValidator, Identity, Invalid, NoDefault, Validator,
- deprecation_warning, is_empty)
-
-assert Identity and Invalid and NoDefault # silence unused import warnings
-
-# Dummy i18n translation function, nothing is translated here.
-# Instead this is actually done in api.message.
-# The surrounding _('string') of the strings is only for extracting
-# the strings automatically.
-# If you run pygettext with this source comment this function out temporarily.
-_ = lambda s: s
-
-
-############################################################
-## Utility methods
-############################################################
-
-# These all deal with accepting both datetime and mxDateTime modules and types
-datetime_module = None
-mxDateTime_module = None
-
-
-def import_datetime(module_type):
- global datetime_module, mxDateTime_module
- module_type = module_type.lower() if module_type else 'datetime'
- if module_type == 'datetime':
- if datetime_module is None:
- import datetime as datetime_module
- return datetime_module
- elif module_type == 'mxdatetime':
- if mxDateTime_module is None:
- from mx import DateTime as mxDateTime_module
- return mxDateTime_module
- else:
- raise ImportError('Invalid datetime module %r' % module_type)
-
-
-def datetime_now(module):
- if module.__name__ == 'datetime':
- return module.datetime.now()
- else:
- return module.now()
-
-
-def datetime_makedate(module, year, month, day):
- if module.__name__ == 'datetime':
- return module.date(year, month, day)
- else:
- try:
- return module.DateTime(year, month, day)
- except module.RangeError as e:
- raise ValueError(str(e))
-
-
-def datetime_time(module):
- if module.__name__ == 'datetime':
- return module.time
- else:
- return module.Time
-
-
-def datetime_isotime(module):
- if module.__name__ == 'datetime':
- return module.time.isoformat
- else:
- return module.ISO.Time
-
-
-############################################################
-## Wrapper Validators
-############################################################
-
-class ConfirmType(FancyValidator):
- """
- Confirms that the input/output is of the proper type.
-
- Uses the parameters:
-
- subclass:
- The class or a tuple of classes; the item must be an instance
- of the class or a subclass.
- type:
- A type or tuple of types (or classes); the item must be of
- the exact class or type. Subclasses are not allowed.
-
- Examples::
-
- >>> cint = ConfirmType(subclass=int)
- >>> cint.to_python(True)
- True
- >>> cint.to_python('1')
- Traceback (most recent call last):
- ...
- Invalid: '1' is not a subclass of <type 'int'>
- >>> cintfloat = ConfirmType(subclass=(float, int))
- >>> cintfloat.to_python(1.0), cintfloat.from_python(1.0)
- (1.0, 1.0)
- >>> cintfloat.to_python(1), cintfloat.from_python(1)
- (1, 1)
- >>> cintfloat.to_python(None)
- Traceback (most recent call last):
- ...
- Invalid: None is not a subclass of one of the types <type 'float'>, <type 'int'>
- >>> cint2 = ConfirmType(type=int)
- >>> cint2(accept_python=False).from_python(True)
- Traceback (most recent call last):
- ...
- Invalid: True must be of the type <type 'int'>
- """
-
- accept_iterator = True
-
- subclass = None
- type = None
-
- messages = dict(
- subclass=_('%(object)r is not a subclass of %(subclass)s'),
- inSubclass=_('%(object)r is not a subclass of one of the types %(subclassList)s'),
- inType=_('%(object)r must be one of the types %(typeList)s'),
- type=_('%(object)r must be of the type %(type)s'))
-
- def __init__(self, *args, **kw):
- FancyValidator.__init__(self, *args, **kw)
- if self.subclass:
- if isinstance(self.subclass, list):
- self.subclass = tuple(self.subclass)
- elif not isinstance(self.subclass, tuple):
- self.subclass = (self.subclass,)
- self._validate_python = self.confirm_subclass
- if self.type:
- if isinstance(self.type, list):
- self.type = tuple(self.type)
- elif not isinstance(self.type, tuple):
- self.type = (self.type,)
- self._validate_python = self.confirm_type
-
- def confirm_subclass(self, value, state):
- if not isinstance(value, self.subclass):
- if len(self.subclass) == 1:
- msg = self.message('subclass', state, object=value,
- subclass=self.subclass[0])
- else:
... 5086 lines suppressed ...
hooks/post-receive
--
SQLObject development repository
|