sqlobject-cvs Mailing List for SQLObject (Page 4)
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
(9) |
Apr
(74) |
May
(29) |
Jun
(16) |
Jul
(28) |
Aug
(10) |
Sep
(57) |
Oct
(9) |
Nov
(29) |
Dec
(12) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(7) |
Feb
(14) |
Mar
(6) |
Apr
(3) |
May
(12) |
Jun
(34) |
Jul
(9) |
Aug
(29) |
Sep
(22) |
Oct
(2) |
Nov
(15) |
Dec
(52) |
2005 |
Jan
(47) |
Feb
(78) |
Mar
(14) |
Apr
(35) |
May
(33) |
Jun
(16) |
Jul
(26) |
Aug
(63) |
Sep
(40) |
Oct
(96) |
Nov
(96) |
Dec
(123) |
2006 |
Jan
(159) |
Feb
(144) |
Mar
(64) |
Apr
(31) |
May
(88) |
Jun
(48) |
Jul
(16) |
Aug
(64) |
Sep
(87) |
Oct
(92) |
Nov
(56) |
Dec
(76) |
2007 |
Jan
(94) |
Feb
(103) |
Mar
(126) |
Apr
(123) |
May
(85) |
Jun
(11) |
Jul
(130) |
Aug
(47) |
Sep
(65) |
Oct
(70) |
Nov
(12) |
Dec
(11) |
2008 |
Jan
(30) |
Feb
(55) |
Mar
(88) |
Apr
(20) |
May
(50) |
Jun
|
Jul
(38) |
Aug
(1) |
Sep
(9) |
Oct
(5) |
Nov
(6) |
Dec
(39) |
2009 |
Jan
(8) |
Feb
(16) |
Mar
(3) |
Apr
(33) |
May
(44) |
Jun
(1) |
Jul
(10) |
Aug
(33) |
Sep
(74) |
Oct
(22) |
Nov
|
Dec
(15) |
2010 |
Jan
(28) |
Feb
(22) |
Mar
(46) |
Apr
(29) |
May
(1) |
Jun
(1) |
Jul
(27) |
Aug
(8) |
Sep
(5) |
Oct
(33) |
Nov
(24) |
Dec
(41) |
2011 |
Jan
(4) |
Feb
(12) |
Mar
(35) |
Apr
(29) |
May
(19) |
Jun
(16) |
Jul
(32) |
Aug
(25) |
Sep
(5) |
Oct
(11) |
Nov
(21) |
Dec
(12) |
2012 |
Jan
(3) |
Feb
(4) |
Mar
(20) |
Apr
(4) |
May
(25) |
Jun
(13) |
Jul
|
Aug
|
Sep
(2) |
Oct
(25) |
Nov
(9) |
Dec
(1) |
2013 |
Jan
(6) |
Feb
(8) |
Mar
|
Apr
(10) |
May
(31) |
Jun
(7) |
Jul
(18) |
Aug
(33) |
Sep
(4) |
Oct
(16) |
Nov
|
Dec
(27) |
2014 |
Jan
(2) |
Feb
|
Mar
|
Apr
(11) |
May
(39) |
Jun
(8) |
Jul
(11) |
Aug
(4) |
Sep
|
Oct
(27) |
Nov
|
Dec
(71) |
2015 |
Jan
(17) |
Feb
(47) |
Mar
(33) |
Apr
|
May
|
Jun
(9) |
Jul
(7) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(8) |
2016 |
Jan
(4) |
Feb
(4) |
Mar
|
Apr
|
May
(12) |
Jun
(7) |
Jul
(9) |
Aug
(31) |
Sep
(8) |
Oct
(3) |
Nov
(15) |
Dec
(1) |
2017 |
Jan
(13) |
Feb
(7) |
Mar
(14) |
Apr
(8) |
May
(10) |
Jun
(4) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
(8) |
Nov
(4) |
Dec
(5) |
2018 |
Jan
(2) |
Feb
(8) |
Mar
|
Apr
(4) |
May
|
Jun
(6) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
2019 |
Jan
(1) |
Feb
(16) |
Mar
(1) |
Apr
(3) |
May
(5) |
Jun
(1) |
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
(1) |
Dec
(3) |
2020 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(2) |
Nov
|
Dec
(2) |
2021 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(6) |
Oct
(1) |
Nov
(1) |
Dec
(4) |
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(3) |
Sep
(2) |
Oct
(2) |
Nov
(4) |
Dec
|
2024 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
(9) |
2025 |
Jan
|
Feb
(4) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Oleg B. <no...@so...> - 2019-02-11 20:29:52
|
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 8cf109f4bc7084e6a177a4c4893c3cc90c4c8d95 (commit) via d7ce8c4ae274bfc08e711f8a6f840252758f930b (commit) via 362e10795e5a589be9342498f4bd79820a9de836 (commit) via 463502a84c3540addbd47c4f0110430f0c42ea20 (commit) via c021e99dfde5794d3cee318bb9b93e0a05dfbff6 (commit) from 430bb09733f96084463e24ec132200df0bfebee7 (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/8cf109f4bc7084e6a177a4c4893c3cc90c4c8d95 commit 8cf109f4bc7084e6a177a4c4893c3cc90c4c8d95 Author: Oleg Broytman <ph...@ph...> Date: Mon Feb 11 23:01:12 2019 +0300 Feat(compat): Use imp for Python 2, importlib for Python 3 The code in `sqlobject/compat.py` is still outdated and should be updated for Python 3.5. diff --git a/sqlobject/compat.py b/sqlobject/compat.py index 18aba9d..a5a379c 100644 --- a/sqlobject/compat.py +++ b/sqlobject/compat.py @@ -1,3 +1,4 @@ +import os import sys import types @@ -29,3 +30,21 @@ else: unicode_type = str class_types = (type,) buffer_type = memoryview + +if PY2: + import imp + + def load_module_from_file(base_name, module_name, filename): + fp, pathname, stuff = imp.find_module( + base_name, [os.path.dirname(filename)]) + try: + module = imp.load_module(module_name, fp, pathname, stuff) + finally: + fp.close() + return module +else: + import importlib.util + + def load_module_from_file(base_name, module_name, filename): + specs = importlib.util.spec_from_file_location(module_name, filename) + return specs.loader.load_module() diff --git a/sqlobject/tests/test_compat.py b/sqlobject/tests/test_compat.py new file mode 100644 index 0000000..3b5fc65 --- /dev/null +++ b/sqlobject/tests/test_compat.py @@ -0,0 +1,10 @@ +from sqlobject.compat import load_module_from_file + + +def test_load_module_from_path(): + module = load_module_from_file( + 'test_compat', 'sqlobject.tests.test_compat', __file__ + ) + assert module.__file__ == __file__ + assert module.__name__ == 'sqlobject.tests.test_compat' + assert module.__package__ == 'sqlobject.tests' diff --git a/sqlobject/util/moduleloader.py b/sqlobject/util/moduleloader.py index bbb8d0c..ee7fb2e 100644 --- a/sqlobject/util/moduleloader.py +++ b/sqlobject/util/moduleloader.py @@ -1,6 +1,6 @@ -import imp import os import sys +from sqlobject.compat import load_module_from_file def load_module(module_name): @@ -24,7 +24,6 @@ def load_module_from_name(filename, module_name): % (os.path.dirname(filename), e)) f.write('#\n') f.close() - fp = None if module_name in sys.modules: return sys.modules[module_name] if '.' in module_name: @@ -33,12 +32,4 @@ def load_module_from_name(filename, module_name): load_module_from_name(os.path.dirname(filename), parent_name) else: base_name = module_name - fp = None - try: - fp, pathname, stuff = imp.find_module( - base_name, [os.path.dirname(filename)]) - module = imp.load_module(module_name, fp, pathname, stuff) - finally: - if fp is not None: - fp.close() - return module + return load_module_from_file(base_name, module_name, filename) http://sourceforge.net/p/sqlobject/sqlobject/ci/d7ce8c4ae274bfc08e711f8a6f840252758f930b commit d7ce8c4ae274bfc08e711f8a6f840252758f930b Author: Oleg Broytman <ph...@ph...> Date: Thu Feb 7 17:24:16 2019 +0300 CI(travis): remove deprecated `sudo` keyword diff --git a/.travis.yml b/.travis.yml index 26512db..4f375a4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,9 +4,6 @@ branches: only: - master -# Prefer docker container with setuid/sudo -sudo: required - language: python python: http://sourceforge.net/p/sqlobject/sqlobject/ci/362e10795e5a589be9342498f4bd79820a9de836 commit 362e10795e5a589be9342498f4bd79820a9de836 Author: Oleg Broytman <ph...@ph...> Date: Thu Feb 7 16:44:52 2019 +0300 Build(setup.py): Use `importlib` instead of deprecated `imp` for Python 3.4+ diff --git a/setup.py b/setup.py index 8802c9f..8ef5c81 100755 --- a/setup.py +++ b/setup.py @@ -1,8 +1,24 @@ #!/usr/bin/env python -from imp import load_source from os.path import abspath, dirname, join from setuptools import setup +import sys + +if sys.version_info[:2] == (2, 7): + from imp import load_source + +elif sys.version_info >= (3, 4): + from importlib.machinery import SourceFileLoader + import types + + def load_source(fullname, path): + loader = SourceFileLoader(fullname, path) + loaded = types.ModuleType(loader.name) + loader.exec_module(loaded) + return loaded + +else: + raise ImportError("SQLObject requires Python 2.7 or 3.4+") versionpath = join(abspath(dirname(__file__)), "sqlobject", "__version__.py") sqlobject_version = load_source("sqlobject_version", versionpath) http://sourceforge.net/p/sqlobject/sqlobject/ci/463502a84c3540addbd47c4f0110430f0c42ea20 commit 463502a84c3540addbd47c4f0110430f0c42ea20 Author: Oleg Broytman <ph...@ph...> Date: Thu Feb 7 09:06:12 2019 +0300 Build(devscripts): Run the scripts directly from devscripts/ subdir [skip ci] diff --git a/devscripts/BRANCH-CHECKLIST b/devscripts/BRANCH-CHECKLIST index 0357e27..da9c16a 100644 --- a/devscripts/BRANCH-CHECKLIST +++ b/devscripts/BRANCH-CHECKLIST @@ -1,8 +1,8 @@ 0. Run full test suite in master. Continue if all tests passed. -1. If the branching point is master run ../branch $NEW_BRANCH. If it's -not master run ../branch $NEW_BRANCH $TREEISH, where $TREEISH is -a branch, a commit id or a tag. +1. If the branching point is master run devscripts/branch $NEW_BRANCH. If + it's not master run devscripts/branch $NEW_BRANCH $TREEISH, where + $TREEISH is a branch, a commit id or a tag. 1a. The script creates a new branch and calls editor; edit README.rst, __version__.py and News.rst in the branch - set version. In @@ -20,11 +20,11 @@ a branch, a commit id or a tag. 2. To deprecate a version of Python edit files ANNOUNCE.rst, README.rst, devscripts/release, devscripts/setup, docs/News.rst, docs/SQLObject.rst, - docs/TODO.rst, requirements.txt, setup.py, sqlobject/main.py, - tox.ini in master. Edit metadata at SourceForge. + docs/TODO.rst, requirements.txt, setup.py, sqlobject/main.py, tox.ini in + master. Edit metadata at SourceForge. 3. Do a null-merge from the new branch to the higher branch or the master. -4. Run ../push-all to push all branches and tags to the public +4. Run devscripts/push-all to push all branches and tags to the public repositories. diff --git a/devscripts/RELEASE-CHECKLIST b/devscripts/RELEASE-CHECKLIST index e6949c4..e85de5e 100644 --- a/devscripts/RELEASE-CHECKLIST +++ b/devscripts/RELEASE-CHECKLIST @@ -4,8 +4,8 @@ 1. Check out the release branch. If it is a stable release - edit docs/News.rst to set release date. Commit. -2. If release branch is not master - run ../prerelease $NEW_TAG; if it's - master - run ../prerelease $NEW_TAG master. +2. If release branch is not master - run devscripts/prerelease $NEW_TAG; if + it's master - run devscripts/prerelease $NEW_TAG master. The script checks out the release branch and calls editor; update version, the list of contributors, the list of changes and download @@ -24,28 +24,28 @@ 3. If it's not master - null-merge to the next higher branch. -4. If release branch is not master - run ../prerelease-tag $NEW_TAG; if - it's master - run ../prerelease-tag $NEW_TAG master. This checks out - the release branch and creates the new tag at the head of the release - branch. +4. If release branch is not master - run devscripts/prerelease-tag + $NEW_TAG; if it's master - run devscripts/prerelease-tag $NEW_TAG + master. This checks out the release branch and creates the new tag at + the head of the release branch. -5. Run ../release. This generates and uploads new archives to PyPI and - if it is a stable release - uploads archives and release announcement - (ANNOUNCE.rst) to SourceForge. +5. Run devscripts/release. This generates and uploads new archives to PyPI + and if it is a stable release - uploads archives and release + announcement (ANNOUNCE.rst) to SourceForge. 6. Move old releases at SourceForge to subdirectory OldFiles. -7. Run ../push-all in the development repository to push all branches - and tags to the public repositories. +7. Run devscripts/push-all in the development repository to push all + branches and tags to the public repositories. -8. Run ../postrelease. The script restores ANNOUNCE.rst and setup.cfg - from the previous commit (HEAD~). It calls editor; update next version, - remove the list of contributors and the list of changes, edit download - URL in ANNOUNCE.rst. Edit README.rst and docs/News.rst - add new - version. +8. Run devscripts/postrelease. The script restores ANNOUNCE.rst and + setup.cfg from the previous commit (HEAD~). It calls editor; update next + version, remove the list of contributors and the list of changes, edit + download URL in ANNOUNCE.rst. Edit README.rst and docs/News.rst - add + new version. -9. Generate new docs using ./build-all-docs. Upload docs using - ./publish-docs. +9. Generate new docs using devscripts/build-all-docs. Upload docs using + devscripts/publish-docs. 10. Send announcement to the SQLObject mailing list. For a stable release send announcements to python, python-announce and python-db diff --git a/devscripts/build-all-docs b/devscripts/build-all-docs index 3f90528..746018a 100755 --- a/devscripts/build-all-docs +++ b/devscripts/build-all-docs @@ -2,15 +2,14 @@ build_docs() { git checkout "$1" && - ../build-docs && + devscripts/build-docs && rsync -ahP --del --exclude=/robots.txt docs/html/ ../SQLObject-docs/"$2"/ } -PROG_DIR="`dirname \"$0\"`" && -cd "$PROG_DIR" && +cd "`dirname \"$0\"`" && PROG_DIR="`pwd`" && -cd "$PROG_DIR"/SQLObject && +cd .. && build_docs 3.7.1 && build_docs master devel && rm -rf docs/html && diff --git a/devscripts/build-docs b/devscripts/build-docs index 8f9895b..dcd94d8 100755 --- a/devscripts/build-docs +++ b/devscripts/build-docs @@ -1,5 +1,4 @@ #! /bin/sh -cd "`dirname \"$0\"`"/SQLObject && -cd docs && +cd "`dirname \"$0\"`"/../docs && exec ./rebuild diff --git a/devscripts/cleanup b/devscripts/cleanup index 19fdb46..77e348b 100755 --- a/devscripts/cleanup +++ b/devscripts/cleanup @@ -1,5 +1,5 @@ #! /bin/sh -cd "`dirname $0`" && +cd "`dirname $0`"/../.. && find . \( -name \*.orig -o -name \*.rej -o -name \*.tmp -o -name \*.log \) -type f -delete && exec rm -f /tmp/test-sqlite.sqdb* diff --git a/devscripts/flake8/run b/devscripts/flake8/run index 2000dd6..ee82ca2 100755 --- a/devscripts/flake8/run +++ b/devscripts/flake8/run @@ -1,5 +1,5 @@ #! /bin/sh -flake8 ../SQLObject | sort >all-results && +flake8 ../.. | sort >all-results && awk '{print $2}' all-results | sort | uniq -c | sort -k 1,1nr -k 2,2 >sort-by-lines diff --git a/devscripts/publish-docs b/devscripts/publish-docs index 1ecdc50..f69df59 100755 --- a/devscripts/publish-docs +++ b/devscripts/publish-docs @@ -1,5 +1,5 @@ #! /bin/sh -cd "`dirname \"$0\"`"/SQLObject-docs && chmod -R a+rX . && +cd "`dirname \"$0\"`"/../../SQLObject-docs && chmod -R a+rX . && exec rsync -hlrtP4 --del . \ web.sourceforge.net:/home/project-web/sqlobject/htdocs/ diff --git a/devscripts/release b/devscripts/release index a329be3..35154c9 100755 --- a/devscripts/release +++ b/devscripts/release @@ -1,11 +1,11 @@ #! /bin/sh -cd "`dirname \"$0\"`"/SQLObject && +cd "`dirname \"$0\"`"/.. && umask 022 && chmod -R a+rX . && set-commit-date.py && -../build-docs && +devscripts/build-docs && python setup.py build_py && python setup.py build --executable '/usr/bin/env python' && @@ -21,7 +21,7 @@ split_tag $version if [ "$state" = final ]; then rsync -ahP4 dist/* frs.sourceforge.net:/home/frs/project/sqlobject/sqlobject/"$version"/ && rsync -ahP4 ANNOUNCE.rst frs.sourceforge.net:/home/frs/project/sqlobject/sqlobject/"$version"/README.rst || exit 1 - ../sftp-frs + devscripts/sftp-frs fi && twine upload --skip-existing dist/* && diff --git a/devscripts/setup b/devscripts/setup index c85aae0..04ed1b7 100755 --- a/devscripts/setup +++ b/devscripts/setup @@ -1,7 +1,7 @@ #! /bin/sh umask 022 # -rwxr-xr-x -cd "`dirname \"$0\"`"/SQLObject && +cd "`dirname \"$0\"`"/.. && for py_ver in 2.7 3.4 3.5 3.6 3.7; do python$py_ver -m pip install --install-option=-O2 --upgrade . http://sourceforge.net/p/sqlobject/sqlobject/ci/c021e99dfde5794d3cee318bb9b93e0a05dfbff6 commit c021e99dfde5794d3cee318bb9b93e0a05dfbff6 Author: Oleg Broytman <ph...@ph...> Date: Thu Feb 7 08:54:42 2019 +0300 Tests: Remove devscripts/run-*; we have been using tox [skip ci] diff --git a/devscripts/run-all-tests b/devscripts/run-all-tests deleted file mode 100755 index 2e67aaa..0000000 --- a/devscripts/run-all-tests +++ /dev/null @@ -1,13 +0,0 @@ -#! /bin/sh - -cd "`dirname \"$0\"`"/SQLObject && -SO_DIR="`dirname $0`" - -for py_ver in 2.7 3.4 3.5 3.6 3.7; do - echo "---------- PYTHON $py_ver "$1" ----------" - "$SO_DIR"/cleanup && - PY_VER=$py_ver "$SO_DIR"/run-tests-"$1" \ - sqlobject/tests/test_*.py sqlobject/inheritance/tests/test_*.py \ - sqlobject/versioning/test/test_*.py || exit 1 -done -echo "---------- 'DONE!' ----------" diff --git a/devscripts/run-all-tests-ALL b/devscripts/run-all-tests-ALL deleted file mode 100755 index 1d2d813..0000000 --- a/devscripts/run-all-tests-ALL +++ /dev/null @@ -1,4 +0,0 @@ -#! /bin/sh - -"`dirname $0`"/run-all-tests-sqlite && -exec "`dirname $0`"/run-all-tests-pgsql diff --git a/devscripts/run-all-tests-pgsql b/devscripts/run-all-tests-pgsql deleted file mode 100755 index 283ee0c..0000000 --- a/devscripts/run-all-tests-pgsql +++ /dev/null @@ -1,2 +0,0 @@ -#! /bin/sh -exec "`dirname $0`"/run-all-tests pgsql diff --git a/devscripts/run-all-tests-sqlite b/devscripts/run-all-tests-sqlite deleted file mode 100755 index ffa4ba5..0000000 --- a/devscripts/run-all-tests-sqlite +++ /dev/null @@ -1,2 +0,0 @@ -#! /bin/sh -exec "`dirname $0`"/run-all-tests sqlite diff --git a/devscripts/run-tests b/devscripts/run-tests deleted file mode 100755 index b81141d..0000000 --- a/devscripts/run-tests +++ /dev/null @@ -1,22 +0,0 @@ -#! /bin/sh - -START_DIR="`pwd`" -CWD="$START_DIR" - -while [ ! -f setup.py -a "$CWD" != / ]; do - cd .. && CWD="`pwd`" || exit 1 -done -if [ ! -f setup.py ]; then - echo "Cannot find setup.py, abort" >&2 - exit 1 -fi -SO_DIR="$CWD" - -PYTHONPATH="$CWD" -export PYTHONPATH - -TESTDB_URI="$1" -shift - -cd "$START_DIR" && -exec python"$PY_VER" `which pytest` $PYTEST_OPTIONS -D "$TESTDB_URI" "$@" diff --git a/devscripts/run-tests-mysql-connector b/devscripts/run-tests-mysql-connector deleted file mode 100755 index d9ed817..0000000 --- a/devscripts/run-tests-mysql-connector +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/sh - -mysql -e 'create database sqlobject_test;' -"`dirname \"$0\"`/run-tests" 'mysql://localhost/sqlobject_test?driver=connector&charset=utf8&debug=1' "$@" -mysql -e 'drop database sqlobject_test;' diff --git a/devscripts/run-tests-mysqlclient b/devscripts/run-tests-mysqlclient deleted file mode 100755 index c99ca61..0000000 --- a/devscripts/run-tests-mysqlclient +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/sh - -mysql -e 'create database sqlobject_test;' -"`dirname \"$0\"`/run-tests" 'mysql://localhost/sqlobject_test?driver=mysqldb&charset=utf8&debug=1' "$@" -mysql -e 'drop database sqlobject_test;' diff --git a/devscripts/run-tests-mysqldb b/devscripts/run-tests-mysqldb deleted file mode 100755 index 65b7e7e..0000000 --- a/devscripts/run-tests-mysqldb +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/sh - -mysql -e 'create database sqlobject_test;' -"`dirname \"$0\"`/run-tests" 'mysql://localhost/sqlobject_test?driver=mysqldb&debug=1' "$@" -mysql -e 'drop database sqlobject_test;' diff --git a/devscripts/run-tests-oursql b/devscripts/run-tests-oursql deleted file mode 100755 index d01dfd6..0000000 --- a/devscripts/run-tests-oursql +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/sh - ... 126 lines suppressed ... hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2019-02-04 18:12:22
|
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 430bb09733f96084463e24ec132200df0bfebee7 (commit) from 1d4a2891843bd4c35b27ff6491d606cb00bbcc32 (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/430bb09733f96084463e24ec132200df0bfebee7 commit 430bb09733f96084463e24ec132200df0bfebee7 Author: Oleg Broytman <ph...@ph...> Date: Sun Feb 3 21:52:38 2019 +0300 CI: Require pip < 19.1 for Python 2.7 and 3.4 diff --git a/.travis.yml b/.travis.yml index d78da31..26512db 100644 --- a/.travis.yml +++ b/.travis.yml @@ -175,7 +175,7 @@ before_install: sudo chmod 644 /var/lib/firebird/create_test_db; fi -install: travis_retry pip install --upgrade pip setuptools tox coveralls codecov ppu +install: travis_retry pip install --upgrade "pip < 19.1" setuptools tox coveralls codecov ppu script: tox diff --git a/appveyor.yml b/appveyor.yml index 8530db4..dc63324 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -162,7 +162,7 @@ install: - "SET TOXPYTHON=%PYTHON_HOME%\\python.exe" - "python --version" - "python -c \"import struct; print(struct.calcsize('P') * 8)\"" - - "python -m pip install --upgrade pip setuptools" + - "python -m pip install --upgrade \"pip < 19.1\" setuptools" - "pip install --upgrade \"tox < 3.1\" ppu" - "pip --version" # List ODBC drivers ----------------------------------------------------------------------- Summary of changes: .travis.yml | 2 +- appveyor.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2019-02-02 20:43:50
|
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 1d4a2891843bd4c35b27ff6491d606cb00bbcc32 (commit) from 1bb8e3a7fe61d7065ac77395713b5ea003aa1233 (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/1d4a2891843bd4c35b27ff6491d606cb00bbcc32 commit 1d4a2891843bd4c35b27ff6491d606cb00bbcc32 Author: Oleg Broytman <ph...@ph...> Date: Sat Feb 2 23:35:42 2019 +0300 Build(release): Skip exiting files at PyPI [skip ci] diff --git a/devscripts/release b/devscripts/release index 9dcff1a..a329be3 100755 --- a/devscripts/release +++ b/devscripts/release @@ -24,5 +24,5 @@ if [ "$state" = final ]; then ../sftp-frs fi && -twine upload dist/* && +twine upload --skip-existing dist/* && exec rm -rf build dist docs/html SQLObject.egg-info ----------------------------------------------------------------------- Summary of changes: devscripts/release | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2019-02-02 17:57:39
|
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, pymssql-test has been deleted was 680b0669db4d1b9b9a55ec55db1c64ca1a9f72aa - Log ----------------------------------------------------------------- 680b0669db4d1b9b9a55ec55db1c64ca1a9f72aa CI: Run only pymssql tests ----------------------------------------------------------------------- hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2019-02-02 17:57:39
|
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, pyodbc-test has been deleted was 698bc1a84b41bc2ad901bd051a838838f8e7282c - Log ----------------------------------------------------------------- 698bc1a84b41bc2ad901bd051a838838f8e7282c CI: Run only 1 MSSQL ODBC test at AppVeyor ----------------------------------------------------------------------- hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2019-02-02 17:57:37
|
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 1bb8e3a7fe61d7065ac77395713b5ea003aa1233 (commit) from 928cf63ac5742258e3789f876392eeac52b2bc45 (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/1bb8e3a7fe61d7065ac77395713b5ea003aa1233 commit 1bb8e3a7fe61d7065ac77395713b5ea003aa1233 Author: Oleg Broytman <ph...@ph...> Date: Sat Feb 2 18:59:51 2019 +0300 Prepare for the next release [skip ci] diff --git a/ANNOUNCE.rst b/ANNOUNCE.rst index cab716c..84b0dcb 100644 --- a/ANNOUNCE.rst +++ b/ANNOUNCE.rst @@ -1,35 +1,28 @@ Hello! -I'm pleased to announce version 3.7.1, the first bugfix release of branch -3.7 of SQLObject. +I'm pleased to announce version 3.8.0a1, the first alpha of the upcoming +release of branch 3.8 of SQLObject. +I'm pleased to announce version 3.8.0a2, the second alpha of the upcoming +release of branch 3.8 of SQLObject. -What's new in SQLObject -======================= - -Contributor for this release is Neil Muller. - -Bug fixes ---------- +I'm pleased to announce version 3.8.0b1, the first beta of the upcoming +release of branch 3.8 of SQLObject. -* Fixed a unicode problem in the latest mysqlclient. +I'm pleased to announce version 3.8.0rc1, the first release candidate +of the upcoming release of branch 3.8 of SQLObject. -Documentation -------------- +I'm pleased to announce version 3.8.0, the first stable release of branch +3.8 of SQLObject. -* Exclude sqlmeta members from some of the api docs. - The inclusion of of these sqlmeta members in these files breaks - reproducible builds. +I'm pleased to announce version 3.8.1, the first bugfix release of branch +3.8 of SQLObject. -Development ------------ -* Source code was made flake8-clean using the latest flake8. - -CI --- +What's new in SQLObject +======================= -* Run tests with Python 3.7. +Contributors for this release are For a more complete list, please see the news: http://sqlobject.org/News.html @@ -61,7 +54,7 @@ Mailing list: https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss Download: -https://pypi.org/project/SQLObject/3.7.1/ +https://pypi.org/project/SQLObject/3.8.0a0.dev20190202/ News and changes: http://sqlobject.org/News.html diff --git a/README.rst b/README.rst index 13c8ff2..3e96729 100644 --- a/README.rst +++ b/README.rst @@ -1,4 +1,4 @@ -SQLObject 3.7.1 +SQLObject 3.8.0 =============== Thanks for looking at SQLObject. SQLObject is an object-relational diff --git a/setup.cfg b/setup.cfg index 2b534b3..af28274 100644 --- a/setup.cfg +++ b/setup.cfg @@ -4,6 +4,11 @@ universal = 1 [easy_install] optimize = 2 +[egg_info] +tag_build = +tag_date = 0 +tag_svn_revision = 0 + [flake8] exclude = .git,.tox,docs/europython/*.py,validators.py # E305: expected 2 blank lines after class or function definition, found 1 ----------------------------------------------------------------------- Summary of changes: ANNOUNCE.rst | 39 ++++++++++++++++----------------------- README.rst | 2 +- setup.cfg | 5 +++++ 3 files changed, 22 insertions(+), 24 deletions(-) hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2019-02-02 15:56:55
|
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 annotated tag, 3.7.1 has been created at 41a4757f9ebb4e051936c1e52e1699df1a8fb390 (tag) tagging 928cf63ac5742258e3789f876392eeac52b2bc45 (commit) replaces 3.7.0 tagged by Oleg Broytman on Sat Feb 2 18:51:53 2019 +0300 - Log ----------------------------------------------------------------- Release 3.7.1 -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEAXmp+v5763cG/OMobggLcLYoewMFAlxVvJkACgkQbggLcLYo ewPLNQ//dK9MuctiVryc60mcIoGEc6qtTiRtr2jz0PNPOKQtJvZTbpmdTH6W6fRa 7rV3hi03z+8I7uxd2gn/V07oqVTY1a4TO/uITjm+sdSxkdVMjGl24paYUjUVVRE9 J443PtUH10HKj7tv4GlXmwifHlanQiJ4hNBAcyvaszzdetUqShjFeWcnb+t6vNAp f7D8iO2oObNJ0rVyme2cVxuMcfEGZOO1GuPAIYh+dDyore1sE8GE2fz8nuBnrWYN 3VRh+sObNTqNNsFrxNL1bVVhmshWY+6AhrFdhr2NtTcmWSLDbViZ50ymZizJa0eA E3IssooG4VKnHCKdmQbIZq4KSqvIKfd9MrV0zwVLtUb2WXmejjJsmqw3YE+WxP26 UuR1IIMZY+KSKySo3kB3xi1EHyckJ2xO/lry5fqWvxid+Efec5l6NKhucv79y2qL CFM3V5fp0gjv85isnKAeGuNh4ZLB00IRN5l0VWECoiZaAPZYjlWZvaTXXjqVr/yV /l9T0IVsvc2yYz44Tp1HZd+gIXx7fEn+0hhiCz1cnptRiqJLwQz6chLb2hbFGiMO k3IUxbL0l7if+fpNhouOv7hgWSPa8Yt1YWZckKz1DC53k41GdA14Ow93cHvS5m7D W1KPImqbnLYK+0ddHf74gtsNQ5wd6RB/R8THL0SVpTpAv4T7Et0= =JLZ7 -----END PGP SIGNATURE----- Neil (1): Exclude sqlmeta members from some of the api docs Oleg Broytman (23): Prepare for the next release Build(release): Stop copying released files Build(postrelease): Restore setup.cfg; edit README.rst Build(RELEASE-CHECKLIST): PyPI lost ability to hide old releases Build, Tests(tox): Add Python 3.7 Build(release): Stop releasing eggs Feat(devscripts): Better sort flake8 results Style: Ignore flake8 W503 line break before binary operator Style: Ignore flake8 W605 invalid escape sequence Style: Ignore flake8 W504 line break after binary operator Fix(mysql): Fix unicode errors in mysqlclient Tests(mysqlclient): Fix "index is too long" Merge branch 'pr/147' Update news CI(appveyor): Remove pyodbc tests CI(travis): Limit the number of FireBird tests CI: Run tests with Python 3.7 Tests(tox): Require tox < 3.1 to avoid basepython conflicts CI(AppVeyor): Work around a strange problem with Py3.7 Python 3.7 Tests: Require pytest < 5.0 for Python 2.7 Style: Fix flake8 error E117 over-indented Release 3.7.1 ----------------------------------------------------------------------- hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2019-02-02 15:56:54
|
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, pyodbc-test has been created at 698bc1a84b41bc2ad901bd051a838838f8e7282c (commit) - Log ----------------------------------------------------------------- http://sourceforge.net/p/sqlobject/sqlobject/ci/698bc1a84b41bc2ad901bd051a838838f8e7282c commit 698bc1a84b41bc2ad901bd051a838838f8e7282c Author: Oleg Broytman <ph...@ph...> Date: Sat Feb 17 23:53:32 2018 +0300 CI: Run only 1 MSSQL ODBC test at AppVeyor diff --git a/appveyor.yml b/appveyor.yml index 1378351..6e6e949 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -7,7 +7,7 @@ version: '{branch}-{build}' # Other branches can allow themselves. branches: only: - - master + - pyodbc-test skip_branch_with_pr: false skip_tags: true @@ -17,15 +17,7 @@ cache: # Match travis clone_depth: 50 -services: - - mysql - - postgresql - environment: - MYSQL_PWD: "Password12!" - PGUSER: "postgres" - PGPASSWORD: "Password12!" - global: # SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the # /E:ON and /V:ON options are not enabled in the batch script intepreter @@ -38,130 +30,6 @@ environment: PYTHON_VERSION: "2.7" PYTHON_HOME: "C:\\Python27" db: mssql2014 - - TOXENV: "py34-mssql-pyodbc-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.4" - PYTHON_HOME: "C:\\Python34-x64" - db: mssql2014 - - TOXENV: "py27-mysql-connector-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - db: mysql - - TOXENV: "py36-mysql-connector-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: mysql - - TOXENV: "py37-mysql-connector-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.7" - PYTHON_HOME: "C:\\Python37-x64" - db: mysql - - TOXENV: "py27-pymysql-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - db: mysql - - TOXENV: "py36-pymysql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: mysql - - TOXENV: "py37-pymysql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.7" - PYTHON_HOME: "C:\\Python37-x64" - db: mysql - - TOXENV: "py27-postgres-psycopg-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - db: postgresql - - TOXENV: "py36-postgres-psycopg-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: postgresql - - TOXENV: "py37-postgres-psycopg-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.7" - PYTHON_HOME: "C:\\Python37-x64" - db: postgresql - - TOXENV: "py27-postgres-pygresql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27-x64" - db: postgresql - - TOXENV: "py36-postgres-pygresql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: postgresql - - TOXENV: "py37-postgres-pygresql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.7" - PYTHON_HOME: "C:\\Python37-x64" - db: postgresql - - TOXENV: "py36-pypostgresql-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36" - db: postgresql - - TOXENV: "py37-pypostgresql-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "3.7" - PYTHON_HOME: "C:\\Python37" - db: postgresql - - TOXENV: "py36-pypostgresql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: postgresql - - TOXENV: "py37-pypostgresql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.7" - PYTHON_HOME: "C:\\Python37-x64" - db: postgresql - - TOXENV: "py27-postgres-pg8000-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - db: postgresql - - TOXENV: "py36-postgres-pg8000-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: postgresql - - TOXENV: "py37-postgres-pg8000-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.7" - PYTHON_HOME: "C:\\Python37-x64" - db: postgresql - - TOXENV: "py27-sqlite-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - - TOXENV: "py36-sqlite-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - - TOXENV: "py37-sqlite-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.7" - PYTHON_HOME: "C:\\Python37-x64" - - TOXENV: "py27-sqlite-memory-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - - TOXENV: "py36-sqlite-memory-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - - TOXENV: "py37-sqlite-memory-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.7" - PYTHON_HOME: "C:\\Python37-x64" matrix: fast_finish: true diff --git a/tox.ini b/tox.ini index 6786932..4fcad3a 100644 --- a/tox.ini +++ b/tox.ini @@ -444,7 +444,7 @@ commands = {envpython} -c "import pyodbc; print(pyodbc.drivers())" -sqlcmd -U sa -P "Password12!" -S .\SQL2014 -Q "DROP DATABASE sqlobject_test" sqlcmd -U sa -P "Password12!" -S .\SQL2014 -Q "CREATE DATABASE sqlobject_test" - pytest --cov=sqlobject -D "mssql://sa:Password12!@localhost\SQL2014/sqlobject_test?driver=pyodbc&odbcdrv=SQL%20Server&timeout=30&debug=1" + pytest --cov=sqlobject -D "mssql://sa:Password12!@localhost\SQL2014/sqlobject_test?driver=pyodbc&odbcdrv=SQL%20Server&timeout=30&debug=1" tests/test_transactions.py sqlcmd -U sa -P "Password12!" -S .\SQL2014 -Q "DROP DATABASE sqlobject_test" [testenv:py27-mssql-pyodbc-w32] http://sourceforge.net/p/sqlobject/sqlobject/ci/f6cc842b39ac4d3f4a19e46397fa1142697214b6 commit f6cc842b39ac4d3f4a19e46397fa1142697214b6 Author: Oleg Broytman <ph...@ph...> Date: Sat Feb 17 23:50:55 2018 +0300 CI: Run MSSQL ODBC tests again This reverts commit 6b80a2d7bc86f07314fbe666abbed49b777056e2. diff --git a/appveyor.yml b/appveyor.yml index 8530db4..1378351 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -33,6 +33,16 @@ environment: CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\run_with_env.cmd" matrix: + - TOXENV: "py27-mssql-pyodbc-w32" + PYTHON_ARCH: "32" + PYTHON_VERSION: "2.7" + PYTHON_HOME: "C:\\Python27" + db: mssql2014 + - TOXENV: "py34-mssql-pyodbc-w32" + PYTHON_ARCH: "64" + PYTHON_VERSION: "3.4" + PYTHON_HOME: "C:\\Python34-x64" + db: mssql2014 - TOXENV: "py27-mysql-connector-w32" PYTHON_ARCH: "32" PYTHON_VERSION: "2.7" @@ -168,6 +178,21 @@ install: # List ODBC drivers - ps: Get-OdbcDriver -Platform 32-bit | Select-Object -ExpandProperty Name - ps: Get-OdbcDriver -Platform 64-bit | Select-Object -ExpandProperty Name + # Enable TCP for mssql + - ps: | + [reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo") | Out-Null + [reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.SqlWmiManagement") | Out-Null + $serverName = $env:COMPUTERNAME + $instanceName = 'SQL2014' + $smo = 'Microsoft.SqlServer.Management.Smo.' + $wmi = new-object ($smo + 'Wmi.ManagedComputer') + $uri = "ManagedComputer[@Name='$serverName']/ServerInstance[@Name='$instanceName']/ServerProtocol[@Name='Tcp']" + $Tcp = $wmi.GetSmoObject($uri) + $Tcp.IsEnabled = $true + $TCP.alter() + Set-Service SQLBrowser -StartupType Manual + Start-Service SQLBrowser + Start-Service "MSSQL`$$instanceName" # Not a C project, so no build step build: false ----------------------------------------------------------------------- hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2019-02-02 15:56:53
|
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, pymssql-test has been created at 680b0669db4d1b9b9a55ec55db1c64ca1a9f72aa (commit) - Log ----------------------------------------------------------------- http://sourceforge.net/p/sqlobject/sqlobject/ci/680b0669db4d1b9b9a55ec55db1c64ca1a9f72aa commit 680b0669db4d1b9b9a55ec55db1c64ca1a9f72aa Author: Oleg Broytman <ph...@ph...> Date: Sun Feb 11 21:25:30 2018 +0300 CI: Run only pymssql tests diff --git a/appveyor.yml b/appveyor.yml index 29bc9b3..ae682be 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -7,7 +7,7 @@ version: '{branch}-{build}' # Other branches can allow themselves. branches: only: - - master + - pymssql-test skip_branch_with_pr: false skip_tags: true @@ -17,15 +17,7 @@ cache: # Match travis clone_depth: 50 -services: - - mysql - - postgresql - environment: - MYSQL_PWD: "Password12!" - PGUSER: "postgres" - PGPASSWORD: "Password12!" - global: # SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the # /E:ON and /V:ON options are not enabled in the batch script intepreter @@ -39,130 +31,6 @@ environment: PYTHON_VERSION: "2.7" PYTHON_HOME: "C:\\Python27" db: mssql2014 - - TOX_ENV: "py36-pymssql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: mssql2014 - - TOXENV: "py27-mysql-connector-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - db: mysql - - TOXENV: "py36-mysql-connector-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: mysql - - TOXENV: "py37-mysql-connector-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.7" - PYTHON_HOME: "C:\\Python37-x64" - db: mysql - - TOXENV: "py27-pymysql-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - db: mysql - - TOXENV: "py36-pymysql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: mysql - - TOXENV: "py37-pymysql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.7" - PYTHON_HOME: "C:\\Python37-x64" - db: mysql - - TOXENV: "py27-postgres-psycopg-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - db: postgresql - - TOXENV: "py36-postgres-psycopg-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: postgresql - - TOXENV: "py37-postgres-psycopg-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.7" - PYTHON_HOME: "C:\\Python37-x64" - db: postgresql - - TOXENV: "py27-postgres-pygresql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27-x64" - db: postgresql - - TOXENV: "py36-postgres-pygresql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: postgresql - - TOXENV: "py37-postgres-pygresql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.7" - PYTHON_HOME: "C:\\Python37-x64" - db: postgresql - - TOXENV: "py36-pypostgresql-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36" - db: postgresql - - TOXENV: "py37-pypostgresql-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "3.7" - PYTHON_HOME: "C:\\Python37" - db: postgresql - - TOXENV: "py36-pypostgresql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: postgresql - - TOXENV: "py37-pypostgresql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.7" - PYTHON_HOME: "C:\\Python37-x64" - db: postgresql - - TOXENV: "py27-postgres-pg8000-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - db: postgresql - - TOXENV: "py36-postgres-pg8000-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: postgresql - - TOXENV: "py37-postgres-pg8000-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.7" - PYTHON_HOME: "C:\\Python37-x64" - db: postgresql - - TOXENV: "py27-sqlite-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - - TOXENV: "py36-sqlite-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - - TOXENV: "py37-sqlite-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.7" - PYTHON_HOME: "C:\\Python37-x64" - - TOXENV: "py27-sqlite-memory-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - - TOXENV: "py36-sqlite-memory-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - - TOXENV: "py37-sqlite-memory-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.7" - PYTHON_HOME: "C:\\Python37-x64" matrix: fast_finish: true @@ -184,9 +52,6 @@ install: Set-Service SQLBrowser -StartupType Manual Start-Service SQLBrowser Start-Service "MSSQL`$$instanceName" - # List ODBC drivers - - ps: Get-OdbcDriver -Platform 32-bit | Select-Object -ExpandProperty Name - - ps: Get-OdbcDriver -Platform 64-bit | Select-Object -ExpandProperty Name # Ensure we use the right python version - "SET PATH=%PYTHON_HOME%;%PYTHON_HOME%\\Scripts;C:\\Program Files\\MySQL\\MySQL Server 5.7\\bin;C:\\Program Files\\PostgreSQL\\9.5\\bin;%PATH%" - "SET TOXPYTHON=%PYTHON_HOME%\\python.exe" diff --git a/tox.ini b/tox.ini index d22185d..0ca6234 100644 --- a/tox.ini +++ b/tox.ini @@ -445,7 +445,8 @@ commands = {[testenv]commands} -sqlcmd -U sa -P "Password12!" -S .\SQL2014 -Q "DROP DATABASE sqlobject_test" sqlcmd -U sa -P "Password12!" -S .\SQL2014 -Q "CREATE DATABASE sqlobject_test" - pytest --cov=sqlobject -D "mssql://sa:Password12!@localhost\SQL2014/sqlobject_test?driver=pymssql&timeout=30&debug=1" + pytest --cov=sqlobject -D "mssql://sa:Password12!@localhost\SQL2014/sqlobject_test?driver=pymssql&timeout=30&debug=1" tests/test_transactions.py + # tests include/tests inheritance/tests versioning/test sqlcmd -U sa -P "Password12!" -S .\SQL2014 -Q "DROP DATABASE sqlobject_test" [testenv:py27-pymssql-w32] http://sourceforge.net/p/sqlobject/sqlobject/ci/ddf5f1411cdfcf2635dbbda13abb1395b67a7c2d commit ddf5f1411cdfcf2635dbbda13abb1395b67a7c2d Author: Oleg Broytman <ph...@ph...> Date: Sun Feb 11 21:23:57 2018 +0300 CI: Run pymssql tests at AppVeyor again diff --git a/appveyor.yml b/appveyor.yml index 8530db4..29bc9b3 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -33,6 +33,17 @@ environment: CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\run_with_env.cmd" matrix: + # from https://www.appveyor.com/docs/installed-software/#python + - TOXENV: "py27-pymssql-w32" + PYTHON_ARCH: "32" + PYTHON_VERSION: "2.7" + PYTHON_HOME: "C:\\Python27" + db: mssql2014 + - TOX_ENV: "py36-pymssql-w32" + PYTHON_ARCH: "64" + PYTHON_VERSION: "3.6" + PYTHON_HOME: "C:\\Python36-x64" + db: mssql2014 - TOXENV: "py27-mysql-connector-w32" PYTHON_ARCH: "32" PYTHON_VERSION: "2.7" @@ -157,6 +168,25 @@ matrix: fast_finish: true install: + # Enable TCP for mssql + # (from appveyor documentation) + - ps: | + [reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo") | Out-Null + [reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.SqlWmiManagement") | Out-Null + $serverName = $env:COMPUTERNAME + $instanceName = 'SQL2014' + $smo = 'Microsoft.SqlServer.Management.Smo.' + $wmi = new-object ($smo + 'Wmi.ManagedComputer') + $uri = "ManagedComputer[@Name='$serverName']/ServerInstance[@Name='$instanceName']/ServerProtocol[@Name='Tcp']" + $Tcp = $wmi.GetSmoObject($uri) + $Tcp.IsEnabled = $true + $TCP.alter() + Set-Service SQLBrowser -StartupType Manual + Start-Service SQLBrowser + Start-Service "MSSQL`$$instanceName" + # List ODBC drivers + - ps: Get-OdbcDriver -Platform 32-bit | Select-Object -ExpandProperty Name + - ps: Get-OdbcDriver -Platform 64-bit | Select-Object -ExpandProperty Name # Ensure we use the right python version - "SET PATH=%PYTHON_HOME%;%PYTHON_HOME%\\Scripts;C:\\Program Files\\MySQL\\MySQL Server 5.7\\bin;C:\\Program Files\\PostgreSQL\\9.5\\bin;%PATH%" - "SET TOXPYTHON=%PYTHON_HOME%\\python.exe" diff --git a/docs/News.rst b/docs/News.rst index 7d1d946..32059ac 100644 --- a/docs/News.rst +++ b/docs/News.rst @@ -99,6 +99,11 @@ Build * Use ``python_requires`` keyword in ``setup.py``. +CI +-- + +* Run pymssql tests at AppVeyor again. + SQLObject 3.5.0 =============== diff --git a/tox.ini b/tox.ini index 6786932..d22185d 100644 --- a/tox.ini +++ b/tox.ini @@ -32,6 +32,7 @@ deps = pypyodbc: pypyodbc firebird-fdb: fdb firebirdsql: firebirdsql + pymssql: pymssql passenv = CI TRAVIS TRAVIS_* APPVEYOR DISTUTILS_USE_SDK MSSdk INCLUDE LIB PGPASSWORD WINDIR # Don't fail or warn on uninstalled commands platform = linux @@ -438,6 +439,31 @@ commands = flake8 . # Windows testing +[pymssql-w32] +platform = win32 +commands = + {[testenv]commands} + -sqlcmd -U sa -P "Password12!" -S .\SQL2014 -Q "DROP DATABASE sqlobject_test" + sqlcmd -U sa -P "Password12!" -S .\SQL2014 -Q "CREATE DATABASE sqlobject_test" + pytest --cov=sqlobject -D "mssql://sa:Password12!@localhost\SQL2014/sqlobject_test?driver=pymssql&timeout=30&debug=1" + sqlcmd -U sa -P "Password12!" -S .\SQL2014 -Q "DROP DATABASE sqlobject_test" + +[testenv:py27-pymssql-w32] +platform = win32 +commands = {[pymssql-w32]commands} + +[testenv:py34-pymssql-w32] +platform = win32 +commands = {[pymssql-w32]commands} + +[testenv:py35-pymssql-w32] +platform = win32 +commands = {[pymssql-w32]commands} + +[testenv:py36-pymssql-w32] +platform = win32 +commands = {[pymssql-w32]commands} + [mssql-pyodbc-w32] platform = win32 commands = ----------------------------------------------------------------------- hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2019-02-02 15:56:51
|
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 928cf63ac5742258e3789f876392eeac52b2bc45 (commit) from ac1e0a9c90126523b6b4d4b82f5783eecb03d620 (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/928cf63ac5742258e3789f876392eeac52b2bc45 commit 928cf63ac5742258e3789f876392eeac52b2bc45 Author: Oleg Broytman <ph...@ph...> Date: Sat Feb 2 18:51:06 2019 +0300 Release 3.7.1 diff --git a/ANNOUNCE.rst b/ANNOUNCE.rst index d0fdf39..cab716c 100644 --- a/ANNOUNCE.rst +++ b/ANNOUNCE.rst @@ -1,28 +1,35 @@ Hello! -I'm pleased to announce version 3.8.0a1, the first alpha of the upcoming -release of branch 3.8 of SQLObject. +I'm pleased to announce version 3.7.1, the first bugfix release of branch +3.7 of SQLObject. -I'm pleased to announce version 3.8.0a2, the second alpha of the upcoming -release of branch 3.8 of SQLObject. -I'm pleased to announce version 3.8.0b1, 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.0rc1, the first release candidate -of the upcoming release of branch 3.8 of SQLObject. +Contributor for this release is Neil Muller. -I'm pleased to announce version 3.8.0, the first stable release of branch -3.8 of SQLObject. +Bug fixes +--------- -I'm pleased to announce version 3.8.1, the first bugfix release of branch -3.8 of SQLObject. +* Fixed a unicode problem in the latest mysqlclient. +Documentation +------------- -What's new in SQLObject -======================= +* Exclude sqlmeta members from some of the api docs. + The inclusion of of these sqlmeta members in these files breaks + reproducible builds. -Contributor for this release is Neil Muller. +Development +----------- + +* Source code was made flake8-clean using the latest flake8. + +CI +-- + +* Run tests with Python 3.7. For a more complete list, please see the news: http://sqlobject.org/News.html @@ -54,7 +61,7 @@ Mailing list: https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss Download: -https://pypi.org/project/SQLObject/3.8.0a0.dev20180606/ +https://pypi.org/project/SQLObject/3.7.1/ News and changes: http://sqlobject.org/News.html diff --git a/README.rst b/README.rst index 3e96729..13c8ff2 100644 --- a/README.rst +++ b/README.rst @@ -1,4 +1,4 @@ -SQLObject 3.8.0 +SQLObject 3.7.1 =============== Thanks for looking at SQLObject. SQLObject is an object-relational diff --git a/devscripts/build-all-docs b/devscripts/build-all-docs index 233c068..3f90528 100755 --- a/devscripts/build-all-docs +++ b/devscripts/build-all-docs @@ -11,7 +11,7 @@ cd "$PROG_DIR" && PROG_DIR="`pwd`" && cd "$PROG_DIR"/SQLObject && -build_docs 3.7.0 && +build_docs 3.7.1 && build_docs master devel && rm -rf docs/html && diff --git a/docs/News.rst b/docs/News.rst index 7d1d946..1b96883 100644 --- a/docs/News.rst +++ b/docs/News.rst @@ -8,6 +8,11 @@ News SQLObject 3.8.0 (master) ======================== +SQLObject 3.7.1 +=============== + +Released 2 Feb 2019. + Bug fixes --------- diff --git a/setup.cfg b/setup.cfg index af28274..2b534b3 100644 --- a/setup.cfg +++ b/setup.cfg @@ -4,11 +4,6 @@ universal = 1 [easy_install] optimize = 2 -[egg_info] -tag_build = -tag_date = 0 -tag_svn_revision = 0 - [flake8] exclude = .git,.tox,docs/europython/*.py,validators.py # E305: expected 2 blank lines after class or function definition, found 1 diff --git a/sqlobject/__version__.py b/sqlobject/__version__.py index a21e936..6e6740f 100644 --- a/sqlobject/__version__.py +++ b/sqlobject/__version__.py @@ -1,8 +1,8 @@ -version = '3.8.0' +version = '3.7.1' major = 3 -minor = 8 -micro = 0 -release_level = 'dev' +minor = 7 +micro = 1 +release_level = 'final' serial = 0 version_info = (major, minor, micro, release_level, serial) ----------------------------------------------------------------------- Summary of changes: ANNOUNCE.rst | 39 +++++++++++++++++++++++---------------- README.rst | 2 +- devscripts/build-all-docs | 2 +- docs/News.rst | 5 +++++ setup.cfg | 5 ----- sqlobject/__version__.py | 8 ++++---- 6 files changed, 34 insertions(+), 27 deletions(-) hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2019-02-01 00:54:42
|
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 ac1e0a9c90126523b6b4d4b82f5783eecb03d620 (commit) via f62927aeba372c25cf8dd9fb62a3c8c664a42925 (commit) via 9c300f1b0250618124bf539d4e616ba40b2a1cf4 (commit) via e1f18e16930cf54fe782eee94be7fc4ea589bdba (commit) via 253f4f987a212e578ee7f3ca89a0eb295fdc5c5a (commit) via 67690eb2498a912b3836284653f0ae5e55011dff (commit) via bd36a6b5eac5fe99a25cce859f42c50e18f941b4 (commit) via 57eacb3965939a1742b87143e89cb94f50726874 (commit) via 10b0670f7a03cbcbac8a5e095c67209ace16629c (commit) from f950f4b028abde17e6b93dc6604a388923fdb26d (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/ac1e0a9c90126523b6b4d4b82f5783eecb03d620 commit ac1e0a9c90126523b6b4d4b82f5783eecb03d620 Author: Oleg Broytman <ph...@ph...> Date: Fri Feb 1 02:40:54 2019 +0300 Style: Fix flake8 error E117 over-indented diff --git a/sqlobject/sqlite/sqliteconnection.py b/sqlobject/sqlite/sqliteconnection.py index db83eee..024b01c 100644 --- a/sqlobject/sqlite/sqliteconnection.py +++ b/sqlobject/sqlite/sqliteconnection.py @@ -39,14 +39,14 @@ class SQLiteConnection(DBAPI): continue try: if driver in ('sqlite2', 'pysqlite2'): - from pysqlite2 import dbapi2 as sqlite - self.using_sqlite2 = True + from pysqlite2 import dbapi2 as sqlite + self.using_sqlite2 = True elif driver == 'sqlite3': - import sqlite3 as sqlite - self.using_sqlite2 = True + import sqlite3 as sqlite + self.using_sqlite2 = True elif driver in ('sqlite', 'sqlite1'): - import sqlite - self.using_sqlite2 = False + import sqlite + self.using_sqlite2 = False else: raise ValueError( 'Unknown SQLite driver "%s", ' diff --git a/sqlobject/tests/test_views.py b/sqlobject/tests/test_views.py index 08f44ab..44ed045 100644 --- a/sqlobject/tests/test_views.py +++ b/sqlobject/tests/test_views.py @@ -97,7 +97,7 @@ def testAliasOverride(): def checkAttr(cls, id, attr, value): - assert getattr(cls.get(id), attr) == value + assert getattr(cls.get(id), attr) == value def testGetVPC(): http://sourceforge.net/p/sqlobject/sqlobject/ci/f62927aeba372c25cf8dd9fb62a3c8c664a42925 commit f62927aeba372c25cf8dd9fb62a3c8c664a42925 Author: Oleg Broytman <ph...@ph...> Date: Fri Feb 1 02:17:16 2019 +0300 Tests: Require pytest < 5.0 for Python 2.7 diff --git a/devscripts/requirements/requirements_tests.txt b/devscripts/requirements/requirements_tests.txt index 8e890d8..ae7bbd9 100644 --- a/devscripts/requirements/requirements_tests.txt +++ b/devscripts/requirements/requirements_tests.txt @@ -1,4 +1,4 @@ -r requirements.txt -pytest +pytest < 5.0 pytest-cov http://sourceforge.net/p/sqlobject/sqlobject/ci/9c300f1b0250618124bf539d4e616ba40b2a1cf4 commit 9c300f1b0250618124bf539d4e616ba40b2a1cf4 Author: Oleg Broytman <ph...@ph...> Date: Fri Feb 1 02:17:04 2019 +0300 Python 3.7 diff --git a/setup.py b/setup.py index 0ebca65..8802c9f 100755 --- a/setup.py +++ b/setup.py @@ -49,6 +49,7 @@ and `GitHub <https://github.com/sqlobject>`_. "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", "Topic :: Database", "Topic :: Database :: Front-Ends", "Topic :: Software Development :: Libraries :: Python Modules", http://sourceforge.net/p/sqlobject/sqlobject/ci/e1f18e16930cf54fe782eee94be7fc4ea589bdba commit e1f18e16930cf54fe782eee94be7fc4ea589bdba Author: Oleg Broytman <ph...@ph...> Date: Fri Feb 1 02:02:27 2019 +0300 CI(AppVeyor): Work around a strange problem with Py3.7 Work around a very strange problem with Python 3.7 at AppVeyor by copying correct validators.py to formencode. diff --git a/setup.cfg b/setup.cfg index 461bc50..af28274 100644 --- a/setup.cfg +++ b/setup.cfg @@ -10,7 +10,7 @@ tag_date = 0 tag_svn_revision = 0 [flake8] -exclude = .git,.tox,docs/europython/*.py +exclude = .git,.tox,docs/europython/*.py,validators.py # E305: expected 2 blank lines after class or function definition, found 1 # W503 line break before binary operator # W605 invalid escape sequence diff --git a/tox.ini b/tox.ini index 6786932..0af7ecb 100644 --- a/tox.ini +++ b/tox.ini @@ -36,6 +36,7 @@ passenv = CI TRAVIS TRAVIS_* APPVEYOR DISTUTILS_USE_SDK MSSdk INCLUDE LIB PGPASS # Don't fail or warn on uninstalled commands platform = linux whitelist_externals = + cmd mysql createdb dropdb @@ -465,7 +466,9 @@ commands = {[mssql-pyodbc-w32]commands} [testenv:py37-mssql-pyodbc-w32] platform = win32 -commands = {[mssql-pyodbc-w32]commands} +commands = + cmd /c "copy ..\\validators.py {envsitepackagesdir}\\formencode\\validators.py" + {[mssql-pyodbc-w32]commands} [mysql-connector-w32] platform = win32 @@ -494,7 +497,9 @@ commands = {[mysql-connector-w32]commands} [testenv:py37-mysql-connector-w32] platform = win32 -commands = {[mysql-connector-w32]commands} +commands = + cmd /c "copy ..\\validators.py {envsitepackagesdir}\\formencode\\validators.py" + {[mysql-connector-w32]commands} [pymysql-w32] platform = win32 @@ -523,7 +528,9 @@ commands = {[pymysql-w32]commands} [testenv:py37-pymysql-w32] platform = win32 -commands = {[pymysql-w32]commands} +commands = + cmd /c "copy ..\\validators.py {envsitepackagesdir}\\formencode\\validators.py" + {[pymysql-w32]commands} [mysql-pyodbc-w32] platform = win32 @@ -553,7 +560,9 @@ commands = {[mysql-pyodbc-w32]commands} [testenv:py37-mysql-pyodbc-w32] platform = win32 -commands = {[mysql-pyodbc-w32]commands} +commands = + cmd /c "copy ..\\validators.py {envsitepackagesdir}\\formencode\\validators.py" + {[mysql-pyodbc-w32]commands} [mysql-pypyodbc-w32] platform = win32 @@ -583,7 +592,9 @@ commands = {[mysql-pypyodbc-w32]commands} [testenv:py37-mysql-pypyodbc-w32] platform = win32 -commands = {[mysql-pypyodbc-w32]commands} +commands = + cmd /c "copy ..\\validators.py {envsitepackagesdir}\\formencode\\validators.py" + {[mysql-pypyodbc-w32]commands} [psycopg-w32] platform = win32 @@ -612,7 +623,9 @@ commands = {[psycopg-w32]commands} [testenv:py37-postgres-psycopg-w32] platform = win32 -commands = {[psycopg-w32]commands} +commands = + cmd /c "copy ..\\validators.py {envsitepackagesdir}\\formencode\\validators.py" + {[psycopg-w32]commands} [pygresql-w32] platform = win32 @@ -641,7 +654,9 @@ commands = {[pygresql-w32]commands} [testenv:py37-postgres-pygresql-w32] platform = win32 -commands = {[pygresql-w32]commands} +commands = + cmd /c "copy ..\\validators.py {envsitepackagesdir}\\formencode\\validators.py" + {[pygresql-w32]commands} [pypostgresql-w32] platform = win32 @@ -666,7 +681,9 @@ commands = {[pypostgresql-w32]commands} [testenv:py37-pypostgresql-w32] platform = win32 -commands = {[pypostgresql-w32]commands} +commands = + cmd /c "copy ..\\validators.py {envsitepackagesdir}\\formencode\\validators.py" + {[pypostgresql-w32]commands} [pg8000-w32] platform = win32 @@ -695,7 +712,9 @@ commands = {[pg8000-w32]commands} [testenv:py37-postgres-pg8000-w32] platform = win32 -commands = {[pg8000-w32]commands} +commands = + cmd /c "copy ..\\validators.py {envsitepackagesdir}\\formencode\\validators.py" + {[pg8000-w32]commands} [postgres-pyodbc-w32] platform = win32 @@ -725,7 +744,9 @@ commands = {[postgres-pyodbc-w32]commands} [testenv:py37-postgres-pyodbc-w32] platform = win32 -commands = {[postgres-pyodbc-w32]commands} +commands = + cmd /c "copy ..\\validators.py {envsitepackagesdir}\\formencode\\validators.py" + {[postgres-pyodbc-w32]commands} [postgres-pypyodbc-w32] platform = win32 @@ -755,7 +776,9 @@ commands = {[postgres-pypyodbc-w32]commands} [testenv:py37-postgres-pypyodbc-w32] platform = win32 -commands = {[postgres-pypyodbc-w32]commands} +commands = + cmd /c "copy ..\\validators.py {envsitepackagesdir}\\formencode\\validators.py" + {[postgres-pypyodbc-w32]commands} [sqlite-w32] platform = win32 @@ -781,7 +804,9 @@ commands = {[sqlite-w32]commands} [testenv:py37-sqlite-w32] platform = win32 -commands = {[sqlite-w32]commands} +commands = + cmd /c "copy ..\\validators.py {envsitepackagesdir}\\formencode\\validators.py" + {[sqlite-w32]commands} [sqlite-memory-w32] platform = win32 @@ -807,4 +832,6 @@ commands = {[sqlite-memory-w32]commands} [testenv:py37-sqlite-memory-w32] platform = win32 -commands = {[sqlite-memory-w32]commands} +commands = + cmd /c "copy ..\\validators.py {envsitepackagesdir}\\formencode\\validators.py" + {[sqlite-memory-w32]commands} diff --git a/validators.py b/validators.py new file mode 100644 index 0000000..233d5dd --- /dev/null +++ b/validators.py @@ -0,0 +1,3089 @@ +## 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: + subclass_list = ', '.join(map(str, self.subclass)) + msg = self.message('inSubclass', state, object=value, + subclassList=subclass_list) + raise Invalid(msg, value, state) + + def confirm_type(self, value, state): + for t in self.type: + if type(value) is t: + break + else: + if len(self.type) == 1: + msg = self.message('type', state, object=value, + type=self.type[0]) + else: + msg = self.message('inType', state, object=value, + typeList=', '.join(map(str, self.type))) + raise Invalid(msg, value, state) + return value + + def is_empty(self, value): + return False + + +class Wrapper(FancyValidator): + """ + Used to convert functions to validator/converters. + + You can give a simple function for `_convert_to_python`, + `_convert_from_python`, `_validate_python` or `_validate_other`. + If that function raises an exception, the value is considered invalid. + Whatever value the function returns is considered the converted value. + + Unlike validators, the `state` argument is not used. Functions + like `int` can be used here, that take a single argument. + + Note that as Wrapper will generate a FancyValidator, empty + values (those who pass ``FancyValidator.is_empty)`` will return ``None``. + To override this behavior you can use ``Wrapper(empty_value=callable)``. + For example passing ``Wrapper(empty_value=lambda val: val)`` will return + the value itself when is considered empty. + + Examples:: + + >>> def downcase(v): ... 3341 lines suppressed ... hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2019-01-25 17:42:04
|
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 f950f4b028abde17e6b93dc6604a388923fdb26d (commit) via 61490a3548546c0b55a4facc12b57cf51cf2c507 (commit) via e4cad6d3ca0dc2010853f78f4695b3575715129d (commit) via 0119773190ecc22b1cb1dd491132b6d2d6dd2ad5 (commit) from 62156a3c41349b4d310fc15dc065fed17c7bf7f8 (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/f950f4b028abde17e6b93dc6604a388923fdb26d commit f950f4b028abde17e6b93dc6604a388923fdb26d Merge: 61490a3 0119773 Author: Oleg Broytman <ph...@ph...> Date: Fri Jan 25 20:26:21 2019 +0300 Merge branch 'pr/147' http://sourceforge.net/p/sqlobject/sqlobject/ci/61490a3548546c0b55a4facc12b57cf51cf2c507 commit 61490a3548546c0b55a4facc12b57cf51cf2c507 Author: Oleg Broytman <ph...@ph...> Date: Fri Jan 25 20:22:10 2019 +0300 Tests(mysqlclient): Fix "index is too long" diff --git a/sqlobject/inheritance/tests/test_asdict.py b/sqlobject/inheritance/tests/test_asdict.py index 5129ac2..95d6b81 100644 --- a/sqlobject/inheritance/tests/test_asdict.py +++ b/sqlobject/inheritance/tests/test_asdict.py @@ -9,7 +9,7 @@ from sqlobject.tests.dbtest import setupClass class InheritablePersonAD(InheritableSQLObject): firstName = StringCol() - lastName = StringCol(alternateID=True, length=255) + lastName = StringCol(alternateID=True, length=100) class ManagerAD(InheritablePersonAD): diff --git a/sqlobject/inheritance/tests/test_deep_inheritance.py b/sqlobject/inheritance/tests/test_deep_inheritance.py index 411beb2..1ef4d36 100644 --- a/sqlobject/inheritance/tests/test_deep_inheritance.py +++ b/sqlobject/inheritance/tests/test_deep_inheritance.py @@ -10,7 +10,7 @@ from sqlobject.tests.dbtest import getConnection, setupClass, supports class DIPerson(InheritableSQLObject): firstName = StringCol(length=100) - lastName = StringCol(alternateID=True, length=255) + lastName = StringCol(alternateID=True, length=100) manager = ForeignKey("DIManager", default=None) diff --git a/sqlobject/inheritance/tests/test_inheritance.py b/sqlobject/inheritance/tests/test_inheritance.py index 2f5930e..cc26c8f 100644 --- a/sqlobject/inheritance/tests/test_inheritance.py +++ b/sqlobject/inheritance/tests/test_inheritance.py @@ -9,13 +9,13 @@ from sqlobject.tests.dbtest import setupClass class InheritablePerson(InheritableSQLObject): - firstName = StringCol() - lastName = StringCol(alternateID=True, length=255) + firstName = StringCol(length=100) + lastName = StringCol(alternateID=True, length=100) class Employee(InheritablePerson): _inheritable = False - so_position = StringCol() + so_position = StringCol(length=100) def setup(): http://sourceforge.net/p/sqlobject/sqlobject/ci/e4cad6d3ca0dc2010853f78f4695b3575715129d commit e4cad6d3ca0dc2010853f78f4695b3575715129d Author: Oleg Broytman <ph...@ph...> Date: Fri Jan 25 20:20:47 2019 +0300 Fix(mysql): Fix unicode errors in mysqlclient diff --git a/sqlobject/mysql/mysqlconnection.py b/sqlobject/mysql/mysqlconnection.py index 310b21d..2d7afa5 100644 --- a/sqlobject/mysql/mysqlconnection.py +++ b/sqlobject/mysql/mysqlconnection.py @@ -229,7 +229,7 @@ class MySQLConnection(DBAPI): self.printDebug(conn, query, 'QueryR') dbEncoding = self.dbEncoding if dbEncoding and not isinstance(query, bytes) and ( - self.driver in ('connector', 'oursql')): + self.driver in ('mysqldb', 'connector', 'oursql')): query = query.encode(dbEncoding, 'surrogateescape') # When a server connection is lost and a query is attempted, most of # the time the query will raise a SERVER_LOST exception, then at the http://sourceforge.net/p/sqlobject/sqlobject/ci/0119773190ecc22b1cb1dd491132b6d2d6dd2ad5 commit 0119773190ecc22b1cb1dd491132b6d2d6dd2ad5 Author: Neil <drn...@gm...> Date: Wed Jan 23 12:00:34 2019 +0200 Exclude sqlmeta members from some of the api docs The inclusion of of these sqlmeta members in these files breaks reproducible builds as sphinx includes the memory addresses when building the documentation. Since the contents aren't particularly useful, the simplest fix is to simply exclude them from the documentation build. diff --git a/docs/api/sqlobject.include.tests.test_hashcol.rst b/docs/api/sqlobject.include.tests.test_hashcol.rst index 0cd6cb9..2ec9902 100644 --- a/docs/api/sqlobject.include.tests.test_hashcol.rst +++ b/docs/api/sqlobject.include.tests.test_hashcol.rst @@ -5,3 +5,4 @@ sqlobject\.include\.tests\.test\_hashcol module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.inheritance.tests.test_aggregates.rst b/docs/api/sqlobject.inheritance.tests.test_aggregates.rst index b93b20f..15fa5af 100644 --- a/docs/api/sqlobject.inheritance.tests.test_aggregates.rst +++ b/docs/api/sqlobject.inheritance.tests.test_aggregates.rst @@ -5,3 +5,4 @@ sqlobject\.inheritance\.tests\.test\_aggregates module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.inheritance.tests.test_asdict.rst b/docs/api/sqlobject.inheritance.tests.test_asdict.rst index 350e210..c24c511 100644 --- a/docs/api/sqlobject.inheritance.tests.test_asdict.rst +++ b/docs/api/sqlobject.inheritance.tests.test_asdict.rst @@ -5,3 +5,4 @@ sqlobject\.inheritance\.tests\.test\_asdict module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.inheritance.tests.test_deep_inheritance.rst b/docs/api/sqlobject.inheritance.tests.test_deep_inheritance.rst index a75ee17..eb1661d 100644 --- a/docs/api/sqlobject.inheritance.tests.test_deep_inheritance.rst +++ b/docs/api/sqlobject.inheritance.tests.test_deep_inheritance.rst @@ -5,3 +5,4 @@ sqlobject\.inheritance\.tests\.test\_deep\_inheritance module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.inheritance.tests.test_destroy_cascade.rst b/docs/api/sqlobject.inheritance.tests.test_destroy_cascade.rst index 80d5359..3504fe6 100644 --- a/docs/api/sqlobject.inheritance.tests.test_destroy_cascade.rst +++ b/docs/api/sqlobject.inheritance.tests.test_destroy_cascade.rst @@ -5,3 +5,4 @@ sqlobject\.inheritance\.tests\.test\_destroy\_cascade module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.inheritance.tests.test_foreignKey.rst b/docs/api/sqlobject.inheritance.tests.test_foreignKey.rst index ebe96a5..b6e28aa 100644 --- a/docs/api/sqlobject.inheritance.tests.test_foreignKey.rst +++ b/docs/api/sqlobject.inheritance.tests.test_foreignKey.rst @@ -5,3 +5,4 @@ sqlobject\.inheritance\.tests\.test\_foreignKey module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.inheritance.tests.test_indexes.rst b/docs/api/sqlobject.inheritance.tests.test_indexes.rst index 75ef706..bb2e3f7 100644 --- a/docs/api/sqlobject.inheritance.tests.test_indexes.rst +++ b/docs/api/sqlobject.inheritance.tests.test_indexes.rst @@ -5,3 +5,4 @@ sqlobject\.inheritance\.tests\.test\_indexes module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,indexDefinitions diff --git a/docs/api/sqlobject.inheritance.tests.test_inheritance.rst b/docs/api/sqlobject.inheritance.tests.test_inheritance.rst index f3a19e8..0c186b0 100644 --- a/docs/api/sqlobject.inheritance.tests.test_inheritance.rst +++ b/docs/api/sqlobject.inheritance.tests.test_inheritance.rst @@ -5,3 +5,4 @@ sqlobject\.inheritance\.tests\.test\_inheritance module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.inheritance.tests.test_inheritance_tree.rst b/docs/api/sqlobject.inheritance.tests.test_inheritance_tree.rst index 66feb6a..b56d047 100644 --- a/docs/api/sqlobject.inheritance.tests.test_inheritance_tree.rst +++ b/docs/api/sqlobject.inheritance.tests.test_inheritance_tree.rst @@ -5,3 +5,4 @@ sqlobject\.inheritance\.tests\.test\_inheritance\_tree module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.manager.command.rst b/docs/api/sqlobject.manager.command.rst index 7f768f9..be4a007 100644 --- a/docs/api/sqlobject.manager.command.rst +++ b/docs/api/sqlobject.manager.command.rst @@ -5,3 +5,4 @@ sqlobject\.manager\.command module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_ForeignKey.rst b/docs/api/sqlobject.tests.test_ForeignKey.rst index dd3528b..1ca6c9d 100644 --- a/docs/api/sqlobject.tests.test_ForeignKey.rst +++ b/docs/api/sqlobject.tests.test_ForeignKey.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_ForeignKey module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_NoneValuedResultItem.rst b/docs/api/sqlobject.tests.test_NoneValuedResultItem.rst index 498f61f..bac5596 100644 --- a/docs/api/sqlobject.tests.test_NoneValuedResultItem.rst +++ b/docs/api/sqlobject.tests.test_NoneValuedResultItem.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_NoneValuedResultItem module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_SQLMultipleJoin.rst b/docs/api/sqlobject.tests.test_SQLMultipleJoin.rst index 9778df9..a7473fb 100644 --- a/docs/api/sqlobject.tests.test_SQLMultipleJoin.rst +++ b/docs/api/sqlobject.tests.test_SQLMultipleJoin.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_SQLMultipleJoin module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_SQLRelatedJoin.rst b/docs/api/sqlobject.tests.test_SQLRelatedJoin.rst index 6760657..e181301 100644 --- a/docs/api/sqlobject.tests.test_SQLRelatedJoin.rst +++ b/docs/api/sqlobject.tests.test_SQLRelatedJoin.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_SQLRelatedJoin module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_SingleJoin.rst b/docs/api/sqlobject.tests.test_SingleJoin.rst index 5ded2b3..7f4179d 100644 --- a/docs/api/sqlobject.tests.test_SingleJoin.rst +++ b/docs/api/sqlobject.tests.test_SingleJoin.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_SingleJoin module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_aggregates.rst b/docs/api/sqlobject.tests.test_aggregates.rst index 451944f..117aadd 100644 --- a/docs/api/sqlobject.tests.test_aggregates.rst +++ b/docs/api/sqlobject.tests.test_aggregates.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_aggregates module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_aliases.rst b/docs/api/sqlobject.tests.test_aliases.rst index e26df53..d96edd1 100644 --- a/docs/api/sqlobject.tests.test_aliases.rst +++ b/docs/api/sqlobject.tests.test_aliases.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_aliases module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_asdict.rst b/docs/api/sqlobject.tests.test_asdict.rst index be828dc..b316c7e 100644 --- a/docs/api/sqlobject.tests.test_asdict.rst +++ b/docs/api/sqlobject.tests.test_asdict.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_asdict module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_auto.rst b/docs/api/sqlobject.tests.test_auto.rst index 328ee8e..9c23284 100644 --- a/docs/api/sqlobject.tests.test_auto.rst +++ b/docs/api/sqlobject.tests.test_auto.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_auto module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_basic.rst b/docs/api/sqlobject.tests.test_basic.rst index 9a16a4a..549436d 100644 --- a/docs/api/sqlobject.tests.test_basic.rst +++ b/docs/api/sqlobject.tests.test_basic.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_basic module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_blob.rst b/docs/api/sqlobject.tests.test_blob.rst index bc958eb..798a66c 100644 --- a/docs/api/sqlobject.tests.test_blob.rst +++ b/docs/api/sqlobject.tests.test_blob.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_blob module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_cache.rst b/docs/api/sqlobject.tests.test_cache.rst index 3d8e832..3e01991 100644 --- a/docs/api/sqlobject.tests.test_cache.rst +++ b/docs/api/sqlobject.tests.test_cache.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_cache module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_class_hash.rst b/docs/api/sqlobject.tests.test_class_hash.rst index 77e9a5f..076937a 100644 --- a/docs/api/sqlobject.tests.test_class_hash.rst +++ b/docs/api/sqlobject.tests.test_class_hash.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_class\_hash module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_columns_order.rst b/docs/api/sqlobject.tests.test_columns_order.rst index ced1883..6187c32 100644 --- a/docs/api/sqlobject.tests.test_columns_order.rst +++ b/docs/api/sqlobject.tests.test_columns_order.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_columns\_order module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_combining_joins.rst b/docs/api/sqlobject.tests.test_combining_joins.rst index 99cd405..7b30db0 100644 --- a/docs/api/sqlobject.tests.test_combining_joins.rst +++ b/docs/api/sqlobject.tests.test_combining_joins.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_combining\_joins module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_complex_sorting.rst b/docs/api/sqlobject.tests.test_complex_sorting.rst index fdcd3ed..570fe23 100644 --- a/docs/api/sqlobject.tests.test_complex_sorting.rst +++ b/docs/api/sqlobject.tests.test_complex_sorting.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_complex\_sorting module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_create_drop.rst b/docs/api/sqlobject.tests.test_create_drop.rst index 3ffe556..d7845b9 100644 --- a/docs/api/sqlobject.tests.test_create_drop.rst +++ b/docs/api/sqlobject.tests.test_create_drop.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_create\_drop module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_csvexport.rst b/docs/api/sqlobject.tests.test_csvexport.rst index 2e098d8..2935f61 100644 --- a/docs/api/sqlobject.tests.test_csvexport.rst +++ b/docs/api/sqlobject.tests.test_csvexport.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_csvexport module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_cyclic_reference.rst b/docs/api/sqlobject.tests.test_cyclic_reference.rst index b43d7bf..1cb3457 100644 --- a/docs/api/sqlobject.tests.test_cyclic_reference.rst +++ b/docs/api/sqlobject.tests.test_cyclic_reference.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_cyclic\_reference module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_datetime.rst b/docs/api/sqlobject.tests.test_datetime.rst index d76a114..b6b4235 100644 --- a/docs/api/sqlobject.tests.test_datetime.rst +++ b/docs/api/sqlobject.tests.test_datetime.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_datetime module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_decimal.rst b/docs/api/sqlobject.tests.test_decimal.rst index 224d205..9e680e3 100644 --- a/docs/api/sqlobject.tests.test_decimal.rst +++ b/docs/api/sqlobject.tests.test_decimal.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_decimal module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_delete.rst b/docs/api/sqlobject.tests.test_delete.rst index aa91572..8ee8eb7 100644 --- a/docs/api/sqlobject.tests.test_delete.rst +++ b/docs/api/sqlobject.tests.test_delete.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_delete module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_distinct.rst b/docs/api/sqlobject.tests.test_distinct.rst index 89cee6c..5b2b72c 100644 --- a/docs/api/sqlobject.tests.test_distinct.rst +++ b/docs/api/sqlobject.tests.test_distinct.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_distinct module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_enum.rst b/docs/api/sqlobject.tests.test_enum.rst index a02cfc2..c5c5a0f 100644 --- a/docs/api/sqlobject.tests.test_enum.rst +++ b/docs/api/sqlobject.tests.test_enum.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_enum module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_events.rst b/docs/api/sqlobject.tests.test_events.rst index fe27007..78c7b83 100644 --- a/docs/api/sqlobject.tests.test_events.rst +++ b/docs/api/sqlobject.tests.test_events.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_events module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_exceptions.rst b/docs/api/sqlobject.tests.test_exceptions.rst index 3352e3d..45d09fd 100644 --- a/docs/api/sqlobject.tests.test_exceptions.rst +++ b/docs/api/sqlobject.tests.test_exceptions.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_exceptions module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_expire.rst b/docs/api/sqlobject.tests.test_expire.rst index 6f56862..26b81f5 100644 --- a/docs/api/sqlobject.tests.test_expire.rst +++ b/docs/api/sqlobject.tests.test_expire.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_expire module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_groupBy.rst b/docs/api/sqlobject.tests.test_groupBy.rst index 9536c56..f823fd0 100644 --- a/docs/api/sqlobject.tests.test_groupBy.rst +++ b/docs/api/sqlobject.tests.test_groupBy.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_groupBy module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_identity.rst b/docs/api/sqlobject.tests.test_identity.rst index 3fc6961..e154f2d 100644 --- a/docs/api/sqlobject.tests.test_identity.rst +++ b/docs/api/sqlobject.tests.test_identity.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_identity module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_indexes.rst b/docs/api/sqlobject.tests.test_indexes.rst index 2ab389c..cfe8e4b 100644 --- a/docs/api/sqlobject.tests.test_indexes.rst +++ b/docs/api/sqlobject.tests.test_indexes.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_indexes module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns,indexDefinitions diff --git a/docs/api/sqlobject.tests.test_inheritance.rst b/docs/api/sqlobject.tests.test_inheritance.rst index c54693e..369aa4d 100644 --- a/docs/api/sqlobject.tests.test_inheritance.rst +++ b/docs/api/sqlobject.tests.test_inheritance.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_inheritance module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_joins.rst b/docs/api/sqlobject.tests.test_joins.rst index a9f1c91..67ef347 100644 --- a/docs/api/sqlobject.tests.test_joins.rst +++ b/docs/api/sqlobject.tests.test_joins.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_joins module :members: :undoc-members: :show-inheritance: + :exclude-members: columnDefinitions,columnList,columns diff --git a/docs/api/sqlobject.tests.test_joins_conditional.rst b/docs/api/sqlobject.tests.test_joins_conditional.rst index 41d2b74..8bc2889 100644 --- a/docs/api/sqlobject.tests.test_joins_conditional.rst +++ b/docs/api/sqlobject.tests.test_joins_conditional.rst @@ -5,3 +5,4 @@ sqlobject\.tests\.test\_joins\_conditional module :members: :undoc-members: :show-inheritance: ... 353 lines suppressed ... hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2018-11-26 21:28:13
|
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 62156a3c41349b4d310fc15dc065fed17c7bf7f8 (commit) via f4ef555f893a5b738b1eb1ac54e8dc566c03abde (commit) via 99df3a0a3a116a10f9524ec3d3d8c02ab9fff5fd (commit) via 85bc51c511ef8bd476df5d380038b83c73c2c6fe (commit) from c93aef83f61769db976871aa479348ad24bd784a (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/62156a3c41349b4d310fc15dc065fed17c7bf7f8 commit 62156a3c41349b4d310fc15dc065fed17c7bf7f8 Author: Oleg Broytman <ph...@ph...> Date: Tue Nov 27 00:24:04 2018 +0300 Style: Ignore flake8 W504 line break after binary operator diff --git a/setup.py b/setup.py index b0fb383..0ebca65 100755 --- a/setup.py +++ b/setup.py @@ -74,8 +74,8 @@ and `GitHub <https://github.com/sqlobject>`_. keywords=["sql", "orm", "object-relational mapper"], license="LGPL", platforms="Any", - packages=["sqlobject"] + - ['sqlobject.%s' % package for package in subpackages], + packages=["sqlobject"] + + ['sqlobject.%s' % package for package in subpackages], scripts=["scripts/sqlobject-admin", "scripts/sqlobject-convertOldURI"], package_data={ "sqlobject.maxdb": ["readme.txt"], diff --git a/sqlobject/col.py b/sqlobject/col.py index 6771946..8119539 100644 --- a/sqlobject/col.py +++ b/sqlobject/col.py @@ -387,8 +387,8 @@ class SOCol(object): [self.dbName, self._firebirdType()] + self._extraSQL()) else: return ' '.join( - [self.dbName] + [self._firebirdType()[0]] + - self._extraSQL() + [self._firebirdType()[1]]) + [self.dbName] + [self._firebirdType()[0]] + + self._extraSQL() + [self._firebirdType()[1]]) def maxdbCreateSQL(self): return ' '.join([self.dbName, self._maxdbType()] + self._extraSQL()) diff --git a/sqlobject/dbconnection.py b/sqlobject/dbconnection.py index 1f71b1b..fbff457 100644 --- a/sqlobject/dbconnection.py +++ b/sqlobject/dbconnection.py @@ -618,9 +618,9 @@ class DBAPI(DBConnection): def _SO_selectOneAlt(self, so, columnNames, condition): if columnNames: - columns = [isinstance(x, string_type) and - sqlbuilder.SQLConstant(x) or - x for x in columnNames] + columns = [isinstance(x, string_type) + and sqlbuilder.SQLConstant(x) + or x for x in columnNames] else: columns = None return self.queryOne(self.sqlrepr(sqlbuilder.Select( @@ -1070,8 +1070,8 @@ class ConnectionURIOpener(object): def registerConnectionInstance(self, inst): if inst.name: - assert (inst.name not in self.instanceNames or - self.instanceNames[inst.name] is cls # noqa + assert (inst.name not in self.instanceNames + or self.instanceNames[inst.name] is cls # noqa ), ("A instance has already been registered " "with the name %s" % inst.name) assert inst.name.find(':') == -1, \ diff --git a/sqlobject/declarative.py b/sqlobject/declarative.py index d03a46e..8fe2cbd 100644 --- a/sqlobject/declarative.py +++ b/sqlobject/declarative.py @@ -199,8 +199,8 @@ class Declarative(with_metaclass(DeclarativeMeta, object)): @staticmethod def _repr_vars(dictNames): names = [n for n in dictNames - if not n.startswith('_') and - n != 'declarative_count'] + if not n.startswith('_') + and n != 'declarative_count'] names.sort() return names diff --git a/sqlobject/inheritance/__init__.py b/sqlobject/inheritance/__init__.py index f340e79..e6c57b4 100644 --- a/sqlobject/inheritance/__init__.py +++ b/sqlobject/inheritance/__init__.py @@ -31,8 +31,8 @@ class InheritableSelectResults(SelectResults): if clause is None or isinstance(clause, str) and clause == 'all': clause = sqlbuilder.SQLTrueClause - dbName = (ops.get('connection', None) or - sourceClass._connection).dbName + dbName = (ops.get('connection', None) + or sourceClass._connection).dbName tablesSet = tablesUsedSet(clause, dbName) tablesSet.add(str(sourceClass.sqlmeta.table)) @@ -415,8 +415,8 @@ class InheritableSQLObject(SQLObject): # If we are outside a transaction and this is a child, # destroy the parent connection = self._connection - if (not isinstance(connection, dbconnection.Transaction) and - connection.autoCommit) and self.sqlmeta.parentClass: + if (not isinstance(connection, dbconnection.Transaction) + and connection.autoCommit) and self.sqlmeta.parentClass: self._parent.destroySelf() # TC: Do we need to do this?? self._parent = None @@ -457,8 +457,8 @@ class InheritableSQLObject(SQLObject): # if the clause was one of TRUE varians, replace it if (clause is None) or (clause is sqlbuilder.SQLTrueClause) \ or ( - isinstance(clause, string_type) and - (clause == 'all')): + isinstance(clause, string_type) + and (clause == 'all')): clause = addClause else: # patch WHERE condition: diff --git a/sqlobject/joins.py b/sqlobject/joins.py index c847e21..afb0f88 100644 --- a/sqlobject/joins.py +++ b/sqlobject/joins.py @@ -440,19 +440,19 @@ class SOManyToMany(object): events.listen(self.event_CreateTableSignal, self.otherClass, events.CreateTableSignal) self.clause = ( - (self.otherClass.q.id == - sqlbuilder.Field(self.intermediateTable, self.otherColumn)) & - (sqlbuilder.Field(self.intermediateTable, self.joinColumn) == - self.soClass.q.id)) + (self.otherClass.q.id + == sqlbuilder.Field(self.intermediateTable, self.otherColumn)) + & (sqlbuilder.Field(self.intermediateTable, self.joinColumn) + == self.soClass.q.id)) def __get__(self, obj, type): if obj is None: return self query = ( - (self.otherClass.q.id == - sqlbuilder.Field(self.intermediateTable, self.otherColumn)) & - (sqlbuilder.Field(self.intermediateTable, self.joinColumn) == - obj.id)) + (self.otherClass.q.id + == sqlbuilder.Field(self.intermediateTable, self.otherColumn)) + & (sqlbuilder.Field(self.intermediateTable, self.joinColumn) + == obj.id)) select = self.otherClass.select(query) return _ManyToManySelectWrapper(obj, self, select) @@ -545,15 +545,15 @@ class SOOneToMany(object): self.joinColumn = styles.getStyle( self.soClass).tableReference(self.soClass.sqlmeta.table) self.clause = ( - sqlbuilder.Field(self.otherClass.sqlmeta.table, self.joinColumn) == - self.soClass.q.id) + sqlbuilder.Field(self.otherClass.sqlmeta.table, self.joinColumn) + == self.soClass.q.id) def __get__(self, obj, type): if obj is None: return self query = ( - sqlbuilder.Field(self.otherClass.sqlmeta.table, self.joinColumn) == - obj.id) + sqlbuilder.Field(self.otherClass.sqlmeta.table, self.joinColumn) + == obj.id) select = self.otherClass.select(query) return _OneToManySelectWrapper(obj, self, select) diff --git a/sqlobject/main.py b/sqlobject/main.py index 88b3c0c..5d9b537 100644 --- a/sqlobject/main.py +++ b/sqlobject/main.py @@ -1410,8 +1410,8 @@ class SQLObject(with_metaclass(declarative.DeclarativeMeta, object)): *[getattr(cls.q, _n) == _v for _n, _v in zip(name, new_value)]) return (connection or cls._connection)._SO_selectOneAlt( cls, - [cls.sqlmeta.idName] + - [column.dbName for column in cls.sqlmeta.columnList], + [cls.sqlmeta.idName] + + [column.dbName for column in cls.sqlmeta.columnList], condition), None @classmethod @@ -1536,8 +1536,8 @@ class SQLObject(with_metaclass(declarative.DeclarativeMeta, object)): def createJoinTables(cls, ifNotExists=False, connection=None): conn = connection or cls._connection for join in cls._getJoinsToCreate(): - if (ifNotExists and - conn.tableExists(join.intermediateTable)): + if (ifNotExists + and conn.tableExists(join.intermediateTable)): continue conn._SO_createJoinTable(join) diff --git a/sqlobject/manager/command.py b/sqlobject/manager/command.py index e79053f..e9891d9 100755 --- a/sqlobject/manager/command.py +++ b/sqlobject/manager/command.py @@ -297,8 +297,8 @@ class Command(with_metaclass(DeclarativeMeta, object)): if self.description: self.parser.description = self.description self.options, self.args = self.parser.parse_args(self.raw_args) - if (getattr(self.options, 'simulate', False) and - not self.options.verbose): + if (getattr(self.options, 'simulate', False) + and not self.options.verbose): self.options.verbose = 1 if self.min_args is not None and len(self.args) < self.min_args: self.runner.invalid( @@ -391,9 +391,9 @@ class Command(with_metaclass(DeclarativeMeta, object)): else: for name in dir(module): value = getattr(module, name) - if (isinstance(value, type) and - issubclass(value, sqlobject.SQLObject) and - value.__module__ == module.__name__): + if (isinstance(value, type) + and issubclass(value, sqlobject.SQLObject) + and value.__module__ == module.__name__): all.append(value) return all @@ -414,8 +414,8 @@ class Command(with_metaclass(DeclarativeMeta, object)): return None config_file = self.options.config_file if appconfig: - if (not config_file.startswith('egg:') and - not config_file.startswith('config:')): + if (not config_file.startswith('egg:') + and not config_file.startswith('config:')): config_file = 'config:' + config_file return appconfig(config_file, relative_to=os.getcwd()) @@ -446,9 +446,9 @@ class Command(with_metaclass(DeclarativeMeta, object)): possible_sections = [] for section in p.sections(): name = section.strip().lower() - if (conf_section == name or - (conf_section == name.split(':')[-1] and - name.split(':')[0] in ('app', 'application'))): + if (conf_section == name + or (conf_section == name.split(':')[-1] + and name.split(':')[0] in ('app', 'application'))): possible_sections.append(section) if not possible_sections: @@ -514,8 +514,8 @@ class Command(with_metaclass(DeclarativeMeta, object)): def load_options_from_egg(self, egg_spec): dist, conf = self.config_from_egg(egg_spec) - if (hasattr(self.options, 'output_dir') and - not self.options.output_dir and conf.get('history_dir')): + if (hasattr(self.options, 'output_dir') + and not self.options.output_dir and conf.get('history_dir')): dir = conf['history_dir'] dir = dir.replace('$base', dist.location) self.options.output_dir = dir @@ -653,8 +653,8 @@ class CommandCreate(Command): dbs_created = [] constraints = {} for soClass in self.classes(require_some=True): - if (self.options.create_db and - soClass._connection not in dbs_created): + if (self.options.create_db + and soClass._connection not in dbs_created): if not self.options.simulate: try: soClass._connection.createEmptyDatabase() @@ -1007,8 +1007,8 @@ class CommandRecord(Command): f = open(os.path.join(last_version_dir, fn), 'r') content = f.read() f.close() - if (self.strip_comments(files_copy[fn]) != - self.strip_comments(content)): + if (self.strip_comments(files_copy[fn]) + != self.strip_comments(content)): if v > 1: print("Content does not match: %s" % fn) break @@ -1063,8 +1063,8 @@ class CommandRecord(Command): print("Cannot edit upgrader because there is no " "previous version") else: - breaker = ('-' * 20 + ' lines below this will be ignored ' + - '-' * 20) + breaker = ('-' * 20 + ' lines below this will be ignored ' + + '-' * 20) pre_text = breaker + '\n' + '\n'.join(all_diffs) text = self.open_editor('\n\n' + pre_text, breaker=breaker, extension='.sql') @@ -1117,8 +1117,8 @@ class CommandRecord(Command): def find_output_dir(self): today = time.strftime('%Y-%m-%d', time.localtime()) if self.options.version_name: - dir = os.path.join(self.base_dir(), today + '-' + - self.options.version_name) + dir = os.path.join(self.base_dir(), today + '-' + + self.options.version_name) if os.path.exists(dir): print("Error, directory already exists: %s" % dir) diff --git a/sqlobject/postgres/pgconnection.py b/sqlobject/postgres/pgconnection.py index b567f99..8dd1db5 100644 --- a/sqlobject/postgres/pgconnection.py +++ b/sqlobject/postgres/pgconnection.py @@ -249,8 +249,8 @@ class PostgresConnection(DBAPI): except self.module.ProgrammingError as e: msg = ErrorMessage(e) if ( - (len(e.args) > 2) and (e.args[1] == 'ERROR') and - (e.args[2] == '23505')) \ + (len(e.args) > 2) and (e.args[1] == 'ERROR') + and (e.args[2] == '23505')) \ or ((len(e.args) >= 2) and (e.args[1] == '23505')): raise dberrors.DuplicateEntryError(msg) else: diff --git a/sqlobject/sqlite/sqliteconnection.py b/sqlobject/sqlite/sqliteconnection.py index fbb07a5..db83eee 100644 --- a/sqlobject/sqlite/sqliteconnection.py +++ b/sqlobject/sqlite/sqliteconnection.py @@ -170,8 +170,8 @@ class SQLiteConnection(DBAPI): return threadid = self._threadOrigination.get(id(conn)) DBAPI.releaseConnection(self, conn, explicit=explicit) - if (self._pool is not None and threadid and - threadid not in self._threadPool): + if (self._pool is not None and threadid + and threadid not in self._threadPool): self._threadPool[threadid] = conn else: if self._pool and conn in self._pool: diff --git a/sqlobject/sresults.py b/sqlobject/sresults.py index 9abfa89..4573cd1 100644 --- a/sqlobject/sresults.py +++ b/sqlobject/sresults.py @@ -214,8 +214,8 @@ class SelectResults(object): """ Counting elements of current select results """ assert not self.ops.get('start') and not self.ops.get('end'), \ "start/end/limit have no meaning with 'count'" - assert not (self.ops.get('distinct') and - (self.ops.get('start') or self.ops.get('end'))), \ + assert not (self.ops.get('distinct') + and (self.ops.get('start') or self.ops.get('end'))), \ "distinct-counting of sliced objects is not supported" if self.ops.get('distinct'): # Column must be specified, so we are using unique ID column. diff --git a/sqlobject/tests/dbtest.py b/sqlobject/tests/dbtest.py index 545c385..b1cf6e4 100644 --- a/sqlobject/tests/dbtest.py +++ b/sqlobject/tests/dbtest.py @@ -122,11 +122,8 @@ except Exception as e: else: if (connection.dbName == 'firebird') \ or ( - (connection.dbName == 'mysql') and - ( - (os.environ.get('APPVEYOR')) or - (os.environ.get('TRAVIS')) - ) + (connection.dbName == 'mysql') + and ((os.environ.get('APPVEYOR')) or (os.environ.get('TRAVIS'))) ): use_microseconds(False) diff --git a/sqlobject/tests/test_ForeignKey.py b/sqlobject/tests/test_ForeignKey.py index 0e80275..50715ef 100644 --- a/sqlobject/tests/test_ForeignKey.py +++ b/sqlobject/tests/test_ForeignKey.py @@ -71,8 +71,8 @@ def test1(): assert s.count() == 1 assert s[0] == w1 s = SOTestWorkKey.select( - (SOTestWorkKey.q.composer == c) & - (SOTestWorkKey.q.title == 'Symphony No. 9')) + (SOTestWorkKey.q.composer == c) + & (SOTestWorkKey.q.title == 'Symphony No. 9')) assert s.count() == 1 assert s[0] == w1 diff --git a/sqlobject/tests/test_auto.py b/sqlobject/tests/test_auto.py index a97e1a8..1b66821 100644 --- a/sqlobject/tests/test_auto.py +++ b/sqlobject/tests/test_auto.py @@ -48,8 +48,8 @@ class TestPeople: nickname = StringCol('nickname', length=10) Person.sqlmeta.addColumn(nickname, changeSchema=True) Person(name='robert', nickname='bob') - assert ([p.name for p in Person.select('all')] == - ['bob', 'jake', 'jane', 'robert', 'tim']) + assert ([p.name for p in Person.select('all')] + == ['bob', 'jake', 'jane', 'robert', 'tim']) Person.sqlmeta.delColumn(nickname, changeSchema=True) def test_dynamicJoin(self): diff --git a/sqlobject/tests/test_declarative.py b/sqlobject/tests/test_declarative.py index 3bd452b..4c75be6 100644 --- a/sqlobject/tests/test_declarative.py +++ b/sqlobject/tests/test_declarative.py @@ -41,8 +41,8 @@ class B1(Declarative): def add_attrs(old_attrs, new_attrs): old_attrs = old_attrs[:] for name in new_attrs.keys(): - if (name in old_attrs or name.startswith('_') or - name in ('add_attrs', 'declarative_count', 'attrs')): + if (name in old_attrs or name.startswith('_') + or name in ('add_attrs', 'declarative_count', 'attrs')): continue old_attrs.append(name) old_attrs.sort() diff --git a/sqlobject/tests/test_joins.py b/sqlobject/tests/test_joins.py index 684d2a9..9cc7c19 100644 --- a/sqlobject/tests/test_joins.py +++ b/sqlobject/tests/test_joins.py @@ -111,8 +111,8 @@ class TestJoin2: def test_defaultOrder(self): p1 = PersonJoiner2.byName('bob') - assert ([i.zip for i in p1.addressJoiner2s] == - ['33333', '22222', '11111']) + assert ([i.zip for i in p1.addressJoiner2s] + == ['33333', '22222', '11111']) _personJoiner3_getters = [] diff --git a/sqlobject/tests/test_new_joins.py b/sqlobject/tests/test_new_joins.py index 3a97e98..82d27d3 100644 --- a/sqlobject/tests/test_new_joins.py +++ b/sqlobject/tests/test_new_joins.py @@ -116,8 +116,8 @@ class TestJoin2: def test_defaultOrder(self): p1 = PersonJNew2.byName('bob') - assert ([i.zip for i in p1.addressJ2s] == - ['33333', '22222', '11111']) + assert ([i.zip for i in p1.addressJ2s] + == ['33333', '22222', '11111']) _personJ3_getters = [] diff --git a/sqlobject/tests/test_transactions.py b/sqlobject/tests/test_transactions.py index 091de47..b9ac500 100644 --- a/sqlobject/tests/test_transactions.py +++ b/sqlobject/tests/test_transactions.py @@ -53,8 +53,8 @@ def test_transaction(): SOTestSOTrans(name='joe', connection=trans) trans.rollback() trans.begin() - assert ([n.name for n in SOTestSOTrans.select(connection=trans)] == - ['bob', 'tim']) + assert ([n.name for n in SOTestSOTrans.select(connection=trans)] + == ['bob', 'tim']) b = SOTestSOTrans.byName('bob', connection=trans) b.name = 'robert' trans.commit() diff --git a/sqlobject/util/csvimport.py b/sqlobject/util/csvimport.py index ba0fa0d..e2ec686 100644 --- a/sqlobject/util/csvimport.py +++ b/sqlobject/util/csvimport.py @@ -88,8 +88,8 @@ def create_data(data, class_getter, keyorder=None): """ objects = {} classnames = data.keys() - if (not keyorder and isinstance(class_getter, types.ModuleType) and - hasattr(class_getter, 'soClasses')): + if (not keyorder and isinstance(class_getter, types.ModuleType) + and hasattr(class_getter, 'soClasses')): keyorder = [c.__name__ for c in class_getter.soClasses] if not keyorder: classnames.sort() http://sourceforge.net/p/sqlobject/sqlobject/ci/f4ef555f893a5b738b1eb1ac54e8dc566c03abde commit f4ef555f893a5b738b1eb1ac54e8dc566c03abde Author: Oleg Broytman <ph...@ph...> Date: Tue Nov 27 00:11:38 2018 +0300 Style: Ignore flake8 W605 invalid escape sequence flake8 is overzealous marking `re.search('\s+')` as invalid. diff --git a/setup.cfg b/setup.cfg index 6f87a78..461bc50 100644 --- a/setup.cfg +++ b/setup.cfg @@ -13,5 +13,6 @@ tag_svn_revision = 0 exclude = .git,.tox,docs/europython/*.py # E305: expected 2 blank lines after class or function definition, found 1 ... 77 lines suppressed ... hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2018-08-21 16:31:02
|
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 c93aef83f61769db976871aa479348ad24bd784a (commit) via 1978118064d9f3f6e80472d89773fb2622194183 (commit) via 6560970c84f472973facdfe1c47a9829977f8522 (commit) via 9a83dad081d9b450bdadc2c34ba17dd604c0964d (commit) via ff3deab26f6a43cc7a1e5b02cb4889240d8a3106 (commit) via f788aca840acfd356fbcc4e802840e555d819d12 (commit) from b1fd69522c0c18d79c572bdefcc384fa1a30525f (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/c93aef83f61769db976871aa479348ad24bd784a commit c93aef83f61769db976871aa479348ad24bd784a Author: Oleg Broytman <ph...@ph...> Date: Tue Aug 21 19:16:08 2018 +0300 Build(release): Stop releasing eggs It's enough to release a wheel. [skip ci] diff --git a/devscripts/release b/devscripts/release index e46403c..9dcff1a 100755 --- a/devscripts/release +++ b/devscripts/release @@ -11,15 +11,6 @@ python setup.py build_py && python setup.py build --executable '/usr/bin/env python' && python setup.py sdist && -for py in 2.7 3.4 3.5 3.6 3.7; do - find build -name '*.py[co]' -delete && - python$py setup.py build_py && - python$py setup.py build --executable '/usr/bin/env python' && - python$py -m compileall build && - python$py -O -m compileall build && - python$py setup.py bdist_egg || exit 1 -done - find build -name '*.py[co]' -delete && python setup.py bdist_wheel --universal && http://sourceforge.net/p/sqlobject/sqlobject/ci/1978118064d9f3f6e80472d89773fb2622194183 commit 1978118064d9f3f6e80472d89773fb2622194183 Author: Oleg Broytman <ph...@ph...> Date: Thu Jun 28 17:22:23 2018 +0300 Build, Tests(tox): Add Python 3.7 [skip ci] diff --git a/devscripts/release b/devscripts/release index 3bae6e7..e46403c 100755 --- a/devscripts/release +++ b/devscripts/release @@ -11,7 +11,7 @@ python setup.py build_py && python setup.py build --executable '/usr/bin/env python' && python setup.py sdist && -for py in 2.7 3.4 3.5 3.6; do +for py in 2.7 3.4 3.5 3.6 3.7; do find build -name '*.py[co]' -delete && python$py setup.py build_py && python$py setup.py build --executable '/usr/bin/env python' && diff --git a/devscripts/run-all-tests b/devscripts/run-all-tests index da6dbe4..2e67aaa 100755 --- a/devscripts/run-all-tests +++ b/devscripts/run-all-tests @@ -3,7 +3,7 @@ cd "`dirname \"$0\"`"/SQLObject && SO_DIR="`dirname $0`" -for py_ver in 2.7 3.4 3.5 3.6; do +for py_ver in 2.7 3.4 3.5 3.6 3.7; do echo "---------- PYTHON $py_ver "$1" ----------" "$SO_DIR"/cleanup && PY_VER=$py_ver "$SO_DIR"/run-tests-"$1" \ diff --git a/devscripts/setup b/devscripts/setup index 4edd679..c85aae0 100755 --- a/devscripts/setup +++ b/devscripts/setup @@ -3,7 +3,7 @@ umask 022 # -rwxr-xr-x cd "`dirname \"$0\"`"/SQLObject && -for py_ver in 2.7 3.4 3.5 3.6; do +for py_ver in 2.7 3.4 3.5 3.6 3.7; do python$py_ver -m pip install --install-option=-O2 --upgrade . done && diff --git a/tox.ini b/tox.ini index 5ca1e8b..443c089 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] minversion = 2.0 -envlist = py{27,34,35,36}-sqlite{,-memory},py{27,34}-flake8 +envlist = py{27,34,35,36,37}-sqlite{,-memory},py{27,34}-flake8 # Base test environment settings [testenv] @@ -11,6 +11,7 @@ basepython = py34: {env:TOXPYTHON:python3.4} py35: {env:TOXPYTHON:python3.5} py36: {env:TOXPYTHON:python3.6} + py37: {env:TOXPYTHON:python3.7} commands = {envpython} --version {envpython} -c "import struct; print(struct.calcsize('P') * 8)" @@ -72,6 +73,9 @@ commands = {[mysqlclient]commands} [testenv:py36-mysqlclient] commands = {[mysqlclient]commands} +[testenv:py37-mysqlclient] +commands = {[mysqlclient]commands} + [mysql-connector] commands = {[testenv]commands} @@ -92,6 +96,9 @@ commands = {[mysql-connector]commands} [testenv:py36-mysql-connector] commands = {[mysql-connector]commands} +[testenv:py37-mysql-connector] +commands = {[mysql-connector]commands} + [oursql] commands = {[testenv]commands} @@ -112,6 +119,9 @@ commands = {[oursql]commands} [testenv:py36-mysql-oursql3] commands = {[oursql]commands} +[testenv:py37-mysql-oursql3] +commands = {[oursql]commands} + [pymysql] commands = {[testenv]commands} @@ -132,6 +142,9 @@ commands = {[pymysql]commands} [testenv:py36-pymysql] commands = {[pymysql]commands} +[testenv:py37-pymysql] +commands = {[pymysql]commands} + [mysql-pyodbc] commands = {[testenv]commands} @@ -153,6 +166,9 @@ commands = {[mysql-pyodbc]commands} [testenv:py36-mysql-pyodbc] commands = {[mysql-pyodbc]commands} +[testenv:py37-mysql-pyodbc] +commands = {[mysql-pyodbc]commands} + [mysql-pypyodbc] commands = {[testenv]commands} @@ -173,6 +189,9 @@ commands = {[mysql-pypyodbc]commands} [testenv:py36-mysql-pypyodbc] commands = {[mysql-pypyodbc]commands} +[testenv:py37-mysql-pypyodbc] +commands = {[mysql-pypyodbc]commands} + # PostgreSQL test environments [psycopg] commands = @@ -194,6 +213,9 @@ commands = {[psycopg]commands} [testenv:py36-postgres-psycopg] commands = {[psycopg]commands} +[testenv:py37-postgres-psycopg] +commands = {[psycopg]commands} + [pygresql] commands = {[testenv]commands} @@ -214,6 +236,9 @@ commands = {[pygresql]commands} [testenv:py36-postgres-pygresql] commands = {[pygresql]commands} +[testenv:py37-postgres-pygresql] +commands = {[pygresql]commands} + [pypostgresql] commands = {[testenv]commands} @@ -231,6 +256,9 @@ commands = {[pypostgresql]commands} [testenv:py36-pypostgresql] commands = {[pypostgresql]commands} +[testenv:py37-pypostgresql] +commands = {[pypostgresql]commands} + [pg8000] commands = {[testenv]commands} @@ -251,6 +279,9 @@ commands = {[pg8000]commands} [testenv:py36-postgres-pg8000] commands = {[pg8000]commands} +[testenv:py37-postgres-pg8000] +commands = {[pg8000]commands} + [postgres-pyodbc] commands = {[testenv]commands} @@ -272,6 +303,9 @@ commands = {[postgres-pyodbc]commands} [testenv:py36-postgres-pyodbc] commands = {[postgres-pyodbc]commands} +[testenv:py37-postgres-pyodbc] +commands = {[postgres-pyodbc]commands} + [postgres-pypyodbc] commands = {[testenv]commands} @@ -292,6 +326,9 @@ commands = {[postgres-pypyodbc]commands} [testenv:py36-postgres-pypyodbc] commands = {[postgres-pypyodbc]commands} +[testenv:py37-postgres-pypyodbc] +commands = {[postgres-pypyodbc]commands} + # SQLite test environments [sqlite] @@ -313,6 +350,9 @@ commands = {[sqlite]commands} [testenv:py36-sqlite] commands = {[sqlite]commands} +[testenv:py37-sqlite] +commands = {[sqlite]commands} + [sqlite-memory] commands = {[testenv]commands} @@ -330,6 +370,9 @@ commands = {[sqlite-memory]commands} [testenv:py36-sqlite-memory] commands = {[sqlite-memory]commands} +[testenv:py37-sqlite-memory] +commands = {[sqlite-memory]commands} + # Firebird database test environments [fdb] commands = @@ -351,6 +394,9 @@ commands = {[fdb]commands} [testenv:py36-firebird-fdb] commands = {[fdb]commands} +[testenv:py37-firebird-fdb] +commands = {[fdb]commands} + [firebirdsql] commands = {[testenv]commands} @@ -371,6 +417,9 @@ commands = {[firebirdsql]commands} [testenv:py36-firebirdsql] commands = {[firebirdsql]commands} +[testenv:py37-firebirdsql] +commands = {[firebirdsql]commands} + # Special test environments [testenv:py27-flake8] changedir = ./ @@ -414,6 +463,10 @@ commands = {[mssql-pyodbc-w32]commands} platform = win32 commands = {[mssql-pyodbc-w32]commands} +[testenv:py37-mssql-pyodbc-w32] +platform = win32 +commands = {[mssql-pyodbc-w32]commands} + [mysql-connector-w32] platform = win32 commands = @@ -439,6 +492,10 @@ commands = {[mysql-connector-w32]commands} platform = win32 commands = {[mysql-connector-w32]commands} +[testenv:py37-mysql-connector-w32] +platform = win32 +commands = {[mysql-connector-w32]commands} + [pymysql-w32] platform = win32 commands = @@ -464,6 +521,10 @@ commands = {[pymysql-w32]commands} platform = win32 commands = {[pymysql-w32]commands} +[testenv:py37-pymysql-w32] +platform = win32 +commands = {[pymysql-w32]commands} + [mysql-pyodbc-w32] platform = win32 commands = @@ -490,6 +551,10 @@ commands = {[mysql-pyodbc-w32]commands} platform = win32 commands = {[mysql-pyodbc-w32]commands} +[testenv:py37-mysql-pyodbc-w32] +platform = win32 +commands = {[mysql-pyodbc-w32]commands} + [mysql-pypyodbc-w32] platform = win32 commands = @@ -516,6 +581,10 @@ commands = {[mysql-pypyodbc-w32]commands} platform = win32 commands = {[mysql-pypyodbc-w32]commands} +[testenv:py37-mysql-pypyodbc-w32] +platform = win32 +commands = {[mysql-pypyodbc-w32]commands} + [psycopg-w32] platform = win32 commands = @@ -541,6 +610,10 @@ commands = {[psycopg-w32]commands} platform = win32 commands = {[psycopg-w32]commands} +[testenv:py37-postgres-psycopg-w32] +platform = win32 +commands = {[psycopg-w32]commands} + [pygresql-w32] platform = win32 commands = @@ -566,6 +639,10 @@ commands = {[pygresql-w32]commands} platform = win32 commands = {[pygresql-w32]commands} +[testenv:py37-postgres-pygresql-w32] +platform = win32 +commands = {[pygresql-w32]commands} + [pypostgresql-w32] platform = win32 commands = @@ -587,6 +664,10 @@ commands = {[pypostgresql-w32]commands} platform = win32 commands = {[pypostgresql-w32]commands} +[testenv:py37-pypostgresql-w32] +platform = win32 +commands = {[pypostgresql-w32]commands} + [pg8000-w32] platform = win32 commands = @@ -612,6 +693,10 @@ commands = {[pg8000-w32]commands} platform = win32 commands = {[pg8000-w32]commands} +[testenv:py37-postgres-pg8000-w32] +platform = win32 +commands = {[pg8000-w32]commands} + [postgres-pyodbc-w32] platform = win32 commands = @@ -638,6 +723,10 @@ commands = {[postgres-pyodbc-w32]commands} platform = win32 commands = {[postgres-pyodbc-w32]commands} +[testenv:py37-postgres-pyodbc-w32] +platform = win32 +commands = {[postgres-pyodbc-w32]commands} + [postgres-pypyodbc-w32] platform = win32 commands = @@ -664,6 +753,10 @@ commands = {[postgres-pypyodbc-w32]commands} platform = win32 commands = {[postgres-pypyodbc-w32]commands} +[testenv:py37-postgres-pypyodbc-w32] +platform = win32 +commands = {[postgres-pypyodbc-w32]commands} + [sqlite-w32] platform = win32 commands = @@ -686,6 +779,10 @@ commands = {[sqlite-w32]commands} platform = win32 commands = {[sqlite-w32]commands} +[testenv:py37-sqlite-w32] +platform = win32 +commands = {[sqlite-w32]commands} + [sqlite-memory-w32] platform = win32 commands = @@ -707,3 +804,7 @@ commands = {[sqlite-memory-w32]commands} [testenv:py36-sqlite-memory-w32] platform = win32 commands = {[sqlite-memory-w32]commands} + +[testenv:py37-sqlite-memory-w32] +platform = win32 +commands = {[sqlite-memory-w32]commands} http://sourceforge.net/p/sqlobject/sqlobject/ci/6560970c84f472973facdfe1c47a9829977f8522 commit 6560970c84f472973facdfe1c47a9829977f8522 Author: Oleg Broytman <ph...@ph...> Date: Wed Jun 6 21:13:19 2018 +0300 Build(RELEASE-CHECKLIST): PyPI lost ability to hide old releases [skip ci] diff --git a/devscripts/RELEASE-CHECKLIST b/devscripts/RELEASE-CHECKLIST index 78c3fbf..e6949c4 100644 --- a/devscripts/RELEASE-CHECKLIST +++ b/devscripts/RELEASE-CHECKLIST @@ -33,7 +33,7 @@ if it is a stable release - uploads archives and release announcement (ANNOUNCE.rst) to SourceForge. -6. Hide/show old releases at PyPI and SourceForge. +6. Move old releases at SourceForge to subdirectory OldFiles. 7. Run ../push-all in the development repository to push all branches and tags to the public repositories. http://sourceforge.net/p/sqlobject/sqlobject/ci/9a83dad081d9b450bdadc2c34ba17dd604c0964d commit 9a83dad081d9b450bdadc2c34ba17dd604c0964d Author: Oleg Broytman <ph...@ph...> Date: Wed Jun 6 19:40:18 2018 +0300 Build(postrelease): Restore setup.cfg; edit README.rst diff --git a/devscripts/RELEASE-CHECKLIST b/devscripts/RELEASE-CHECKLIST index 29fa8a9..78c3fbf 100644 --- a/devscripts/RELEASE-CHECKLIST +++ b/devscripts/RELEASE-CHECKLIST @@ -38,10 +38,11 @@ 7. Run ../push-all in the development repository to push all branches and tags to the public repositories. -8. Run ../postrelease. The script restores ANNOUNCE.rst from the previous - commit (HEAD~). It calls editor; update next version, remove the list - of contributors and the list of changes, edit download URL in - ANNOUNCE.rst. Edit docs/News.rst - add new version. +8. Run ../postrelease. The script restores ANNOUNCE.rst and setup.cfg + from the previous commit (HEAD~). It calls editor; update next version, + remove the list of contributors and the list of changes, edit download + URL in ANNOUNCE.rst. Edit README.rst and docs/News.rst - add new + version. 9. Generate new docs using ./build-all-docs. Upload docs using ./publish-docs. diff --git a/devscripts/postrelease b/devscripts/postrelease index bfb03d4..55dfe67 100755 --- a/devscripts/postrelease +++ b/devscripts/postrelease @@ -1,6 +1,6 @@ #! /bin/sh -git checkout HEAD~ ANNOUNCE.rst && +git checkout HEAD~ ANNOUNCE.rst setup.cfg && -`git var GIT_EDITOR` ANNOUNCE.rst docs/News.rst && -exec git commit --message="Prepare for the next release" ANNOUNCE.rst docs/News.rst +`git var GIT_EDITOR` ANNOUNCE.rst setup.cfg README.rst docs/News.rst && +exec git commit --message="Prepare for the next release" ANNOUNCE.rst setup.cfg README.rst docs/News.rst http://sourceforge.net/p/sqlobject/sqlobject/ci/ff3deab26f6a43cc7a1e5b02cb4889240d8a3106 commit ff3deab26f6a43cc7a1e5b02cb4889240d8a3106 Author: Oleg Broytman <ph...@ph...> Date: Wed Jun 6 19:39:31 2018 +0300 Build(release): Stop copying released files diff --git a/devscripts/release b/devscripts/release index 3e890b7..3bae6e7 100755 --- a/devscripts/release +++ b/devscripts/release @@ -28,7 +28,6 @@ version=`python setup.py --version` split_tag $version if [ "$state" = final ]; then - cp -a dist/* "$HOME"/tmp/ && ... 149 lines suppressed ... hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2018-06-06 16:57:29
|
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, pyodbc-test has been deleted was d9a63a9a8c9d0ca94bcaf068f99f99ed6bbc8c0a - Log ----------------------------------------------------------------- d9a63a9a8c9d0ca94bcaf068f99f99ed6bbc8c0a CI: Run only 1 MSSQL ODBC test at AppVeyor ----------------------------------------------------------------------- hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2018-06-06 16:57:28
|
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, pymssql-test has been deleted was e4e4d6080173216d09cacf5e4d74c7d32c25c83c - Log ----------------------------------------------------------------- e4e4d6080173216d09cacf5e4d74c7d32c25c83c CI: Run only pymssql tests ----------------------------------------------------------------------- hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2018-06-06 16:20:41
|
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 annotated tag, 3.7.0 has been created at 5e9bfd832e9b4228dc60e68dab13564b5aedac6a (tag) tagging b1fd69522c0c18d79c572bdefcc384fa1a30525f (commit) replaces 3.6.0 tagged by Oleg Broytman on Wed Jun 6 19:09:55 2018 +0300 - Log ----------------------------------------------------------------- Release 3.7.0 -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEAXmp+v5763cG/OMobggLcLYoewMFAlsYB1MACgkQbggLcLYo ewP45hAAq5yFPLQ6Vy78043jvnEouwR5Fe5e4zq0jRK6ryWgeLVc8C1V81jIYvoi ZUV26m+rlrrLwoWyPxIRCTWh7eN7HlhHsXXkqi+Bl/2S4sNemjFO8N+NKFekM11O jkP2M7JnwB8+6b9ycvweKSsMLCLr3/AIbzmnzD/ihPfurb//POWtJ2I3lS9TMqUP HYkPmvh/IU8jsROwtp/OYNxLss+x16AsIwMFVV7e3lJu1Hbg07iL9ZMi6EOXk2Q8 htEy4t0a/sYT3BhcirDWRhfo3okMOS3zwqvy5nxwPyk54aLe11Mjyp+KXxdjdvDF OnJX6TmA+mH75rJ6OklatbqxeD86AmiptIiWsaK/ocENZyyyHRFsMalSGQni+KR7 el2vC1PmX7A7RHJF4x98Ovr1ifo6/NKTLoB/f9yZ8zHadtB+aWPRibxuDeXJ+Uft UhbS7n19ZCSAiKgc87aIJHq5Tb8f0+LZfF2qNAPY6d4XUVNbL46DuEOtN4q2LVKN 77P9m7G1R2tllUNl/cO9PZFTuumeb9d1kmLi4OPBt2/TSGSRm2/qD2tukvUC6Hk1 iXPnmqh5mFeltIMSITe5zl/TSBQgV782E+P5fPfCWHIl160oZHSQluBfBChLznDp B2+MgjOQE8t3XWvv8dyaRRVrwHgQlAL90X9z6OAb52tvoeOEwY8= =4ioj -----END PGP SIGNATURE----- Oleg Broytman (20): Prepare for the next release Build(publish-docs): chmod a+rX Docs: Update News and the list of contributors Style(dbconnection.py): Sort imports Docs: Remove outdated unmaintained drivers from TODO Fix(dbconnection.py): Remove unused `_connections` CI: Allow failures with ODBC tests at Appveyor CI: Fix .travis.yml Build(setup.py): Use setuptools instead of distutils Build(setup.py): Add `project_urls` Build(setup.py): Add long_description_content_type Build(release): Do not GPG-sign release files Build(.gitignore): Ignore `.pytest_cache` CI(appveyor.yml): Upgrade `pip` using `python -m pip` Style(setup.py): Reindent parameters Build, docs: pypi.python.org => pypi.org Fix(mysql): Fix SSL-related parameters for MySQL-connector Feat(postgres): Remove psycopg1 Feat(tox): Install psycopg2 from psycopg2-binary package Release 3.7.0 Scott Stahl (1): Add signals on commit and rollback ----------------------------------------------------------------------- hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2018-06-06 16:20:40
|
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, pyodbc-test has been created at d9a63a9a8c9d0ca94bcaf068f99f99ed6bbc8c0a (commit) - Log ----------------------------------------------------------------- http://sourceforge.net/p/sqlobject/sqlobject/ci/d9a63a9a8c9d0ca94bcaf068f99f99ed6bbc8c0a commit d9a63a9a8c9d0ca94bcaf068f99f99ed6bbc8c0a Author: Oleg Broytman <ph...@ph...> Date: Sat Feb 17 23:53:32 2018 +0300 CI: Run only 1 MSSQL ODBC test at AppVeyor diff --git a/appveyor.yml b/appveyor.yml index da5054e..c0e5ba9 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -7,7 +7,7 @@ version: '{branch}-{build}' # Other branches can allow themselves. branches: only: - - master + - pyodbc-test skip_branch_with_pr: false skip_tags: true @@ -17,15 +17,7 @@ cache: # Match travis clone_depth: 50 -services: - - mysql - - postgresql - environment: - MYSQL_PWD: "Password12!" - PGUSER: "postgres" - PGPASSWORD: "Password12!" - global: # SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the # /E:ON and /V:ON options are not enabled in the batch script intepreter @@ -38,107 +30,6 @@ environment: PYTHON_VERSION: "2.7" PYTHON_HOME: "C:\\Python27" db: mssql2014 - - TOXENV: "py34-mssql-pyodbc-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.4" - PYTHON_HOME: "C:\\Python34-x64" - db: mssql2014 - - TOXENV: "py27-mysql-connector-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - db: mysql - - TOXENV: "py36-mysql-connector-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: mysql - - TOXENV: "py27-pymysql-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - db: mysql - - TOXENV: "py36-pymysql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: mysql - - TOXENV: "py27-mysql-pyodbc-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27-x64" - db: mysql - - TOXENV: "py36-mysql-pyodbc-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: mysql - - TOXENV: "py27-postgres-psycopg-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - db: postgresql - - TOXENV: "py36-postgres-psycopg-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: postgresql - - TOXENV: "py27-postgres-pygresql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27-x64" - db: postgresql - - TOXENV: "py36-postgres-pygresql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: postgresql - - TOXENV: "py36-pypostgresql-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36" - db: postgresql - - TOXENV: "py36-pypostgresql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: postgresql - - TOXENV: "py27-postgres-pg8000-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - db: postgresql - - TOXENV: "py36-postgres-pg8000-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: postgresql - - TOXENV: "py27-postgres-pyodbc-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27-x64" - db: postgresql - - TOXENV: "py36-postgres-pyodbc-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: postgresql - - TOXENV: "py27-sqlite-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - - TOXENV: "py36-sqlite-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - - TOXENV: "py27-sqlite-memory-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - - TOXENV: "py36-sqlite-memory-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" matrix: allow_failures: diff --git a/tox.ini b/tox.ini index c902edb..572a3e1 100644 --- a/tox.ini +++ b/tox.ini @@ -395,7 +395,7 @@ commands = {envpython} -c "import pyodbc; print(pyodbc.drivers())" -sqlcmd -U sa -P "Password12!" -S .\SQL2014 -Q "DROP DATABASE sqlobject_test" sqlcmd -U sa -P "Password12!" -S .\SQL2014 -Q "CREATE DATABASE sqlobject_test" - pytest --cov=sqlobject -D "mssql://sa:Password12!@localhost\SQL2014/sqlobject_test?driver=pyodbc&odbcdrv=SQL%20Server&timeout=30&debug=1" + pytest --cov=sqlobject -D "mssql://sa:Password12!@localhost\SQL2014/sqlobject_test?driver=pyodbc&odbcdrv=SQL%20Server&timeout=30&debug=1" tests/test_transactions.py sqlcmd -U sa -P "Password12!" -S .\SQL2014 -Q "DROP DATABASE sqlobject_test" [testenv:py27-mssql-pyodbc-w32] http://sourceforge.net/p/sqlobject/sqlobject/ci/886ec099b8a6b550b2fa9ab8886d4fa17321ab0b commit 886ec099b8a6b550b2fa9ab8886d4fa17321ab0b Author: Oleg Broytman <ph...@ph...> Date: Sat Feb 17 23:50:55 2018 +0300 CI: Run MSSQL ODBC tests again This reverts commit 6b80a2d7bc86f07314fbe666abbed49b777056e2. diff --git a/appveyor.yml b/appveyor.yml index c42d738..da5054e 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -33,6 +33,16 @@ environment: CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\run_with_env.cmd" matrix: + - TOXENV: "py27-mssql-pyodbc-w32" + PYTHON_ARCH: "32" + PYTHON_VERSION: "2.7" + PYTHON_HOME: "C:\\Python27" + db: mssql2014 + - TOXENV: "py34-mssql-pyodbc-w32" + PYTHON_ARCH: "64" + PYTHON_VERSION: "3.4" + PYTHON_HOME: "C:\\Python34-x64" + db: mssql2014 - TOXENV: "py27-mysql-connector-w32" PYTHON_ARCH: "32" PYTHON_VERSION: "2.7" @@ -151,6 +161,21 @@ install: # List ODBC drivers - ps: Get-OdbcDriver -Platform 32-bit | Select-Object -ExpandProperty Name - ps: Get-OdbcDriver -Platform 64-bit | Select-Object -ExpandProperty Name + # Enable TCP for mssql + - ps: | + [reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo") | Out-Null + [reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.SqlWmiManagement") | Out-Null + $serverName = $env:COMPUTERNAME + $instanceName = 'SQL2014' + $smo = 'Microsoft.SqlServer.Management.Smo.' + $wmi = new-object ($smo + 'Wmi.ManagedComputer') + $uri = "ManagedComputer[@Name='$serverName']/ServerInstance[@Name='$instanceName']/ServerProtocol[@Name='Tcp']" + $Tcp = $wmi.GetSmoObject($uri) + $Tcp.IsEnabled = $true + $TCP.alter() + Set-Service SQLBrowser -StartupType Manual + Start-Service SQLBrowser + Start-Service "MSSQL`$$instanceName" # Not a C project, so no build step build: false ----------------------------------------------------------------------- hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2018-06-06 16:20:38
|
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, pymssql-test has been created at e4e4d6080173216d09cacf5e4d74c7d32c25c83c (commit) - Log ----------------------------------------------------------------- http://sourceforge.net/p/sqlobject/sqlobject/ci/e4e4d6080173216d09cacf5e4d74c7d32c25c83c commit e4e4d6080173216d09cacf5e4d74c7d32c25c83c Author: Oleg Broytman <ph...@ph...> Date: Sun Feb 11 21:25:30 2018 +0300 CI: Run only pymssql tests diff --git a/appveyor.yml b/appveyor.yml index 42c16a9..db402a2 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -7,7 +7,7 @@ version: '{branch}-{build}' # Other branches can allow themselves. branches: only: - - master + - pymssql-test skip_branch_with_pr: false skip_tags: true @@ -17,15 +17,7 @@ cache: # Match travis clone_depth: 50 -services: - - mysql - - postgresql - environment: - MYSQL_PWD: "Password12!" - PGUSER: "postgres" - PGPASSWORD: "Password12!" - global: # SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the # /E:ON and /V:ON options are not enabled in the batch script intepreter @@ -39,107 +31,6 @@ environment: PYTHON_VERSION: "2.7" PYTHON_HOME: "C:\\Python27" db: mssql2014 - - TOX_ENV: "py36-pymssql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: mssql2014 - - TOXENV: "py27-mysql-connector-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - db: mysql - - TOXENV: "py36-mysql-connector-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: mysql - - TOXENV: "py27-pymysql-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - db: mysql - - TOXENV: "py36-pymysql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: mysql - - TOXENV: "py27-mysql-pyodbc-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27-x64" - db: mysql - - TOXENV: "py36-mysql-pyodbc-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: mysql - - TOXENV: "py27-postgres-psycopg-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - db: postgresql - - TOXENV: "py36-postgres-psycopg-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: postgresql - - TOXENV: "py27-postgres-pygresql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27-x64" - db: postgresql - - TOXENV: "py36-postgres-pygresql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: postgresql - - TOXENV: "py36-pypostgresql-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36" - db: postgresql - - TOXENV: "py36-pypostgresql-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: postgresql - - TOXENV: "py27-postgres-pg8000-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - db: postgresql - - TOXENV: "py36-postgres-pg8000-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: postgresql - - TOXENV: "py27-postgres-pyodbc-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27-x64" - db: postgresql - - TOXENV: "py36-postgres-pyodbc-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - db: postgresql - - TOXENV: "py27-sqlite-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - - TOXENV: "py36-sqlite-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" - - TOXENV: "py27-sqlite-memory-w32" - PYTHON_ARCH: "32" - PYTHON_VERSION: "2.7" - PYTHON_HOME: "C:\\Python27" - - TOXENV: "py36-sqlite-memory-w32" - PYTHON_ARCH: "64" - PYTHON_VERSION: "3.6" - PYTHON_HOME: "C:\\Python36-x64" matrix: allow_failures: @@ -167,9 +58,6 @@ install: Set-Service SQLBrowser -StartupType Manual Start-Service SQLBrowser Start-Service "MSSQL`$$instanceName" - # List ODBC drivers - - ps: Get-OdbcDriver -Platform 32-bit | Select-Object -ExpandProperty Name - - ps: Get-OdbcDriver -Platform 64-bit | Select-Object -ExpandProperty Name # Ensure we use the right python version - "SET PATH=%PYTHON_HOME%;%PYTHON_HOME%\\Scripts;C:\\Program Files\\MySQL\\MySQL Server 5.7\\bin;C:\\Program Files\\PostgreSQL\\9.5\\bin;%PATH%" - "SET TOXPYTHON=%PYTHON_HOME%\\python.exe" diff --git a/tox.ini b/tox.ini index b3abfbd..97a5a76 100644 --- a/tox.ini +++ b/tox.ini @@ -396,7 +396,8 @@ commands = {[testenv]commands} -sqlcmd -U sa -P "Password12!" -S .\SQL2014 -Q "DROP DATABASE sqlobject_test" sqlcmd -U sa -P "Password12!" -S .\SQL2014 -Q "CREATE DATABASE sqlobject_test" - pytest --cov=sqlobject -D "mssql://sa:Password12!@localhost\SQL2014/sqlobject_test?driver=pymssql&timeout=30&debug=1" + pytest --cov=sqlobject -D "mssql://sa:Password12!@localhost\SQL2014/sqlobject_test?driver=pymssql&timeout=30&debug=1" tests/test_transactions.py + # tests include/tests inheritance/tests versioning/test sqlcmd -U sa -P "Password12!" -S .\SQL2014 -Q "DROP DATABASE sqlobject_test" [testenv:py27-pymssql-w32] http://sourceforge.net/p/sqlobject/sqlobject/ci/2c843d24aeaf54cefb215890c938168c7f6a6626 commit 2c843d24aeaf54cefb215890c938168c7f6a6626 Author: Oleg Broytman <ph...@ph...> Date: Sun Feb 11 21:23:57 2018 +0300 CI: Run pymssql tests at AppVeyor again diff --git a/appveyor.yml b/appveyor.yml index c42d738..42c16a9 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -33,6 +33,17 @@ environment: CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\run_with_env.cmd" matrix: + # from https://www.appveyor.com/docs/installed-software/#python + - TOXENV: "py27-pymssql-w32" + PYTHON_ARCH: "32" + PYTHON_VERSION: "2.7" + PYTHON_HOME: "C:\\Python27" + db: mssql2014 + - TOX_ENV: "py36-pymssql-w32" + PYTHON_ARCH: "64" + PYTHON_VERSION: "3.6" + PYTHON_HOME: "C:\\Python36-x64" + db: mssql2014 - TOXENV: "py27-mysql-connector-w32" PYTHON_ARCH: "32" PYTHON_VERSION: "2.7" @@ -140,6 +151,25 @@ matrix: fast_finish: true install: + # Enable TCP for mssql + # (from appveyor documentation) + - ps: | + [reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo") | Out-Null + [reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.SqlWmiManagement") | Out-Null + $serverName = $env:COMPUTERNAME + $instanceName = 'SQL2014' + $smo = 'Microsoft.SqlServer.Management.Smo.' + $wmi = new-object ($smo + 'Wmi.ManagedComputer') + $uri = "ManagedComputer[@Name='$serverName']/ServerInstance[@Name='$instanceName']/ServerProtocol[@Name='Tcp']" + $Tcp = $wmi.GetSmoObject($uri) + $Tcp.IsEnabled = $true + $TCP.alter() + Set-Service SQLBrowser -StartupType Manual + Start-Service SQLBrowser + Start-Service "MSSQL`$$instanceName" + # List ODBC drivers + - ps: Get-OdbcDriver -Platform 32-bit | Select-Object -ExpandProperty Name + - ps: Get-OdbcDriver -Platform 64-bit | Select-Object -ExpandProperty Name # Ensure we use the right python version - "SET PATH=%PYTHON_HOME%;%PYTHON_HOME%\\Scripts;C:\\Program Files\\MySQL\\MySQL Server 5.7\\bin;C:\\Program Files\\PostgreSQL\\9.5\\bin;%PATH%" - "SET TOXPYTHON=%PYTHON_HOME%\\python.exe" diff --git a/docs/News.rst b/docs/News.rst index 209ae25..8cbb72b 100644 --- a/docs/News.rst +++ b/docs/News.rst @@ -54,6 +54,11 @@ Build * Use ``python_requires`` keyword in ``setup.py``. +CI +-- + +* Run pymssql tests at AppVeyor again. + SQLObject 3.5.0 =============== diff --git a/tox.ini b/tox.ini index c902edb..b3abfbd 100644 --- a/tox.ini +++ b/tox.ini @@ -31,6 +31,7 @@ deps = pypyodbc: pypyodbc firebird-fdb: fdb firebirdsql: firebirdsql + pymssql: pymssql passenv = CI TRAVIS TRAVIS_* APPVEYOR DISTUTILS_USE_SDK MSSdk INCLUDE LIB PGPASSWORD WINDIR # Don't fail or warn on uninstalled commands platform = linux @@ -389,6 +390,31 @@ commands = flake8 . # Windows testing +[pymssql-w32] +platform = win32 +commands = + {[testenv]commands} + -sqlcmd -U sa -P "Password12!" -S .\SQL2014 -Q "DROP DATABASE sqlobject_test" + sqlcmd -U sa -P "Password12!" -S .\SQL2014 -Q "CREATE DATABASE sqlobject_test" + pytest --cov=sqlobject -D "mssql://sa:Password12!@localhost\SQL2014/sqlobject_test?driver=pymssql&timeout=30&debug=1" + sqlcmd -U sa -P "Password12!" -S .\SQL2014 -Q "DROP DATABASE sqlobject_test" + +[testenv:py27-pymssql-w32] +platform = win32 +commands = {[pymssql-w32]commands} + +[testenv:py34-pymssql-w32] +platform = win32 +commands = {[pymssql-w32]commands} + +[testenv:py35-pymssql-w32] +platform = win32 +commands = {[pymssql-w32]commands} + +[testenv:py36-pymssql-w32] +platform = win32 +commands = {[pymssql-w32]commands} + [mssql-pyodbc-w32] platform = win32 commands = ----------------------------------------------------------------------- hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2018-06-06 16:20:36
|
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 b1fd69522c0c18d79c572bdefcc384fa1a30525f (commit) via a4bc6269f4515f7cd929e90ac73f4e7272e6c8fb (commit) via 1ab0c67224f5bb1d20e8d4d3659494e638ea0dfc (commit) via 5f8e6ecf48f314e7d990f69914542959ebf19010 (commit) from fec1260acd46aaf9852b1f5bdf33da83aab7e9af (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/b1fd69522c0c18d79c572bdefcc384fa1a30525f commit b1fd69522c0c18d79c572bdefcc384fa1a30525f Author: Oleg Broytman <ph...@ph...> Date: Wed Jun 6 19:08:52 2018 +0300 Release 3.7.0 diff --git a/ANNOUNCE.rst b/ANNOUNCE.rst index 781eee7..a81ce5e 100644 --- a/ANNOUNCE.rst +++ b/ANNOUNCE.rst @@ -1,28 +1,36 @@ Hello! -I'm pleased to announce version 3.7.0a1, the first alpha of the upcoming -release of branch 3.7 of SQLObject. +I'm pleased to announce version 3.7.0, the first stable release of branch +3.7 of SQLObject. -I'm pleased to announce version 3.7.0a2, the second alpha of the upcoming -release of branch 3.7 of SQLObject. -I'm pleased to announce version 3.7.0b1, the first beta of the upcoming -release of branch 3.7 of SQLObject. +What's new in SQLObject +======================= -I'm pleased to announce version 3.7.0rc1, the first release candidate -of the upcoming release of branch 3.7 of SQLObject. +Contributors for this release are Scott Stahl and Christophe Popov. -I'm pleased to announce version 3.7.0, the first stable release of branch -3.7 of SQLObject. +Features +-------- -I'm pleased to announce version 3.7.0, the first bugfix release of branch -3.7 of SQLObject. +* Add signals on commit and rollback; pull request by Scott Stahl. +Bug fixes +--------- -What's new in SQLObject -======================= +* Fix SSL-related parameters for MySQL-connector (connector uses + a different param style). Bug reported by Christophe Popov. + +Drivers +------- + +* Remove psycopg1. Driver ``psycopg`` is now just an alias for ``psycopg2``. + +Tests +----- + +* Install psycopg2 from `psycopg2-binary`_ package. -Contributors for this release are +.. _`psycopg2-binary`: https://pypi.org/project/psycopg2-binary/ For a more complete list, please see the news: http://sqlobject.org/News.html @@ -54,7 +62,7 @@ Mailing list: https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss Download: -https://pypi.org/project/SQLObject/3.7.0a0.dev20171115/ +https://pypi.org/project/SQLObject/3.7.0/ News and changes: http://sqlobject.org/News.html diff --git a/devscripts/build-all-docs b/devscripts/build-all-docs index 3eb17ed..233c068 100755 --- a/devscripts/build-all-docs +++ b/devscripts/build-all-docs @@ -11,7 +11,7 @@ cd "$PROG_DIR" && PROG_DIR="`pwd`" && cd "$PROG_DIR"/SQLObject && -build_docs 3.6.0 && +build_docs 3.7.0 && build_docs master devel && rm -rf docs/html && diff --git a/docs/News.rst b/docs/News.rst index 51b3d0e..fe8965f 100644 --- a/docs/News.rst +++ b/docs/News.rst @@ -5,8 +5,10 @@ News .. contents:: Contents: :backlinks: none -SQLObject 3.7.0 (master) -======================== +SQLObject 3.7.0 +=============== + +Released 6 June 2018. Features -------- diff --git a/setup.cfg b/setup.cfg index 40ee4ca..121fe8b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -4,11 +4,6 @@ universal = 1 [easy_install] optimize = 2 -[egg_info] -tag_build = -tag_date = 0 -tag_svn_revision = 0 - [flake8] exclude = .git,.tox,docs/europython/*.py # E305: expected 2 blank lines after class or function definition, found 1 diff --git a/sqlobject/__version__.py b/sqlobject/__version__.py index cd24270..ba9bc27 100644 --- a/sqlobject/__version__.py +++ b/sqlobject/__version__.py @@ -3,6 +3,6 @@ version = '3.7.0' major = 3 minor = 7 micro = 0 -release_level = 'dev' +release_level = 'final' serial = 0 version_info = (major, minor, micro, release_level, serial) http://sourceforge.net/p/sqlobject/sqlobject/ci/a4bc6269f4515f7cd929e90ac73f4e7272e6c8fb commit a4bc6269f4515f7cd929e90ac73f4e7272e6c8fb Author: Oleg Broytman <ph...@ph...> Date: Sun Jun 3 23:46:28 2018 +0300 Feat(tox): Install psycopg2 from psycopg2-binary package diff --git a/docs/News.rst b/docs/News.rst index 422882e..51b3d0e 100644 --- a/docs/News.rst +++ b/docs/News.rst @@ -24,6 +24,13 @@ Drivers * Remove psycopg1. Driver ``psycopg`` is now just an alias for ``psycopg2``. +Tests +----- + +* Install psycopg2 from `psycopg2-binary`_ package. + +.. _`psycopg2-binary`: https://pypi.org/project/psycopg2-binary/ + SQLObject 3.6.0 =============== diff --git a/tox.ini b/tox.ini index c902edb..5ca1e8b 100644 --- a/tox.ini +++ b/tox.ini @@ -23,7 +23,7 @@ deps = mysql-oursql: git+https://github.com/sqlobject/oursql.git@master#egg=oursql mysql-oursql3: git+https://github.com/sqlobject/oursql.git@py3k#egg=oursql pymysql: pymysql - postgres-psycopg: psycopg2 + postgres-psycopg: psycopg2-binary postgres-pygresql: pygresql pypostgresql: git+https://github.com/sqlobject/py-postgresql.git@fix_w32#egg=pypostgresql postgres-pg8000: git+https://github.com/sqlobject/pg8000.git@getuser#egg=pg8000 http://sourceforge.net/p/sqlobject/sqlobject/ci/1ab0c67224f5bb1d20e8d4d3659494e638ea0dfc commit 1ab0c67224f5bb1d20e8d4d3659494e638ea0dfc Author: Oleg Broytman <ph...@ph...> Date: Sun Jun 3 23:43:44 2018 +0300 Feat(postgres): Remove psycopg1 diff --git a/docs/News.rst b/docs/News.rst index 1705c76..422882e 100644 --- a/docs/News.rst +++ b/docs/News.rst @@ -19,6 +19,11 @@ Bug fixes * Fix SSL-related parameters for MySQL-connector (connector uses a different param style). Bug reported by Christophe Popov. +Drivers +------- + +* Remove psycopg1. Driver ``psycopg`` is now just an alias for ``psycopg2``. + SQLObject 3.6.0 =============== diff --git a/docs/SQLObject.rst b/docs/SQLObject.rst index dd96d07..46d820e 100644 --- a/docs/SQLObject.rst +++ b/docs/SQLObject.rst @@ -48,7 +48,7 @@ Requirements Currently SQLObject supports MySQL_ via MySQLdb_ aka MySQL-python (called mysqlclient_ for Python 3), `MySQL Connector`_, oursql_, PyMySQL_, PyODBC_ -and PyPyODBC_. For PostgreSQL_ psycopg2_ or psycopg1 are recommended; +and PyPyODBC_. For PostgreSQL_ psycopg2_ is recommended; PyGreSQL_, py-postgresql_ and pg8000_ are supported; SQLite_ has a built-in driver or PySQLite_. Firebird_ is supported via fdb_ or kinterbasdb_; pyfirebirdsql_ is supported but has problems. `MAX DB`_ @@ -1832,8 +1832,8 @@ PostgresConnection supports transactions and all other features. The user can choose a DB API driver for PostgreSQL by using a ``driver`` parameter in DB URI or PostgresConnection that can be a comma-separated -list of driver names. Possible drivers are: ``psycopg2``, psycopg1, -``psycopg`` (tries psycopg2 and psycopg1), ``pygresql``, ``pypostgresql``, +list of driver names. Possible drivers are: ``psycopg2``, +``psycopg`` (alias for ``psycopg2``), ``pygresql``, ``pypostgresql``, ``pg8000``, ``pyodbc``, ``pypyodbc`` or ``odbc`` (try ``pyodbc`` and ``pypyodbc``). Default is ``psycopg``. diff --git a/docs/download.rst b/docs/download.rst index 4d87846..1d9e546 100644 --- a/docs/download.rst +++ b/docs/download.rst @@ -73,7 +73,7 @@ pyodbc pypyodbc odbc (synonym for pyodbc) PostgreSQL ^^^^^^^^^^ -psycopg1 psycopg2 psycopg postgres postgresql (synonyms for psycopg2) +psycopg2 psycopg postgres postgresql (synonyms for psycopg2) pygresql pypostgresql py-postgresql pg8000 The rest diff --git a/setup.py b/setup.py index 77a9947..b0fb383 100755 --- a/setup.py +++ b/setup.py @@ -110,7 +110,6 @@ and `GitHub <https://github.com/sqlobject>`_. 'pyodbc': ['pyodbc'], 'pypyodbc': ['pypyodbc'], # PostgreSQL - 'psycopg1': ['psycopg1'], 'psycopg2': ['psycopg2'], 'psycopg': ['psycopg2'], 'postgres': ['psycopg2'], diff --git a/sqlobject/postgres/pgconnection.py b/sqlobject/postgres/pgconnection.py index b8a83c7..b567f99 100644 --- a/sqlobject/postgres/pgconnection.py +++ b/sqlobject/postgres/pgconnection.py @@ -38,18 +38,9 @@ class PostgresConnection(DBAPI): if not driver: continue try: - if driver == 'psycopg2': + if driver in ('psycopg', 'psycopg2'): import psycopg2 as psycopg self.module = psycopg - elif driver == 'psycopg1': - import psycopg - self.module = psycopg - elif driver == 'psycopg': - try: - import psycopg2 as psycopg - except ImportError: - import psycopg - self.module = psycopg elif driver == 'pygresql': import pgdb self.module = pgdb @@ -74,7 +65,7 @@ class PostgresConnection(DBAPI): else: raise ValueError( 'Unknown PostgreSQL driver "%s", ' - 'expected psycopg, psycopg2, psycopg1, ' + 'expected psycopg, psycopg2, ' 'pygresql, pypostgresql, pg8000, ' 'odbc, pyodbc or pypyodbc' % driver) except ImportError: http://sourceforge.net/p/sqlobject/sqlobject/ci/5f8e6ecf48f314e7d990f69914542959ebf19010 commit 5f8e6ecf48f314e7d990f69914542959ebf19010 Author: Oleg Broytman <ph...@ph...> Date: Fri Jun 1 05:04:01 2018 +0300 Fix(mysql): Fix SSL-related parameters for MySQL-connector Fixes: #144. diff --git a/docs/News.rst b/docs/News.rst index 209ae25..1705c76 100644 --- a/docs/News.rst +++ b/docs/News.rst @@ -13,6 +13,12 @@ Features * Add signals on commit and rollback; pull request by Scott Stahl. +Bug fixes +--------- + +* Fix SSL-related parameters for MySQL-connector (connector uses + a different param style). Bug reported by Christophe Popov. + SQLObject 3.6.0 =============== diff --git a/sqlobject/mysql/mysqlconnection.py b/sqlobject/mysql/mysqlconnection.py index 51cbde4..310b21d 100644 --- a/sqlobject/mysql/mysqlconnection.py +++ b/sqlobject/mysql/mysqlconnection.py @@ -111,11 +111,16 @@ class MySQLConnection(DBAPI): "client_flag", "local_infile"): if key in kw: self.kw[key] = int(kw.pop(key)) - for key in ("ssl_key", "ssl_cert", "ssl_ca", "ssl_capath"): - if key in kw: - if "ssl" not in self.kw: - self.kw["ssl"] = {} - self.kw["ssl"][key[4:]] = kw.pop(key) + if driver == 'connector': + for key in ("ssl_key", "ssl_cert", "ssl_ca", "ssl_capath"): + if key in kw: + self.kw[key] = kw.pop(key) + else: + for key in ("ssl_key", "ssl_cert", "ssl_ca", "ssl_capath"): + if key in kw: + if "ssl" not in self.kw: + self.kw["ssl"] = {} + self.kw["ssl"][key[4:]] = kw.pop(key) if "charset" in kw: self.dbEncoding = self.kw["charset"] = kw.pop("charset") else: ----------------------------------------------------------------------- Summary of changes: ANNOUNCE.rst | 40 +++++++++++++++++++++++--------------- devscripts/build-all-docs | 2 +- docs/News.rst | 24 +++++++++++++++++++++-- docs/SQLObject.rst | 6 +++--- docs/download.rst | 2 +- setup.cfg | 5 ----- setup.py | 1 - sqlobject/__version__.py | 2 +- sqlobject/mysql/mysqlconnection.py | 15 +++++++++----- sqlobject/postgres/pgconnection.py | 13 ++----------- tox.ini | 2 +- 11 files changed, 65 insertions(+), 47 deletions(-) hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2018-04-16 22:49:12
|
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 discards 2d25d026fb3938cad3bbe02d72772e083200991d (commit) via fec1260acd46aaf9852b1f5bdf33da83aab7e9af (commit) This update added new revisions after undoing existing revisions. That is to say, the old revision is not a strict subset of the new revision. This situation occurs when you --force push a change and generate a repository containing something like this: * -- * -- B -- O -- O -- O (2d25d026fb3938cad3bbe02d72772e083200991d) \ N -- N -- N (fec1260acd46aaf9852b1f5bdf33da83aab7e9af) When this happens we assume that you've already had alert emails for all of the O revisions, and so we here report only the revisions in the N branch from the common base, B. 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/fec1260acd46aaf9852b1f5bdf33da83aab7e9af commit fec1260acd46aaf9852b1f5bdf33da83aab7e9af Author: Oleg Broytman <ph...@ph...> Date: Mon Apr 16 20:49:10 2018 +0300 Build, docs: pypi.python.org => pypi.org diff --git a/ANNOUNCE.rst b/ANNOUNCE.rst index 2e05210..781eee7 100644 --- a/ANNOUNCE.rst +++ b/ANNOUNCE.rst @@ -54,7 +54,7 @@ Mailing list: https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss Download: -https://pypi.python.org/pypi/SQLObject/3.7.0a0.dev20171115 +https://pypi.org/project/SQLObject/3.7.0a0.dev20171115/ News and changes: http://sqlobject.org/News.html diff --git a/docs/DeveloperGuide.rst b/docs/DeveloperGuide.rst index 5e889c8..966c379 100644 --- a/docs/DeveloperGuide.rst +++ b/docs/DeveloperGuide.rst @@ -234,7 +234,7 @@ Tests are important. Tests keep everything from falling apart. All new additions should have tests. Testing uses pytest, an alternative to ``unittest``. It is available -at http://pytest.org/ and https://pypi.python.org/pypi/pytest. Read its +at http://pytest.org/ and https://pypi.org/project/pytest/. Read its `getting started`_ document for more. .. _getting started: http://docs.pytest.org/en/latest/getting-started.html @@ -283,7 +283,7 @@ To avoid triggering unnecessary test run at CI services add text `[skip ci] ``[ci skip]`` anywhere in your commit messages for commits that don't change code (documentation updates and such). -We use `coverage.py <https://pypi.python.org/pypi/coverage>`_ +We use `coverage.py <https://pypi.org/project/coverage/>`_ to measures code coverage by tests and upload the result for analyzis to `Coveralls <https://coveralls.io/github/sqlobject/sqlobject>`_ and `Codecov <https://codecov.io/gh/sqlobject/sqlobject>`_: diff --git a/docs/News.rst b/docs/News.rst index 17626cd..209ae25 100644 --- a/docs/News.rst +++ b/docs/News.rst @@ -68,7 +68,7 @@ Minor features Drivers ------- -* Add support for `pg8000 <https://pypi.python.org/pypi/pg8000>`_ +* Add support for `pg8000 <https://pypi.org/project/pg8000/>`_ PostgreSQL driver. * Fix autoreconnect with pymysql driver. Contributed by Shailesh Mungikar. @@ -202,7 +202,7 @@ Minor features 'connector', 'oursql' and 'pymysql'. Default is to test for mysqldb only. * Add support for `MySQL Connector - <https://pypi.python.org/pypi/mysql-connector>`_ (pure python; `binary + <https://pypi.org/project/mysql-connector/>`_ (pure python; `binary packages <https://dev.mysql.com/doc/connector-python/en/>`_ are not at PyPI and hence are hard to install and test). @@ -224,11 +224,11 @@ Drivers (work in progress) * Extend support for PyGreSQL driver. There are still some problems. * Add support for `py-postgresql - <https://pypi.python.org/pypi/py-postgresql>`_ PostgreSQL driver. There + <https://pypi.org/project/py-postgresql/>`_ PostgreSQL driver. There are still problems with the driver. * Add support for `pyfirebirdsql - <https://pypi.python.org/pypi/firebirdsql>`_.There are still problems with + <https://pypi.org/project/firebirdsql/>`_.There are still problems with the driver. Bug fixes diff --git a/docs/Python3.rst b/docs/Python3.rst index f14b106..ad4fb56 100644 --- a/docs/Python3.rst +++ b/docs/Python3.rst @@ -40,7 +40,7 @@ Note that the default encoding of MySQL databases is *latin1*, which can cause problems with general Unicode strings. We recommend specifying the character set as *utf8* when using MySQL to protect against these issues. -.. _mysqlclient: https://pypi.python.org/pypi/mysqlclient +.. _mysqlclient: https://pypi.org/project/mysqlclient/ Using databases created with SQLObject and Python 2 in Python 3 diff --git a/docs/SQLObject.rst b/docs/SQLObject.rst index 1ccc222..dd96d07 100644 --- a/docs/SQLObject.rst +++ b/docs/SQLObject.rst @@ -59,21 +59,21 @@ problems (not all tests passed). .. _MySQL: https://www.mysql.com/ .. _MySQLdb: https://sourceforge.net/projects/mysql-python/ -.. _mysqlclient: https://pypi.python.org/pypi/mysqlclient -.. _`MySQL Connector`: https://pypi.python.org/pypi/mysql-connector +.. _mysqlclient: https://pypi.org/project/mysqlclient/ +.. _`MySQL Connector`: https://pypi.org/project/mysql-connector/ .. _oursql: https://github.com/python-oursql/oursql .. _PyMySQL: https://github.com/PyMySQL/PyMySQL/ .. _PostgreSQL: https://postgresql.org .. _psycopg2: http://initd.org/psycopg/ .. _PyGreSQL: http://www.pygresql.org/ -.. _py-postgresql: https://pypi.python.org/pypi/py-postgresql -.. _pg8000: https://pypi.python.org/pypi/pg8000 +.. _py-postgresql: https://pypi.org/project/py-postgresql/ +.. _pg8000: https://pypi.org/project/pg8000/ .. _SQLite: https://sqlite.org/ .. _PySQLite: https://github.com/ghaering/pysqlite .. _Firebird: http://www.firebirdsql.org/en/python-driver/ .. _fdb: http://www.firebirdsql.org/en/devel-python-driver/ .. _kinterbasdb: http://kinterbasdb.sourceforge.net/ -.. _pyfirebirdsql: https://pypi.python.org/pypi/firebirdsql +.. _pyfirebirdsql: https://pypi.org/project/firebirdsql/ .. _`MAX DB`: http://maxdb.sap.com/ .. _sapdb: http://maxdb.sap.com/doc/7_8/50/01923f25b842438a408805774f6989/frameset.htm .. _Sybase: http://www.object-craft.com.au/projects/sybase/ @@ -81,8 +81,8 @@ problems (not all tests passed). .. _pymssql: http://www.pymssql.org/en/latest/index.html .. _FreeTDS: http://www.freetds.org/ .. _adodbapi: http://adodbapi.sourceforge.net/ -.. _PyODBC: https://pypi.python.org/pypi/pyodbc -.. _PyPyODBC: https://pypi.python.org/pypi/pypyodbc +.. _PyODBC: https://pypi.org/project/pyodbc/ +.. _PyPyODBC: https://pypi.org/project/pypyodbc/ Python 2.7 or 3.4+ is required. diff --git a/docs/TODO.rst b/docs/TODO.rst index 41e24b1..106a599 100644 --- a/docs/TODO.rst +++ b/docs/TODO.rst @@ -9,14 +9,14 @@ TODO * PyPy. -* Use https://pypi.python.org/pypi/psycopg2cffi to run SQLObject +* Use https://pypi.org/project/psycopg2cffi/ to run SQLObject under PyPy. -* https://pypi.python.org/pypi/turbodbc +* https://pypi.org/project/turbodbc/ * PyODBC and PyPyODBC for linux and w32: SQLite (libsqliteodbc). -* https://pypi.python.org/pypi/JayDeBeApi +* https://pypi.org/project/JayDeBeApi/ * Jython. @@ -92,7 +92,7 @@ TODO * Support PyODBC driver for all backends. -* `dbms <https://pypi.python.org/pypi/dbms>`_ is a DB API wrapper for DB +* `dbms <https://pypi.org/project/dbms/>`_ is a DB API wrapper for DB API drivers for IBM DB2, Firebird, MSSQL Server, MySQL, Oracle, PostgreSQL, SQLite and ODBC. @@ -109,7 +109,7 @@ TODO * Use DBUtils_, especially SolidConnection. -.. _DBUtils: https://pypi.python.org/pypi/DBUtils +.. _DBUtils: https://pypi.org/project/DBUtils/ * ``_fromDatabase`` currently doesn't support IDs that don't fit into the normal naming scheme. It should do so. You can still use ``_idName`` diff --git a/docs/download.rst b/docs/download.rst index a028998..4d87846 100644 --- a/docs/download.rst +++ b/docs/download.rst @@ -2,7 +2,7 @@ Download SQLObject ++++++++++++++++++ The latest releases are always available on the `Python Package Index -<https://pypi.python.org/pypi/SQLObject>`_, and is installable +<https://pypi.org/project/SQLObject/>`_, and is installable with `pip <https://pip.pypa.io/en/latest/>`_ or `easy_install <https://setuptools.readthedocs.io/en/latest/easy_install.html>`_. diff --git a/setup.py b/setup.py index 8217d37..77a9947 100755 --- a/setup.py +++ b/setup.py @@ -58,12 +58,12 @@ and `GitHub <https://github.com/sqlobject>`_. maintainer="Oleg Broytman", maintainer_email="ph...@ph...", url="http://sqlobject.org/", - download_url="https://pypi.python.org/pypi/SQLObject/%s" % + download_url="https://pypi.org/project/SQLObject/%s/" % sqlobject_version.version, project_urls={ 'Homepage': 'http://sqlobject.org/', 'Development docs': 'http://sqlobject.org/devel/', - 'Download': 'https://pypi.python.org/pypi/SQLObject/%s' % + 'Download': 'https://pypi.org/project/SQLObject/%s/' % sqlobject_version.version, 'Github repo': 'https://github.com/sqlobject', 'Issue tracker': 'https://github.com/sqlobject/sqlobject/issues', @@ -168,7 +168,7 @@ Mailing list: https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss Download: -https://pypi.python.org/pypi/SQLObject/@@ +https://pypi.org/project/SQLObject/@@/ News and changes: http://sqlobject.org/docs/News.html diff --git a/sqlobject/compat.py b/sqlobject/compat.py index 7e8d0e1..18aba9d 100644 --- a/sqlobject/compat.py +++ b/sqlobject/compat.py @@ -1,7 +1,7 @@ import sys import types -# Credit to six authors: https://pypi.python.org/pypi/six +# Credit to six authors: https://pypi.org/project/six/ # License: MIT ----------------------------------------------------------------------- Summary of changes: ANNOUNCE.rst | 2 +- docs/DeveloperGuide.rst | 4 ++-- docs/News.rst | 8 ++++---- docs/Python3.rst | 2 +- docs/SQLObject.rst | 14 +++++++------- docs/TODO.rst | 10 +++++----- docs/download.rst | 2 +- setup.py | 6 +++--- sqlobject/compat.py | 2 +- 9 files changed, 25 insertions(+), 25 deletions(-) hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2018-04-16 19:27:14
|
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 2d25d026fb3938cad3bbe02d72772e083200991d (commit) from e2bcd57798cfc6a1d182d409ec0b974f1f438694 (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/2d25d026fb3938cad3bbe02d72772e083200991d commit 2d25d026fb3938cad3bbe02d72772e083200991d Author: Oleg Broytman <ph...@ph...> Date: Mon Apr 16 20:49:10 2018 +0300 Build, docs: pypi.python.org => pypi.org diff --git a/ANNOUNCE.rst b/ANNOUNCE.rst index 2e05210..cf58d55 100644 --- a/ANNOUNCE.rst +++ b/ANNOUNCE.rst @@ -54,7 +54,7 @@ Mailing list: https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss Download: -https://pypi.python.org/pypi/SQLObject/3.7.0a0.dev20171115 +https://pypi.org/project/SQLObject/3.7.0a0.dev20171115 News and changes: http://sqlobject.org/News.html diff --git a/docs/DeveloperGuide.rst b/docs/DeveloperGuide.rst index 5e889c8..a03e176 100644 --- a/docs/DeveloperGuide.rst +++ b/docs/DeveloperGuide.rst @@ -234,7 +234,7 @@ Tests are important. Tests keep everything from falling apart. All new additions should have tests. Testing uses pytest, an alternative to ``unittest``. It is available -at http://pytest.org/ and https://pypi.python.org/pypi/pytest. Read its +at http://pytest.org/ and https://pypi.org/project/pytest. Read its `getting started`_ document for more. .. _getting started: http://docs.pytest.org/en/latest/getting-started.html @@ -283,7 +283,7 @@ To avoid triggering unnecessary test run at CI services add text `[skip ci] ``[ci skip]`` anywhere in your commit messages for commits that don't change code (documentation updates and such). -We use `coverage.py <https://pypi.python.org/pypi/coverage>`_ +We use `coverage.py <https://pypi.org/project/coverage>`_ to measures code coverage by tests and upload the result for analyzis to `Coveralls <https://coveralls.io/github/sqlobject/sqlobject>`_ and `Codecov <https://codecov.io/gh/sqlobject/sqlobject>`_: diff --git a/docs/News.rst b/docs/News.rst index 17626cd..50b7835 100644 --- a/docs/News.rst +++ b/docs/News.rst @@ -68,7 +68,7 @@ Minor features Drivers ------- -* Add support for `pg8000 <https://pypi.python.org/pypi/pg8000>`_ +* Add support for `pg8000 <https://pypi.org/project/pg8000>`_ PostgreSQL driver. * Fix autoreconnect with pymysql driver. Contributed by Shailesh Mungikar. @@ -202,7 +202,7 @@ Minor features 'connector', 'oursql' and 'pymysql'. Default is to test for mysqldb only. * Add support for `MySQL Connector - <https://pypi.python.org/pypi/mysql-connector>`_ (pure python; `binary + <https://pypi.org/project/mysql-connector>`_ (pure python; `binary packages <https://dev.mysql.com/doc/connector-python/en/>`_ are not at PyPI and hence are hard to install and test). @@ -224,11 +224,11 @@ Drivers (work in progress) * Extend support for PyGreSQL driver. There are still some problems. * Add support for `py-postgresql - <https://pypi.python.org/pypi/py-postgresql>`_ PostgreSQL driver. There + <https://pypi.org/project/py-postgresql>`_ PostgreSQL driver. There are still problems with the driver. * Add support for `pyfirebirdsql - <https://pypi.python.org/pypi/firebirdsql>`_.There are still problems with + <https://pypi.org/project/firebirdsql>`_.There are still problems with the driver. Bug fixes diff --git a/docs/Python3.rst b/docs/Python3.rst index f14b106..a9119f6 100644 --- a/docs/Python3.rst +++ b/docs/Python3.rst @@ -40,7 +40,7 @@ Note that the default encoding of MySQL databases is *latin1*, which can cause problems with general Unicode strings. We recommend specifying the character set as *utf8* when using MySQL to protect against these issues. -.. _mysqlclient: https://pypi.python.org/pypi/mysqlclient +.. _mysqlclient: https://pypi.org/project/mysqlclient Using databases created with SQLObject and Python 2 in Python 3 diff --git a/docs/SQLObject.rst b/docs/SQLObject.rst index 1ccc222..bf3633b 100644 --- a/docs/SQLObject.rst +++ b/docs/SQLObject.rst @@ -59,21 +59,21 @@ problems (not all tests passed). .. _MySQL: https://www.mysql.com/ .. _MySQLdb: https://sourceforge.net/projects/mysql-python/ -.. _mysqlclient: https://pypi.python.org/pypi/mysqlclient -.. _`MySQL Connector`: https://pypi.python.org/pypi/mysql-connector +.. _mysqlclient: https://pypi.org/project/mysqlclient +.. _`MySQL Connector`: https://pypi.org/project/mysql-connector .. _oursql: https://github.com/python-oursql/oursql .. _PyMySQL: https://github.com/PyMySQL/PyMySQL/ .. _PostgreSQL: https://postgresql.org .. _psycopg2: http://initd.org/psycopg/ .. _PyGreSQL: http://www.pygresql.org/ -.. _py-postgresql: https://pypi.python.org/pypi/py-postgresql -.. _pg8000: https://pypi.python.org/pypi/pg8000 +.. _py-postgresql: https://pypi.org/project/py-postgresql +.. _pg8000: https://pypi.org/project/pg8000 .. _SQLite: https://sqlite.org/ .. _PySQLite: https://github.com/ghaering/pysqlite .. _Firebird: http://www.firebirdsql.org/en/python-driver/ .. _fdb: http://www.firebirdsql.org/en/devel-python-driver/ .. _kinterbasdb: http://kinterbasdb.sourceforge.net/ -.. _pyfirebirdsql: https://pypi.python.org/pypi/firebirdsql +.. _pyfirebirdsql: https://pypi.org/project/firebirdsql .. _`MAX DB`: http://maxdb.sap.com/ .. _sapdb: http://maxdb.sap.com/doc/7_8/50/01923f25b842438a408805774f6989/frameset.htm .. _Sybase: http://www.object-craft.com.au/projects/sybase/ @@ -81,8 +81,8 @@ problems (not all tests passed). .. _pymssql: http://www.pymssql.org/en/latest/index.html .. _FreeTDS: http://www.freetds.org/ .. _adodbapi: http://adodbapi.sourceforge.net/ -.. _PyODBC: https://pypi.python.org/pypi/pyodbc -.. _PyPyODBC: https://pypi.python.org/pypi/pypyodbc +.. _PyODBC: https://pypi.org/project/pyodbc +.. _PyPyODBC: https://pypi.org/project/pypyodbc Python 2.7 or 3.4+ is required. diff --git a/docs/TODO.rst b/docs/TODO.rst index 41e24b1..39e9678 100644 --- a/docs/TODO.rst +++ b/docs/TODO.rst @@ -9,14 +9,14 @@ TODO * PyPy. -* Use https://pypi.python.org/pypi/psycopg2cffi to run SQLObject +* Use https://pypi.org/project/psycopg2cffi to run SQLObject under PyPy. -* https://pypi.python.org/pypi/turbodbc +* https://pypi.org/project/turbodbc * PyODBC and PyPyODBC for linux and w32: SQLite (libsqliteodbc). -* https://pypi.python.org/pypi/JayDeBeApi +* https://pypi.org/project/JayDeBeApi * Jython. @@ -92,7 +92,7 @@ TODO * Support PyODBC driver for all backends. -* `dbms <https://pypi.python.org/pypi/dbms>`_ is a DB API wrapper for DB +* `dbms <https://pypi.org/project/dbms>`_ is a DB API wrapper for DB API drivers for IBM DB2, Firebird, MSSQL Server, MySQL, Oracle, PostgreSQL, SQLite and ODBC. @@ -109,7 +109,7 @@ TODO * Use DBUtils_, especially SolidConnection. -.. _DBUtils: https://pypi.python.org/pypi/DBUtils +.. _DBUtils: https://pypi.org/project/DBUtils * ``_fromDatabase`` currently doesn't support IDs that don't fit into the normal naming scheme. It should do so. You can still use ``_idName`` diff --git a/docs/download.rst b/docs/download.rst index a028998..7501a83 100644 --- a/docs/download.rst +++ b/docs/download.rst @@ -2,7 +2,7 @@ Download SQLObject ++++++++++++++++++ The latest releases are always available on the `Python Package Index -<https://pypi.python.org/pypi/SQLObject>`_, and is installable +<https://pypi.org/project/SQLObject>`_, and is installable with `pip <https://pip.pypa.io/en/latest/>`_ or `easy_install <https://setuptools.readthedocs.io/en/latest/easy_install.html>`_. diff --git a/setup.py b/setup.py index 8217d37..59f41fd 100755 --- a/setup.py +++ b/setup.py @@ -58,12 +58,12 @@ and `GitHub <https://github.com/sqlobject>`_. maintainer="Oleg Broytman", maintainer_email="ph...@ph...", url="http://sqlobject.org/", - download_url="https://pypi.python.org/pypi/SQLObject/%s" % + download_url="https://pypi.org/project/SQLObject/%s" % sqlobject_version.version, project_urls={ 'Homepage': 'http://sqlobject.org/', 'Development docs': 'http://sqlobject.org/devel/', - 'Download': 'https://pypi.python.org/pypi/SQLObject/%s' % + 'Download': 'https://pypi.org/project/SQLObject/%s' % sqlobject_version.version, 'Github repo': 'https://github.com/sqlobject', 'Issue tracker': 'https://github.com/sqlobject/sqlobject/issues', @@ -168,7 +168,7 @@ Mailing list: https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss Download: -https://pypi.python.org/pypi/SQLObject/@@ +https://pypi.org/project/SQLObject/@@ News and changes: http://sqlobject.org/docs/News.html diff --git a/sqlobject/compat.py b/sqlobject/compat.py index 7e8d0e1..1ca4ca7 100644 --- a/sqlobject/compat.py +++ b/sqlobject/compat.py @@ -1,7 +1,7 @@ import sys import types -# Credit to six authors: https://pypi.python.org/pypi/six +# Credit to six authors: https://pypi.org/project/six # License: MIT ----------------------------------------------------------------------- Summary of changes: ANNOUNCE.rst | 2 +- docs/DeveloperGuide.rst | 4 ++-- docs/News.rst | 8 ++++---- docs/Python3.rst | 2 +- docs/SQLObject.rst | 14 +++++++------- docs/TODO.rst | 10 +++++----- docs/download.rst | 2 +- setup.py | 6 +++--- sqlobject/compat.py | 2 +- 9 files changed, 25 insertions(+), 25 deletions(-) hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2018-04-08 23:15:24
|
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 e2bcd57798cfc6a1d182d409ec0b974f1f438694 (commit) from b32db3beb07d6f054be9fa85022a629389652e34 (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/e2bcd57798cfc6a1d182d409ec0b974f1f438694 commit e2bcd57798cfc6a1d182d409ec0b974f1f438694 Author: Oleg Broytman <ph...@ph...> Date: Mon Apr 9 01:29:07 2018 +0300 Style(setup.py): Reindent parameters diff --git a/setup.py b/setup.py index c2a18ac..8217d37 100755 --- a/setup.py +++ b/setup.py @@ -13,10 +13,11 @@ subpackages = ['firebird', 'include', 'include.tests', 'sqlite', 'sybase', 'tests', 'util', 'versioning', 'versioning.test'] -setup(name="SQLObject", - version=sqlobject_version.version, - description="Object-Relational Manager, aka database wrapper", - long_description="""\ +setup( + name="SQLObject", + version=sqlobject_version.version, + description="Object-Relational Manager, aka database wrapper", + long_description="""\ SQLObject is a popular *Object Relational Manager* for providing an object interface to your database, with tables as classes, rows as instances, and columns as attributes. @@ -35,95 +36,95 @@ and `GitHub <https://github.com/sqlobject>`_. .. image:: https://travis-ci.org/sqlobject/sqlobject.svg?branch=master :target: https://travis-ci.org/sqlobject/sqlobject """, - long_description_content_type="text/x-rst", - classifiers=[ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "License :: OSI Approved :: " - "GNU Library or Lesser General Public License (LGPL)", - "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "Topic :: Database", - "Topic :: Database :: Front-Ends", - "Topic :: Software Development :: Libraries :: Python Modules", - ], - author="Ian Bicking", - author_email="ia...@co...", - maintainer="Oleg Broytman", - maintainer_email="ph...@ph...", - url="http://sqlobject.org/", - download_url="https://pypi.python.org/pypi/SQLObject/%s" % - sqlobject_version.version, - project_urls={ - 'Homepage': 'http://sqlobject.org/', - 'Development docs': 'http://sqlobject.org/devel/', - 'Download': 'https://pypi.python.org/pypi/SQLObject/%s' % - sqlobject_version.version, - 'Github repo': 'https://github.com/sqlobject', - 'Issue tracker': 'https://github.com/sqlobject/sqlobject/issues', - 'SourceForge project': 'https://sourceforge.net/projects/sqlobject/', - 'Twitter': 'https://twitter.com/SQLObject', - 'Wikipedia': 'https://en.wikipedia.org/wiki/SQLObject', - }, - keywords=["sql", "orm", "object-relational mapper"], - license="LGPL", - platforms="Any", - packages=["sqlobject"] + - ['sqlobject.%s' % package for package in subpackages], - scripts=["scripts/sqlobject-admin", "scripts/sqlobject-convertOldURI"], - package_data={ - "sqlobject.maxdb": ["readme.txt"], - }, - entry_points=""" - [paste.filter_app_factory] - main = sqlobject.wsgi_middleware:make_middleware - """, - python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*', - requires=['FormEncode', 'PyDispatcher'], - install_requires=[ - "FormEncode>=1.1.1,!=1.3.0; python_version=='2.7'", - "FormEncode>=1.3.1; python_version>='3.4'", - "PyDispatcher>=2.0.4", - ], - extras_require={ - # Firebird/Interbase - 'fdb': ['fdb'], - 'firebirdsql': ['firebirdsql'], - 'kinterbasdb': ['kinterbasdb'], - # MS SQL - 'adodbapi': ['adodbapi'], - 'pymssql': ['pymssql'], - # MySQL - 'mysql:python_version=="2.7"': ['MySQL-python'], - 'mysql:python_version>="3.4"': ['mysqlclient'], - 'mysql-connector': ['mysql-connector'], - 'oursql': ['oursql'], - 'pymysql': ['pymysql'], - # ODBC - 'odbc': ['pyodbc'], - 'pyodbc': ['pyodbc'], - 'pypyodbc': ['pypyodbc'], - # PostgreSQL - 'psycopg1': ['psycopg1'], - 'psycopg2': ['psycopg2'], - 'psycopg': ['psycopg2'], - 'postgres': ['psycopg2'], - 'postgresql': ['psycopg2'], - 'pygresql': ['pygresql'], - 'pypostgresql': ['py-postgresql'], - 'py-postgresql': ['py-postgresql'], - 'pg8000': ['pg8000'], - # - 'sapdb': ['sapdb'], - 'sqlite': ['pysqlite'], - 'sybase': ['Sybase'], - }, - ) + long_description_content_type="text/x-rst", + classifiers=[ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: " + "GNU Library or Lesser General Public License (LGPL)", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Topic :: Database", + "Topic :: Database :: Front-Ends", + "Topic :: Software Development :: Libraries :: Python Modules", + ], + author="Ian Bicking", + author_email="ia...@co...", + maintainer="Oleg Broytman", + maintainer_email="ph...@ph...", + url="http://sqlobject.org/", + download_url="https://pypi.python.org/pypi/SQLObject/%s" % + sqlobject_version.version, + project_urls={ + 'Homepage': 'http://sqlobject.org/', + 'Development docs': 'http://sqlobject.org/devel/', + 'Download': 'https://pypi.python.org/pypi/SQLObject/%s' % + sqlobject_version.version, + 'Github repo': 'https://github.com/sqlobject', + 'Issue tracker': 'https://github.com/sqlobject/sqlobject/issues', + 'SourceForge project': 'https://sourceforge.net/projects/sqlobject/', + 'Twitter': 'https://twitter.com/SQLObject', + 'Wikipedia': 'https://en.wikipedia.org/wiki/SQLObject', + }, + keywords=["sql", "orm", "object-relational mapper"], + license="LGPL", + platforms="Any", + packages=["sqlobject"] + + ['sqlobject.%s' % package for package in subpackages], + scripts=["scripts/sqlobject-admin", "scripts/sqlobject-convertOldURI"], + package_data={ + "sqlobject.maxdb": ["readme.txt"], + }, + entry_points=""" + [paste.filter_app_factory] + main = sqlobject.wsgi_middleware:make_middleware + """, + python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*', + requires=['FormEncode', 'PyDispatcher'], + install_requires=[ + "FormEncode>=1.1.1,!=1.3.0; python_version=='2.7'", + "FormEncode>=1.3.1; python_version>='3.4'", + "PyDispatcher>=2.0.4", + ], + extras_require={ + # Firebird/Interbase + 'fdb': ['fdb'], + 'firebirdsql': ['firebirdsql'], + 'kinterbasdb': ['kinterbasdb'], + # MS SQL + 'adodbapi': ['adodbapi'], + 'pymssql': ['pymssql'], + # MySQL + 'mysql:python_version=="2.7"': ['MySQL-python'], + 'mysql:python_version>="3.4"': ['mysqlclient'], + 'mysql-connector': ['mysql-connector'], + 'oursql': ['oursql'], + 'pymysql': ['pymysql'], + # ODBC + 'odbc': ['pyodbc'], + 'pyodbc': ['pyodbc'], + 'pypyodbc': ['pypyodbc'], + # PostgreSQL + 'psycopg1': ['psycopg1'], + 'psycopg2': ['psycopg2'], + 'psycopg': ['psycopg2'], + 'postgres': ['psycopg2'], + 'postgresql': ['psycopg2'], + 'pygresql': ['pygresql'], + 'pypostgresql': ['py-postgresql'], + 'py-postgresql': ['py-postgresql'], + 'pg8000': ['pg8000'], + # + 'sapdb': ['sapdb'], + 'sqlite': ['pysqlite'], + 'sybase': ['Sybase'], + }, +) # Send announce to: # sql...@li... ----------------------------------------------------------------------- Summary of changes: setup.py | 187 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 94 insertions(+), 93 deletions(-) hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2018-04-01 02:30:14
|
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 b32db3beb07d6f054be9fa85022a629389652e34 (commit) via 6e17054a2ee004bcaeee7e915d31dd9270f7694c (commit) via ce59826cdea8aa02d8695290c92d309ce96e2d34 (commit) via 372793d4cc90edf616037409c775cad6ea5db151 (commit) via e7ac97c5a0ce2f6c4d1627ddb103af9956cc5bb2 (commit) via 65741c221ba31675e8046c196a3990d15922dba3 (commit) via 5de3056d6276941f041adb2ec8f6f62b29c37dc6 (commit) via 64177145ad9186a31576451dda9c20ee01c034a2 (commit) via 79a9466b4bbaab9b6ac228fbdda6498ad6f62786 (commit) via 81e8d6e839b2518f2f13ccf736c58d46fbfe3f6e (commit) via a6dd93557d300a5f6c5f5f15332272ba68182402 (commit) via 7b40a34f669819596c00be0e952dd70b24dc90e1 (commit) via a2579ba30985e8019422ab0563a502ddfda42fb6 (commit) from 6eaa00e3173bac72d1e32e2be98b44f8ce682983 (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/b32db3beb07d6f054be9fa85022a629389652e34 commit b32db3beb07d6f054be9fa85022a629389652e34 Author: Oleg Broytman <ph...@ph...> Date: Sun Apr 1 03:46:11 2018 +0300 CI(appveyor.yml): Upgrade `pip` using `python -m pip` Avoid `WindowsError: [Error 5] Access is denied`. diff --git a/appveyor.yml b/appveyor.yml index 8c70af6..c42d738 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -145,8 +145,9 @@ install: - "SET TOXPYTHON=%PYTHON_HOME%\\python.exe" - "python --version" - "python -c \"import struct; print(struct.calcsize('P') * 8)\"" + - "python -m pip install --upgrade pip setuptools" + - "pip install --upgrade tox ppu" - "pip --version" - - "pip install --upgrade pip setuptools tox ppu" # List ODBC drivers - ps: Get-OdbcDriver -Platform 32-bit | Select-Object -ExpandProperty Name - ps: Get-OdbcDriver -Platform 64-bit | Select-Object -ExpandProperty Name http://sourceforge.net/p/sqlobject/sqlobject/ci/6e17054a2ee004bcaeee7e915d31dd9270f7694c commit 6e17054a2ee004bcaeee7e915d31dd9270f7694c Author: Oleg Broytman <ph...@ph...> Date: Sun Apr 1 03:06:44 2018 +0300 Build(.gitignore): Ignore `.pytest_cache` [skip ci] diff --git a/.gitignore b/.gitignore index 8647366..9825d01 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /.cache/ +/.pytest_cache/ /.tox/ /SQLObject.egg-info/ /build/ http://sourceforge.net/p/sqlobject/sqlobject/ci/ce59826cdea8aa02d8695290c92d309ce96e2d34 commit ce59826cdea8aa02d8695290c92d309ce96e2d34 Author: Oleg Broytman <ph...@ph...> Date: Sat Mar 31 20:56:18 2018 +0300 Build(release): Do not GPG-sign release files New pypi.io deprecated GPG signatures. [skip ci] diff --git a/devscripts/release b/devscripts/release index 1de1285..3e890b7 100755 --- a/devscripts/release +++ b/devscripts/release @@ -34,5 +34,5 @@ if [ "$state" = final ]; then ../sftp-frs fi && -twine upload --sign dist/* && +twine upload dist/* && exec rm -rf build dist docs/html SQLObject.egg-info http://sourceforge.net/p/sqlobject/sqlobject/ci/372793d4cc90edf616037409c775cad6ea5db151 commit 372793d4cc90edf616037409c775cad6ea5db151 Author: Oleg Broytman <ph...@ph...> Date: Fri Mar 30 23:57:26 2018 +0300 Build(setup.py): Add long_description_content_type diff --git a/setup.py b/setup.py index 752a5a4..c2a18ac 100755 --- a/setup.py +++ b/setup.py @@ -35,6 +35,7 @@ and `GitHub <https://github.com/sqlobject>`_. .. image:: https://travis-ci.org/sqlobject/sqlobject.svg?branch=master :target: https://travis-ci.org/sqlobject/sqlobject """, + long_description_content_type="text/x-rst", classifiers=[ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", http://sourceforge.net/p/sqlobject/sqlobject/ci/e7ac97c5a0ce2f6c4d1627ddb103af9956cc5bb2 commit e7ac97c5a0ce2f6c4d1627ddb103af9956cc5bb2 Author: Oleg Broytman <ph...@ph...> Date: Fri Mar 30 00:35:22 2018 +0300 Build(setup.py): Add `project_urls` diff --git a/devscripts/BRANCH-CHECKLIST b/devscripts/BRANCH-CHECKLIST index 280f494..0357e27 100644 --- a/devscripts/BRANCH-CHECKLIST +++ b/devscripts/BRANCH-CHECKLIST @@ -8,7 +8,7 @@ a branch, a commit id or a tag. __version__.py and News.rst in the branch - set version. In setup.cfg in the branch edit section [publish] - uncomment doc-dest for stable branch. In setup.py in the branch edit URL (remove - '/devel') and download URL. In setup.py and DeveloperGuide.rst edit + '/devel') and download URLs. In setup.py and DeveloperGuide.rst edit Travis CI build status image URL (change branch). Commit. 1b. If the branching point was master the script checks out master and diff --git a/devscripts/RELEASE-CHECKLIST b/devscripts/RELEASE-CHECKLIST index 205f973..29fa8a9 100644 --- a/devscripts/RELEASE-CHECKLIST +++ b/devscripts/RELEASE-CHECKLIST @@ -12,7 +12,7 @@ URL in ANNOUNCE.rst; edit __version__.py and README.rst in the release branch - fix versions. Edit section [egg_info] in setup.cfg - set if it is a stable or development release. In setup.py edit "Development - Status" in trove classifiers; edit download URL: if a non-stable + Status" in trove classifiers; edit download URLs: if a non-stable version - append 'dev' and date stamp, for a stable version remove 'dev' and date stamp). diff --git a/setup.py b/setup.py index 7563540..752a5a4 100755 --- a/setup.py +++ b/setup.py @@ -58,11 +58,22 @@ and `GitHub <https://github.com/sqlobject>`_. url="http://sqlobject.org/", download_url="https://pypi.python.org/pypi/SQLObject/%s" % sqlobject_version.version, + project_urls={ + 'Homepage': 'http://sqlobject.org/', + 'Development docs': 'http://sqlobject.org/devel/', + 'Download': 'https://pypi.python.org/pypi/SQLObject/%s' % + sqlobject_version.version, + 'Github repo': 'https://github.com/sqlobject', + 'Issue tracker': 'https://github.com/sqlobject/sqlobject/issues', + 'SourceForge project': 'https://sourceforge.net/projects/sqlobject/', + 'Twitter': 'https://twitter.com/SQLObject', + 'Wikipedia': 'https://en.wikipedia.org/wiki/SQLObject', + }, keywords=["sql", "orm", "object-relational mapper"], license="LGPL", platforms="Any", packages=["sqlobject"] + - ['sqlobject.%s' % package for package in subpackages], + ['sqlobject.%s' % package for package in subpackages], scripts=["scripts/sqlobject-admin", "scripts/sqlobject-convertOldURI"], package_data={ "sqlobject.maxdb": ["readme.txt"], http://sourceforge.net/p/sqlobject/sqlobject/ci/65741c221ba31675e8046c196a3990d15922dba3 commit 65741c221ba31675e8046c196a3990d15922dba3 Author: Oleg Broytman <ph...@ph...> Date: Wed Mar 28 22:57:01 2018 +0300 Build(setup.py): Use setuptools instead of distutils diff --git a/setup.py b/setup.py index 4018c69..7563540 100755 --- a/setup.py +++ b/setup.py @@ -2,13 +2,7 @@ from imp import load_source from os.path import abspath, dirname, join - -try: - from setuptools import setup - is_setuptools = True -except ImportError: - from distutils.core import setup - is_setuptools = False +from setuptools import setup versionpath = join(abspath(dirname(__file__)), "sqlobject", "__version__.py") sqlobject_version = load_source("sqlobject_version", versionpath) @@ -19,54 +13,6 @@ subpackages = ['firebird', 'include', 'include.tests', 'sqlite', 'sybase', 'tests', 'util', 'versioning', 'versioning.test'] -kw = {} -if is_setuptools: - kw['entry_points'] = """ - [paste.filter_app_factory] - main = sqlobject.wsgi_middleware:make_middleware - """ - kw['install_requires'] = [ - "FormEncode>=1.1.1,!=1.3.0; python_version=='2.7'", - "FormEncode>=1.3.1; python_version>='3.4'", - "PyDispatcher>=2.0.4", - ] - - kw['extras_require'] = { - # Firebird/Interbase - 'fdb': ['fdb'], - 'firebirdsql': ['firebirdsql'], - 'kinterbasdb': ['kinterbasdb'], - # MS SQL - 'adodbapi': ['adodbapi'], - 'pymssql': ['pymssql'], - # MySQL - 'mysql:python_version=="2.7"': ['MySQL-python'], - 'mysql:python_version>="3.4"': ['mysqlclient'], - 'mysql-connector': ['mysql-connector'], - 'oursql': ['oursql'], - 'pymysql': ['pymysql'], - # ODBC - 'odbc': ['pyodbc'], - 'pyodbc': ['pyodbc'], - 'pypyodbc': ['pypyodbc'], - # PostgreSQL - 'psycopg1': ['psycopg1'], - 'psycopg2': ['psycopg2'], - 'psycopg': ['psycopg2'], - 'postgres': ['psycopg2'], - 'postgresql': ['psycopg2'], - 'pygresql': ['pygresql'], - 'pypostgresql': ['py-postgresql'], - 'py-postgresql': ['py-postgresql'], - 'pg8000': ['pg8000'], - # - 'sapdb': ['sapdb'], - 'sqlite': ['pysqlite'], - 'sybase': ['Sybase'], - } - - kw['python_requires'] = '>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*' - setup(name="SQLObject", version=sqlobject_version.version, description="Object-Relational Manager, aka database wrapper", @@ -121,8 +67,50 @@ and `GitHub <https://github.com/sqlobject>`_. package_data={ "sqlobject.maxdb": ["readme.txt"], }, + entry_points=""" + [paste.filter_app_factory] + main = sqlobject.wsgi_middleware:make_middleware + """, + python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*', requires=['FormEncode', 'PyDispatcher'], - **kw + install_requires=[ + "FormEncode>=1.1.1,!=1.3.0; python_version=='2.7'", + "FormEncode>=1.3.1; python_version>='3.4'", + "PyDispatcher>=2.0.4", + ], + extras_require={ + # Firebird/Interbase + 'fdb': ['fdb'], + 'firebirdsql': ['firebirdsql'], + 'kinterbasdb': ['kinterbasdb'], + # MS SQL + 'adodbapi': ['adodbapi'], + 'pymssql': ['pymssql'], + # MySQL + 'mysql:python_version=="2.7"': ['MySQL-python'], + 'mysql:python_version>="3.4"': ['mysqlclient'], + 'mysql-connector': ['mysql-connector'], + 'oursql': ['oursql'], + 'pymysql': ['pymysql'], + # ODBC + 'odbc': ['pyodbc'], + 'pyodbc': ['pyodbc'], + 'pypyodbc': ['pypyodbc'], + # PostgreSQL + 'psycopg1': ['psycopg1'], + 'psycopg2': ['psycopg2'], + 'psycopg': ['psycopg2'], + 'postgres': ['psycopg2'], + 'postgresql': ['psycopg2'], + 'pygresql': ['pygresql'], + 'pypostgresql': ['py-postgresql'], + 'py-postgresql': ['py-postgresql'], + 'pg8000': ['pg8000'], + # + 'sapdb': ['sapdb'], + 'sqlite': ['pysqlite'], + 'sybase': ['Sybase'], + }, ) # Send announce to: http://sourceforge.net/p/sqlobject/sqlobject/ci/5de3056d6276941f041adb2ec8f6f62b29c37dc6 commit 5de3056d6276941f041adb2ec8f6f62b29c37dc6 Author: Oleg Broytman <ph...@ph...> Date: Sat Mar 10 21:06:43 2018 +0300 CI: Fix .travis.yml Indent matrix.include. diff --git a/.travis.yml b/.travis.yml index 5a6b8e9..32ab10d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,104 +26,104 @@ addons: matrix: include: - - python: "2.7" - env: TOXENV=py27-mysqldb - - python: "3.4" - env: TOXENV=py34-mysqlclient - - python: "3.5" - env: TOXENV=py35-mysqlclient - - python: "3.6" - env: TOXENV=py36-mysqlclient - - python: "2.7" - env: TOXENV=py27-mysql-connector - - python: "3.4" - env: TOXENV=py34-mysql-connector - - python: "3.5" - env: TOXENV=py35-mysql-connector - - python: "3.6" - env: TOXENV=py36-mysql-connector - - python: "2.7" - env: TOXENV=py27-mysql-oursql - - python: "3.4" - env: TOXENV=py34-mysql-oursql3 - - python: "3.5" - env: TOXENV=py35-mysql-oursql3 - - python: "3.6" - env: TOXENV=py36-mysql-oursql3 - - python: "2.7" - env: TOXENV=py27-pymysql - - python: "3.4" - env: TOXENV=py34-pymysql - - python: "3.5" - env: TOXENV=py35-pymysql - - python: "3.6" - env: TOXENV=py36-pymysql - - python: "2.7" - env: TOXENV=py27-postgres-psycopg - - python: "3.4" - env: TOXENV=py34-postgres-psycopg - - python: "3.5" - env: TOXENV=py35-postgres-psycopg - - python: "3.6" - env: TOXENV=py36-postgres-psycopg - - python: "2.7" - env: TOXENV=py27-postgres-pygresql - - python: "3.4" - env: TOXENV=py34-postgres-pygresql - - python: "3.5" - env: TOXENV=py35-postgres-pygresql - - python: "3.6" - env: TOXENV=py36-postgres-pygresql - - python: "3.4" - env: TOXENV=py34-pypostgresql - - python: "3.5" - env: TOXENV=py35-pypostgresql - - python: "3.6" - env: TOXENV=py36-pypostgresql - - python: "2.7" - env: TOXENV=py27-postgres-pg8000 - - python: "3.4" - env: TOXENV=py34-postgres-pg8000 - - python: "3.5" - env: TOXENV=py35-postgres-pg8000 - - python: "3.6" - env: TOXENV=py36-postgres-pg8000 - - python: "2.7" - env: TOXENV=py27-sqlite - - python: "3.4" - env: TOXENV=py34-sqlite - - python: "3.5" - env: TOXENV=py35-sqlite - - python: "3.6" - env: TOXENV=py36-sqlite - - python: "2.7" - env: TOXENV=py27-sqlite-memory - - python: "3.4" - env: TOXENV=py34-sqlite-memory - - python: "3.5" - env: TOXENV=py35-sqlite-memory - - python: "3.6" - env: TOXENV=py36-sqlite-memory - - python: "2.7" - env: TOXENV=py27-flake8 - - python: "3.4" - env: TOXENV=py34-flake8 - - python: "2.7" - env: TOXENV=py27-firebird-fdb - - python: "3.4" - env: TOXENV=py34-firebird-fdb - - python: "3.5" - env: TOXENV=py35-firebird-fdb - - python: "3.6" - env: TOXENV=py36-firebird-fdb - - python: "2.7" - env: TOXENV=py27-firebirdsql - - python: "3.4" - env: TOXENV=py34-firebirdsql - - python: "3.5" - env: TOXENV=py35-firebirdsql - - python: "3.6" - env: TOXENV=py36-firebirdsql + - python: "2.7" + env: TOXENV=py27-mysqldb + - python: "3.4" + env: TOXENV=py34-mysqlclient + - python: "3.5" + env: TOXENV=py35-mysqlclient + - python: "3.6" + env: TOXENV=py36-mysqlclient + - python: "2.7" + env: TOXENV=py27-mysql-connector + - python: "3.4" + env: TOXENV=py34-mysql-connector + - python: "3.5" + env: TOXENV=py35-mysql-connector + - python: "3.6" + env: TOXENV=py36-mysql-connector + - python: "2.7" + env: TOXENV=py27-mysql-oursql + - python: "3.4" + env: TOXENV=py34-mysql-oursql3 + - python: "3.5" + env: TOXENV=py35-mysql-oursql3 + - python: "3.6" + env: TOXENV=py36-mysql-oursql3 + - python: "2.7" + env: TOXENV=py27-pymysql + - python: "3.4" + env: TOXENV=py34-pymysql + - python: "3.5" + env: TOXENV=py35-pymysql + - python: "3.6" + env: TOXENV=py36-pymysql + - python: "2.7" + env: TOXENV=py27-postgres-psycopg + - python: "3.4" + env: TOXENV=py34-postgres-psycopg + - python: "3.5" + env: TOXENV=py35-postgres-psycopg + - python: "3.6" + env: TOXENV=py36-postgres-psycopg + - python: "2.7" + env: TOXENV=py27-postgres-pygresql + - python: "3.4" + env: TOXENV=py34-postgres-pygresql + - python: "3.5" + env: TOXENV=py35-postgres-pygresql + - python: "3.6" + env: TOXENV=py36-postgres-pygresql + - python: "3.4" + env: TOXENV=py34-pypostgresql + - python: "3.5" + env: TOXENV=py35-pypostgresql + - python: "3.6" + env: TOXENV=py36-pypostgresql + - python: "2.7" + env: TOXENV=py27-postgres-pg8000 + - python: "3.4" + env: TOXENV=py34-postgres-pg8000 + - python: "3.5" + env: TOXENV=py35-postgres-pg8000 + - python: "3.6" + env: TOXENV=py36-postgres-pg8000 + - python: "2.7" + env: TOXENV=py27-sqlite + - python: "3.4" + env: TOXENV=py34-sqlite + - python: "3.5" + env: TOXENV=py35-sqlite + - python: "3.6" + env: TOXENV=py36-sqlite + - python: "2.7" + env: TOXENV=py27-sqlite-memory + - python: "3.4" + env: TOXENV=py34-sqlite-memory ... 351 lines suppressed ... hooks/post-receive -- SQLObject development repository |
From: Oleg B. <no...@so...> - 2018-02-24 16:09:08
|
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 annotated tag, 3.6.0 has been created at 36ef158976a6feceaad5c1adb6703c4cccbfb055 (tag) tagging 0fd1c2134fe29a0bb0f55798702083bb0d61ca05 (commit) replaces 3.5.0 tagged by Oleg Broytman on Sat Feb 24 19:01:22 2018 +0300 - Log ----------------------------------------------------------------- Release 3.6.0 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABCgAGBQJakYxSAAoJEG4IC3C2KHsDHG4P/iLYgZJuKKfVCFtx6ihF32H0 bEGjrMy/aLUQaZmahsNwo2kj4xzKGSVGBwMWBDwTa5L+qcvSzzLHTgX4dF/wRmIR Y7OrAJk2Wtlw3kNMEizZVyeFxvSnPolxzibUUNbu6xq6HpRqdksPWP+mrT3BnQSO EllNEwvb4cPAuacKpAD0h1h9pNRrDUGKrunyFgJ/XYweimIhElMqjEhar6ttsSev LT141R6SEadaC/sHsiepkNALbegQFUyu7ZULw+eMGk/PHV0HzYBQVK9mTLU+JIZQ hewq9egXo9kHzRS/ag+hRSszV8Jd+dFFY3u9WHWGfsJ2zJxQmjc1ofKeKqDvVyDl YTikolSqLu0jJfu/scHMZIgAf/fDioH9N7rAxWkJbJEzg+goTd9/37djDgSLNSVd OE+idcJm+t6hFjb3B/DROnRKq4pq1aRPNK2yndCkFmdZyqO25nbAuqP0YpbeZJ7P k9ATi16yH2ZmKloazFGLeFYcvu9BkML4+cHT6sxRCD8qvdR5NVgR2V0GV3fBKzRD zmO5VEuwRFhXuTqYv7K4esTwx1lEPZ7Kr3k4lKdnCMNj6W0j6Svj+lSD8+Id4WHd 2VhQETdPblOhpwKmnJl/8BiLgqjejWlWw+hRxPg8Zl4LrnsWnnAvL3Vjc1V1CkaO /q9H8GxRAjRQt0IT8eon =YCb6 -----END PGP SIGNATURE----- Michael S. Root (2): Bugfix for TypeError using selectBy on a BLOBCol Added test for 2a1839364d1a3b4ba260ede53886526ee8cd4860 Oleg Broytman (34): Prepare for the next release Docs(RELEASE-CHECKLIST): Reorder some items Build(setup.py): Use python_version environment marker Build(setup.py): Use python_requires keyword CI: Upgrade pip and setuptools CI: Rename TOX_ENV -> TOXENV; execute tox (no need to pass TOXENV) Docs: odbc drivers are only implemented for MySQL, Pg and MSSQL Docs: Document extras that are available for installation Docs: Regenerate API docs Docs: Add docs/api/sqlobject.tests.test_csvimport.rst Docs: Remove unused start label CI: Run tests at AppVeyor with Python 2.7 32bit and 3.6 64bit Build: -O2 Build: Require tox >= 2.0 (for passenv) Tests: rm -f sqlobject_test.sqdb Tests(tox.ini): Set platform Docs: Update TODO Tests(tox): Shorten default list of environments Tests(tox): Fix pypyodbc driver's name Fix(oursql): Extend support for Python 3 Docs: Fix subsection header Fix(mysql): Fix oursql CI: Fix AppVeyor config: ODBC dirver for MySQL is 64 bit CI: Run PyMySQL tests at AppVeyor Build: Use module returned by imp.load_source() directly Feat: Close cursors after using Fix(mssqlconnection): Fix _setAutoCommit Fix cursor.arraysize - pymssql doesn't have arraysize Feat(mssql): Set timeout for ODBC with MSSQL Tests(blob): Use byte string for test Docs: Update News Build: Document changing Python version at SF Build: Edit build-all-docs during release process Release 3.6.0 ----------------------------------------------------------------------- hooks/post-receive -- SQLObject development repository |