sqlobject-cvs Mailing List for SQLObject (Page 11)
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
(1) |
Sep
|
Oct
|
Nov
(2) |
Dec
(2) |
|
From: Oleg B. <no...@so...> - 2016-07-31 16:47: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, 1.6 has been deleted
was 7ba9175dd2203ce3e4665b11802c8bd963f5b46d
- Log -----------------------------------------------------------------
7ba9175dd2203ce3e4665b11802c8bd963f5b46d SourceForge has finally switched to HTTPS
-----------------------------------------------------------------------
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-07-31 16:08:47
|
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 98dba3a121452518fcf5c1828043b5db7a91aaa4 (commit)
via 2eab57c70d74ddd381bb3dbaf6b06230e1800a7a (commit)
via 2b8ed7907b2d6d967153dc7a017110d5da223442 (commit)
via 4108cb228108046b78eabac785514d1ff1a8b603 (commit)
via e6a614b9f24716cccad1a429ad686163c58dbc70 (commit)
via 748fef3d6dec41f71bf17e8881d2eed964154744 (commit)
via 1992d96b4899fab6f44fef6bc83a6f1064fab3a5 (commit)
via f50c991fc8afa95839f54af693bf3e030a8b90dc (commit)
via 4f00db5ec2214627e84bc6aee0a67dfcd377b6b0 (commit)
via b6c956398836711cfacac3d9b49ec40dbfe8377e (commit)
via b280bb34eac108cfca6381b1a418034db82f39d7 (commit)
from 8aa40a8c3684059468b2ccf793dfe381033fd395 (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/98dba3a121452518fcf5c1828043b5db7a91aaa4
commit 98dba3a121452518fcf5c1828043b5db7a91aaa4
Author: Oleg Broytman <ph...@ph...>
Date: Sun Jul 31 01:18:24 2016 +0300
Upgrade ez_setup.py
diff --git a/ez_setup.py b/ez_setup.py
index 1420c11..4ef3ee0 100644
--- a/ez_setup.py
+++ b/ez_setup.py
@@ -1,61 +1,59 @@
#!/usr/bin/env python
-"""Bootstrap setuptools installation
-To use setuptools in your package's setup.py, include this
-file in the same directory and add this to the top of your setup.py::
-
- from ez_setup import use_setuptools
- use_setuptools()
+"""
+Setuptools bootstrapping installer.
-To require a specific version of setuptools, set a download
-mirror, or use an alternate download directory, simply supply
-the appropriate options to ``use_setuptools()``.
+Maintained at https://github.com/pypa/setuptools/tree/bootstrap.
-This file can also be run as a script to install or upgrade setuptools.
+Run this script to install or upgrade setuptools.
"""
+
import os
import shutil
import sys
import tempfile
-import tarfile
+import zipfile
import optparse
import subprocess
import platform
import textwrap
+import contextlib
+import json
+import codecs
from distutils import log
try:
+ from urllib.request import urlopen
+ from urllib.parse import urljoin
+except ImportError:
+ from urllib2 import urlopen
+ from urlparse import urljoin
+
+try:
from site import USER_SITE
except ImportError:
USER_SITE = None
-DEFAULT_VERSION = "2.2"
-DEFAULT_URL = "https://pypi.python.org/packages/source/s/setuptools/"
+LATEST = object()
+DEFAULT_VERSION = LATEST
+DEFAULT_URL = "https://pypi.io/packages/source/s/setuptools/"
+DEFAULT_SAVE_DIR = os.curdir
+
def _python_cmd(*args):
"""
+ Execute a command.
+
Return True if the command succeeded.
"""
args = (sys.executable,) + args
return subprocess.call(args) == 0
-def _install(tarball, install_args=()):
- # extracting the tarball
- tmpdir = tempfile.mkdtemp()
- log.warn('Extracting in %s', tmpdir)
- old_wd = os.getcwd()
- try:
- os.chdir(tmpdir)
- tar = tarfile.open(tarball)
- _extractall(tar)
- tar.close()
-
- # going in the directory
- subdir = os.path.join(tmpdir, os.listdir(tmpdir)[0])
- os.chdir(subdir)
- log.warn('Now working in %s', subdir)
+def _install(archive_filename, install_args=()):
+ """Install Setuptools."""
+ with archive_context(archive_filename):
# installing
log.warn('Installing Setuptools')
if not _python_cmd('setup.py', 'install', *install_args):
@@ -63,93 +61,160 @@ def _install(tarball, install_args=()):
log.warn('See the error message above.')
# exitcode will be 2
return 2
- finally:
- os.chdir(old_wd)
- shutil.rmtree(tmpdir)
-def _build_egg(egg, tarball, to_dir):
- # extracting the tarball
+def _build_egg(egg, archive_filename, to_dir):
+ """Build Setuptools egg."""
+ with archive_context(archive_filename):
+ # building an egg
+ log.warn('Building a Setuptools egg in %s', to_dir)
+ _python_cmd('setup.py', '-q', 'bdist_egg', '--dist-dir', to_dir)
+ # returning the result
+ log.warn(egg)
+ if not os.path.exists(egg):
+ raise IOError('Could not build the egg.')
+
+
+class ContextualZipFile(zipfile.ZipFile):
+
+ """Supplement ZipFile class to support context manager for Python 2.6."""
+
+ def __enter__(self):
+ return self
+
+ def __exit__(self, type, value, traceback):
+ self.close()
+
+ def __new__(cls, *args, **kwargs):
+ """Construct a ZipFile or ContextualZipFile as appropriate."""
+ if hasattr(zipfile.ZipFile, '__exit__'):
+ return zipfile.ZipFile(*args, **kwargs)
+ return super(ContextualZipFile, cls).__new__(cls)
+
+
+@contextlib.contextmanager
+def archive_context(filename):
+ """
+ Unzip filename to a temporary directory, set to the cwd.
+
+ The unzipped target is cleaned up after.
+ """
tmpdir = tempfile.mkdtemp()
log.warn('Extracting in %s', tmpdir)
old_wd = os.getcwd()
try:
os.chdir(tmpdir)
- tar = tarfile.open(tarball)
- _extractall(tar)
- tar.close()
+ with ContextualZipFile(filename) as archive:
+ archive.extractall()
# going in the directory
subdir = os.path.join(tmpdir, os.listdir(tmpdir)[0])
os.chdir(subdir)
log.warn('Now working in %s', subdir)
-
- # building an egg
- log.warn('Building a Setuptools egg in %s', to_dir)
- _python_cmd('setup.py', '-q', 'bdist_egg', '--dist-dir', to_dir)
+ yield
finally:
os.chdir(old_wd)
shutil.rmtree(tmpdir)
- # returning the result
- log.warn(egg)
- if not os.path.exists(egg):
- raise IOError('Could not build the egg.')
def _do_download(version, download_base, to_dir, download_delay):
- egg = os.path.join(to_dir, 'setuptools-%s-py%d.%d.egg'
- % (version, sys.version_info[0], sys.version_info[1]))
+ """Download Setuptools."""
+ py_desig = 'py{sys.version_info[0]}.{sys.version_info[1]}'.format(sys=sys)
+ tp = 'setuptools-{version}-{py_desig}.egg'
+ egg = os.path.join(to_dir, tp.format(**locals()))
if not os.path.exists(egg):
- tarball = download_setuptools(version, download_base,
- to_dir, download_delay)
- _build_egg(egg, tarball, to_dir)
+ archive = download_setuptools(version, download_base,
+ to_dir, download_delay)
+ _build_egg(egg, archive, to_dir)
sys.path.insert(0, egg)
# Remove previously-imported pkg_resources if present (see
# https://bitbucket.org/pypa/setuptools/pull-request/7/ for details).
if 'pkg_resources' in sys.modules:
- del sys.modules['pkg_resources']
+ _unload_pkg_resources()
import setuptools
setuptools.bootstrap_install_from = egg
-def use_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL,
- to_dir=os.curdir, download_delay=15):
+def use_setuptools(
+ version=DEFAULT_VERSION, download_base=DEFAULT_URL,
+ to_dir=DEFAULT_SAVE_DIR, download_delay=15):
+ """
+ Ensure that a setuptools version is installed.
+
+ Return None. Raise SystemExit if the requested version
+ or later cannot be installed.
+ """
+ version = _resolve_version(version)
to_dir = os.path.abspath(to_dir)
+
+ # prior to importing, capture the module state for
+ # representative modules.
rep_modules = 'pkg_resources', 'setuptools'
imported = set(sys.modules).intersection(rep_modules)
+
try:
import pkg_resources
- except ImportError:
- return _do_download(version, download_base, to_dir, download_delay)
- try:
pkg_resources.require("setuptools>=" + version)
+ # a suitable version is already installed
return
+ except ImportError:
+ # pkg_resources not available; setuptools is not installed; download
+ pass
except pkg_resources.DistributionNotFound:
- return _do_download(version, download_base, to_dir, download_delay)
+ # no version of setuptools was found; allow download
+ pass
except pkg_resources.VersionConflict as VC_err:
if imported:
- msg = textwrap.dedent("""
- The required version of setuptools (>={version}) is not available,
- and can't be installed while this script is running. Please
- install a more recent version first, using
- 'easy_install -U setuptools'.
+ _conflict_bail(VC_err, version)
+
+ # otherwise, unload pkg_resources to allow the downloaded version to
+ # take precedence.
+ del pkg_resources
+ _unload_pkg_resources()
+
+ return _do_download(version, download_base, to_dir, download_delay)
- (Currently using {VC_err.args[0]!r})
- """).format(VC_err=VC_err, version=version)
- sys.stderr.write(msg)
- sys.exit(2)
- # otherwise, reload ok
- del pkg_resources, sys.modules['pkg_resources']
- return _do_download(version, download_base, to_dir, download_delay)
+def _conflict_bail(VC_err, version):
+ """
+ Setuptools was imported prior to invocation, so it is
+ unsafe to unload it. Bail out.
+ """
+ conflict_tmpl = textwrap.dedent("""
+ The required version of setuptools (>={version}) is not available,
+ and can't be installed while this script is running. Please
+ install a more recent version first, using
+ 'easy_install -U setuptools'.
+
+ (Currently using {VC_err.args[0]!r})
+ """)
+ msg = conflict_tmpl.format(**locals())
+ sys.stderr.write(msg)
+ sys.exit(2)
+
+
+def _unload_pkg_resources():
+ sys.meta_path = [
+ importer
+ for importer in sys.meta_path
+ if importer.__class__.__module__ != 'pkg_resources.extern'
+ ]
+ del_modules = [
+ name for name in sys.modules
+ if name.startswith('pkg_resources')
+ ]
+ for mod_name in del_modules:
+ del sys.modules[mod_name]
+
def _clean_check(cmd, target):
"""
- Run the command to download target. If the command fails, clean up before
- re-raising the error.
+ Run the command to download target.
+
+ If the command fails, clean up before re-raising the error.
"""
try:
subprocess.check_call(cmd)
@@ -158,115 +223,110 @@ def _clean_check(cmd, target):
os.unlink(target)
raise
+
def download_file_powershell(url, target):
"""
- Download the file at url to target using Powershell (which will validate
- trust). Raise an exception if the command cannot complete.
+ Download the file at url to target using Powershell.
+
+ Powershell will validate trust.
+ Raise an exception if the command cannot complete.
"""
target = os.path.abspath(target)
+ ps_cmd = (
+ "[System.Net.WebRequest]::DefaultWebProxy.Credentials = "
+ "[System.Net.CredentialCache]::DefaultCredentials; "
+ '(new-object System.Net.WebClient).DownloadFile("%(url)s", "%(target)s")'
+ % locals()
+ )
cmd = [
'powershell',
'-Command',
- "(new-object System.Net.WebClient).DownloadFile(%(url)r, %(target)r)" % vars(),
+ ps_cmd,
]
_clean_check(cmd, target)
+
def has_powershell():
+ """Determine if Powershell is available."""
if platform.system() != 'Windows':
return False
cmd = ['powershell', '-Command', 'echo test']
- devnull = open(os.path.devnull, 'wb')
- try:
+ with open(os.path.devnull, 'wb') as devnull:
try:
subprocess.check_call(cmd, stdout=devnull, stderr=devnull)
- except:
+ except Exception:
return False
- finally:
- devnull.close()
return True
-
download_file_powershell.viable = has_powershell
+
def download_file_curl(url, target):
- cmd = ['curl', url, '--silent', '--output', target]
+ cmd = ['curl', url, '--location', '--silent', '--output', target]
_clean_check(cmd, target)
+
def has_curl():
cmd = ['curl', '--version']
- devnull = open(os.path.devnull, 'wb')
- try:
+ with open(os.path.devnull, 'wb') as devnull:
try:
subprocess.check_call(cmd, stdout=devnull, stderr=devnull)
- except:
+ except Exception:
return False
- finally:
- devnull.close()
return True
-
download_file_curl.viable = has_curl
+
def download_file_wget(url, target):
cmd = ['wget', url, '--quiet', '--output-document', target]
_clean_check(cmd, target)
+
def has_wget():
cmd = ['wget', '--version']
- devnull = open(os.path.devnull, 'wb')
- try:
+ with open(os.path.devnull, 'wb') as devnull:
try:
subprocess.check_call(cmd, stdout=devnull, stderr=devnull)
- except:
+ except Exception:
return False
- finally:
- devnull.close()
return True
-
download_file_wget.viable = has_wget
+
def download_file_insecure(url, target):
- """
- Use Python to download the file, even though it cannot authenticate the
- connection.
- """
+ """Use Python to download the file, without connection authentication."""
+ src = urlopen(url)
try:
- from urllib.request import urlopen
- except ImportError:
- from urllib2 import urlopen
- src = dst = None
- try:
- src = urlopen(url)
- # Read/write all in one block, so we don't create a corrupt file
- # if the download is interrupted.
+ # Read all the data in one block.
data = src.read()
- dst = open(target, "wb")
- dst.write(data)
finally:
- if src:
- src.close()
- if dst:
- dst.close()
+ src.close()
+ # Write all the data in one block to avoid creating a partial file.
+ with open(target, "wb") as dst:
+ dst.write(data)
download_file_insecure.viable = lambda: True
+
def get_best_downloader():
- downloaders = [
+ downloaders = (
download_file_powershell,
download_file_curl,
download_file_wget,
download_file_insecure,
- ]
+ )
+ viable_downloaders = (dl for dl in downloaders if dl.viable())
+ return next(viable_downloaders, None)
- for dl in downloaders:
- if dl.viable():
- return dl
-def download_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL,
- to_dir=os.curdir, delay=15,
- downloader_factory=get_best_downloader):
- """Download setuptools from a specified location and return its filename
+def download_setuptools(
+ version=DEFAULT_VERSION, download_base=DEFAULT_URL,
+ to_dir=DEFAULT_SAVE_DIR, delay=15,
+ downloader_factory=get_best_downloader):
+ """
+ Download setuptools from a specified location and return its filename.
`version` should be a valid setuptools version number that is available
- as an egg for download under the `download_base` URL (which should end
+ as an sdist for download under the `download_base` URL (which should end
with a '/'). `to_dir` is the directory where the egg will be downloaded.
`delay` is the number of seconds to pause before an actual download
attempt.
@@ -274,11 +334,12 @@ def download_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL,
``downloader_factory`` should be a function taking no arguments and
returning a function for downloading a URL to a target.
"""
+ version = _resolve_version(version)
# making sure we use the absolute path
to_dir = os.path.abspath(to_dir)
- tgz_name = "setuptools-%s.tar.gz" % version
- url = download_base + tgz_name
- saveto = os.path.join(to_dir, tgz_name)
+ zip_name = "setuptools-%s.zip" % version
+ url = download_base + zip_name
+ saveto = os.path.join(to_dir, zip_name)
if not os.path.exists(saveto): # Avoid repeated downloads
log.warn("Downloading %s", url)
downloader = downloader_factory()
@@ -286,60 +347,42 @@ def download_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL,
return os.path.realpath(saveto)
... 2562 lines suppressed ...
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-07-11 16:41:35
|
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 8aa40a8c3684059468b2ccf793dfe381033fd395 (commit)
from bd37317ac0b7f1a1f286acfa8c78bd7016285cfa (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/8aa40a8c3684059468b2ccf793dfe381033fd395
commit 8aa40a8c3684059468b2ccf793dfe381033fd395
Author: Oleg Broytman <ph...@ph...>
Date: Mon Jul 11 19:39:49 2016 +0300
Document [ci skip]
diff --git a/docs/DeveloperGuide.txt b/docs/DeveloperGuide.txt
index 42b2a19..070c9e3 100644
--- a/docs/DeveloperGuide.txt
+++ b/docs/DeveloperGuide.txt
@@ -262,6 +262,11 @@ We now use Travis CI to run tests. See the status:
.. image:: https://travis-ci.org/sqlobject/sqlobject.svg?branch=master
:target: https://travis-ci.org/sqlobject/sqlobject
+To avoid triggering unnecessary test run at Travis add text `[ci skip]
+<https://docs.travis-ci.com/user/customizing-the-build/#Skipping-a-build>`_
+anywhere in your commit messages for commits that don't change code
+(documentation updates and such).
+
Documentation
=============
-----------------------------------------------------------------------
Summary of changes:
docs/DeveloperGuide.txt | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-07-10 14:41:23
|
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 bd37317ac0b7f1a1f286acfa8c78bd7016285cfa (commit)
from 217bbb8a7ece95f956dc3718c7d8bb0ddbb34155 (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/bd37317ac0b7f1a1f286acfa8c78bd7016285cfa
commit bd37317ac0b7f1a1f286acfa8c78bd7016285cfa
Author: Oleg Broytman <ph...@ph...>
Date: Sun Jul 10 17:39:25 2016 +0300
Ignore flake8's F405
Ignore F405 NAME may be undefined, or defined from star imports. We use
start import a lot.
diff --git a/setup.cfg b/setup.cfg
index 5aef598..f058df0 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -13,7 +13,8 @@ exclude = .git,docs/europython/*.py,ez_setup.py
; Ignore:
; E401 multiple imports on one line
; F403 'from module import *' used; unable to detect undefined names
-ignore = E401,F403
+; F405 NAME may be undefined, or defined from star imports
+ignore = E401,F403,F405
[pudge]
theme = pythonpaste.org
-----------------------------------------------------------------------
Summary of changes:
setup.cfg | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-07-10 14:12: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 217bbb8a7ece95f956dc3718c7d8bb0ddbb34155 (commit)
via 0371cdd380c92782910cf597481ac648b043d4d8 (commit)
via d80b1755f78ccf8c3ee81e4edf0191ca3098a407 (commit)
via 215015c375813066bccec69afc4f84025ecc895d (commit)
via 011de15af92da33b229aa7ead8d36a702f6ac4b4 (commit)
via b957864e7f92bbd09811f4e15a146baded63bae9 (commit)
via ce16fb72a08ba5c041432f98742937ede99077ff (commit)
via 0f2ecd4c3afeeaf9e0d343daa8b37da5efc52e23 (commit)
via e222f62c0c193654ed49f00b2ac1ad98d9daae7b (commit)
from c5c2b34590f51dcdfa8b8754a00fa624ff9b97b5 (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/217bbb8a7ece95f956dc3718c7d8bb0ddbb34155
commit 217bbb8a7ece95f956dc3718c7d8bb0ddbb34155
Author: Oleg Broytman <ph...@ph...>
Date: Sun Jul 10 17:05:42 2016 +0300
Document UuidCol
[skip ci]
diff --git a/docs/SQLObject.txt b/docs/SQLObject.txt
index 4b04f44..7257514 100644
--- a/docs/SQLObject.txt
+++ b/docs/SQLObject.txt
@@ -1269,6 +1269,9 @@ different types of columns, when SQLObject creates your tables.
MyTable.select((MyTable.q.name + MyTable.q.surname) == u'value'.encode(dbEncoding))
+`UuidCol`:
+ A column for UUID. On Postgres uses 'UUID' data type, on all other
+backends uses VARCHAR(36).
Relationships Between Classes/Tables
http://sourceforge.net/p/sqlobject/sqlobject/ci/0371cdd380c92782910cf597481ac648b043d4d8
commit 0371cdd380c92782910cf597481ac648b043d4d8
Author: Oleg Broytman <ph...@ph...>
Date: Sun Jul 10 16:58:51 2016 +0300
Small enhancements in UuidCol
diff --git a/sqlobject/col.py b/sqlobject/col.py
index 2729f26..9101b2c 100644
--- a/sqlobject/col.py
+++ b/sqlobject/col.py
@@ -22,7 +22,7 @@ from array import array
from decimal import Decimal
from itertools import count
import time
-import uuid
+from uuid import UUID
try:
import cPickle as pickle
except ImportError:
@@ -692,7 +692,7 @@ class UuidValidator(SOValidator):
if value is None:
return None
if isinstance(value, str):
- return uuid.UUID(value)
+ return UUID(value)
raise validators.Invalid(
"expected string in the UuidCol '%s', "
"got %s %r instead" % (
@@ -701,7 +701,7 @@ class UuidValidator(SOValidator):
def from_python(self, value, state):
if value is None:
return None
- if isinstance(value, (uuid.UUID)):
+ if isinstance(value, UUID):
return str(value)
raise validators.Invalid(
"expected uuid in the UuidCol '%s', "
@@ -710,9 +710,6 @@ class UuidValidator(SOValidator):
class SOUuidCol(SOCol):
- # def autoConstraints(self):
- # return [constrs.isUuid]
-
def createValidators(self):
return [UuidValidator(name=self.name)] + \
super(SOUuidCol, self).createValidators()
http://sourceforge.net/p/sqlobject/sqlobject/ci/d80b1755f78ccf8c3ee81e4edf0191ca3098a407
commit d80b1755f78ccf8c3ee81e4edf0191ca3098a407
Author: Oleg Broytman <ph...@ph...>
Date: Sun Jul 10 16:54:39 2016 +0300
Fix flake8 warnings
diff --git a/sqlobject/tests/test_uuidcol.py b/sqlobject/tests/test_uuidcol.py
index 81000ef..23ce2a2 100644
--- a/sqlobject/tests/test_uuidcol.py
+++ b/sqlobject/tests/test_uuidcol.py
@@ -1,5 +1,4 @@
-import uuid
-import py.test
+from uuid import UUID
from sqlobject import *
from sqlobject.tests.dbtest import *
@@ -9,7 +8,8 @@ from sqlobject.tests.dbtest import *
########################################
-testuuid = uuid.UUID('7e3b5c1e-3402-4b10-a3c6-8ee6dbac7d1a')
+testuuid = UUID('7e3b5c1e-3402-4b10-a3c6-8ee6dbac7d1a')
+
class UuidContainer(SQLObject):
uuiddata = UuidCol(default=None)
@@ -26,4 +26,3 @@ def test_uuidCol():
my_uuid_2 = UuidContainer.get(iid)
assert my_uuid_2.uuiddata == testuuid
-
http://sourceforge.net/p/sqlobject/sqlobject/ci/215015c375813066bccec69afc4f84025ecc895d
commit 215015c375813066bccec69afc4f84025ecc895d
Author: Oleg Broytman <ph...@ph...>
Date: Sun Jul 10 16:52:26 2016 +0300
The next release will be 3.1.0
diff --git a/README.txt b/README.txt
index 2fb247d..d4b129a 100644
--- a/README.txt
+++ b/README.txt
@@ -1,4 +1,4 @@
-SQLObject 3.0.0
+SQLObject 3.1.0
===============
Thanks for looking at SQLObject. SQLObject is an object-relational
diff --git a/docs/News.txt b/docs/News.txt
index 4af8a53..26083f7 100644
--- a/docs/News.txt
+++ b/docs/News.txt
@@ -7,7 +7,7 @@ News
.. _start:
-SQLObject 3.0.0 (master)
+SQLObject 3.1.0 (master)
========================
Features
@@ -21,6 +21,9 @@ Documentation
* Developer's Guide extended to explain SQLObject architecture and how
to create a new column type.
+SQLObject 3.0.0
+===============
+
Released 1 Jun 2016.
Features
diff --git a/setup.cfg b/setup.cfg
index b6e6ba4..5aef598 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -3,8 +3,8 @@ command_packages = buildutils.pudge_command,
buildutils.publish_command
[egg_info]
-tag_build =
-tag_date = 0
+tag_build = dev
+tag_date = 1
tag_svn_revision = 0
[flake8]
diff --git a/sqlobject/__version__.py b/sqlobject/__version__.py
index 431113f..f1ebb14 100644
--- a/sqlobject/__version__.py
+++ b/sqlobject/__version__.py
@@ -1,8 +1,8 @@
-version = '3.0.0'
+version = '3.1.0'
major = 3
-minor = 0
+minor = 1
micro = 0
-release_level = 'final'
+release_level = 'trunk'
serial = 0
version_info = (major, minor, micro, release_level, serial)
http://sourceforge.net/p/sqlobject/sqlobject/ci/011de15af92da33b229aa7ead8d36a702f6ac4b4
commit 011de15af92da33b229aa7ead8d36a702f6ac4b4
Author: Oleg Broytman <ph...@ph...>
Date: Sun Jul 10 16:51:52 2016 +0300
Developer's Guide was extended
[skip ci]
diff --git a/docs/News.txt b/docs/News.txt
index ca4692b..4af8a53 100644
--- a/docs/News.txt
+++ b/docs/News.txt
@@ -15,6 +15,12 @@ Features
* Add UuidCol.
+Documentation
+-------------
+
+* Developer's Guide extended to explain SQLObject architecture and how
+ to create a new column type.
+
Released 1 Jun 2016.
Features
http://sourceforge.net/p/sqlobject/sqlobject/ci/b957864e7f92bbd09811f4e15a146baded63bae9
commit b957864e7f92bbd09811f4e15a146baded63bae9
Author: Oleg Broytman <ph...@ph...>
Date: Sun Jul 10 16:50:49 2016 +0300
Lutz Steinborn added UuidCol
[skip ci]
diff --git a/docs/Authors.txt b/docs/Authors.txt
index 5dbc625..cf35dfc 100644
--- a/docs/Authors.txt
+++ b/docs/Authors.txt
@@ -33,6 +33,7 @@ Contributions have been made by:
* Lukasz Dobrzanski <lukasz.m.dobrzanski at gmail.com>
* Gregor Horvath <gh at gregor-horvath.com>
* Nathan Edwards <nje5 at georgetown.edu>
+* Lutz Steinborn <l.steinborn at 4c-gmbh.de>
* Oleg Broytman <ph...@ph...>
.. image:: https://sourceforge.net/sflogo.php?group_id=74338&type=10
diff --git a/docs/News.txt b/docs/News.txt
index 3cfec6e..ca4692b 100644
--- a/docs/News.txt
+++ b/docs/News.txt
@@ -10,6 +10,11 @@ News
SQLObject 3.0.0 (master)
========================
+Features
+--------
+
+* Add UuidCol.
+
Released 1 Jun 2016.
Features
http://sourceforge.net/p/sqlobject/sqlobject/ci/ce16fb72a08ba5c041432f98742937ede99077ff
commit ce16fb72a08ba5c041432f98742937ede99077ff
Merge: c5c2b34 0f2ecd4
Author: Oleg Broytman <ph...@ph...>
Date: Sun Jul 10 17:39:07 2016 +0400
Merge pull request #118 from LutzSteinborn/master
UuidCol
http://sourceforge.net/p/sqlobject/sqlobject/ci/0f2ecd4c3afeeaf9e0d343daa8b37da5efc52e23
commit 0f2ecd4c3afeeaf9e0d343daa8b37da5efc52e23
Author: Lutz Steinborn <l.s...@4c...>
Date: Sun Jul 10 08:05:30 2016 +0200
added VARCHAR(36) for DBs with out uuid type
diff --git a/sqlobject/col.py b/sqlobject/col.py
index b1287cd..2729f26 100644
--- a/sqlobject/col.py
+++ b/sqlobject/col.py
@@ -710,13 +710,16 @@ class UuidValidator(SOValidator):
class SOUuidCol(SOCol):
- #def autoConstraints(self):
+ # def autoConstraints(self):
# return [constrs.isUuid]
def createValidators(self):
return [UuidValidator(name=self.name)] + \
super(SOUuidCol, self).createValidators()
+ def _sqlType(self):
+ return 'VARCHAR(36)'
+
def _postgresType(self):
return 'UUID'
http://sourceforge.net/p/sqlobject/sqlobject/ci/e222f62c0c193654ed49f00b2ac1ad98d9daae7b
commit e222f62c0c193654ed49f00b2ac1ad98d9daae7b
Author: Lutz Steinborn <l.s...@4c...>
Date: Sat Jul 9 17:09:04 2016 +0200
UuidCol and test added
diff --git a/sqlobject/col.py b/sqlobject/col.py
index bc57813..b1287cd 100644
--- a/sqlobject/col.py
+++ b/sqlobject/col.py
@@ -22,6 +22,7 @@ from array import array
from decimal import Decimal
from itertools import count
import time
+import uuid
try:
import cPickle as pickle
except ImportError:
@@ -685,6 +686,45 @@ class UnicodeCol(Col):
baseClass = SOUnicodeCol
+class UuidValidator(SOValidator):
+
+ def to_python(self, value, state):
+ if value is None:
+ return None
+ if isinstance(value, str):
+ return uuid.UUID(value)
+ raise validators.Invalid(
+ "expected string in the UuidCol '%s', "
+ "got %s %r instead" % (
+ self.name, type(value), value), value, state)
+
+ def from_python(self, value, state):
+ if value is None:
+ return None
+ if isinstance(value, (uuid.UUID)):
+ return str(value)
+ raise validators.Invalid(
+ "expected uuid in the UuidCol '%s', "
+ "got %s %r instead" % (
+ self.name, type(value), value), value, state)
+
+
+class SOUuidCol(SOCol):
+ #def autoConstraints(self):
+ # return [constrs.isUuid]
+
+ def createValidators(self):
+ return [UuidValidator(name=self.name)] + \
+ super(SOUuidCol, self).createValidators()
+
+ def _postgresType(self):
+ return 'UUID'
+
+
+class UuidCol(Col):
+ baseClass = SOUuidCol
+
+
class IntValidator(SOValidator):
def to_python(self, value, state):
diff --git a/sqlobject/tests/test_uuidcol.py b/sqlobject/tests/test_uuidcol.py
new file mode 100644
index 0000000..81000ef
--- /dev/null
+++ b/sqlobject/tests/test_uuidcol.py
@@ -0,0 +1,29 @@
+import uuid
+import py.test
+from sqlobject import *
+from sqlobject.tests.dbtest import *
+
+
+########################################
+# Uuid columns
+########################################
+
+
+testuuid = uuid.UUID('7e3b5c1e-3402-4b10-a3c6-8ee6dbac7d1a')
+
+class UuidContainer(SQLObject):
+ uuiddata = UuidCol(default=None)
+
+
+def test_uuidCol():
+ setupClass([UuidContainer], force=True)
+
+ my_uuid = UuidContainer(uuiddata=testuuid)
+ iid = my_uuid.id
+
+ UuidContainer._connection.cache.clear()
+
+ my_uuid_2 = UuidContainer.get(iid)
+
+ assert my_uuid_2.uuiddata == testuuid
+
-----------------------------------------------------------------------
Summary of changes:
README.txt | 2 +-
docs/Authors.txt | 1 +
docs/News.txt | 16 ++++++++++++++-
docs/SQLObject.txt | 3 ++
setup.cfg | 4 +-
sqlobject/__version__.py | 6 ++--
sqlobject/col.py | 40 +++++++++++++++++++++++++++++++++++++++
sqlobject/tests/test_uuidcol.py | 28 +++++++++++++++++++++++++++
8 files changed, 93 insertions(+), 7 deletions(-)
create mode 100644 sqlobject/tests/test_uuidcol.py
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-07-03 18:59: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, master has been updated
via c5c2b34590f51dcdfa8b8754a00fa624ff9b97b5 (commit)
from 7141e586c7702fde769ea286864a1655ff900bf5 (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/c5c2b34590f51dcdfa8b8754a00fa624ff9b97b5
commit c5c2b34590f51dcdfa8b8754a00fa624ff9b97b5
Author: Oleg Broytman <ph...@ph...>
Date: Sun Jul 3 15:25:52 2016 +0300
Explain columns, validators and converters in details
[skip ci]
diff --git a/docs/DeveloperGuide.txt b/docs/DeveloperGuide.txt
index eca0491..42b2a19 100644
--- a/docs/DeveloperGuide.txt
+++ b/docs/DeveloperGuide.txt
@@ -35,41 +35,75 @@ checkout were not copied into ``site-packages``. See `setuptools
Architecture
============
-There are four main kinds of objects in SQLObject: tables, columns,
-connections and converters.
+There are three main kinds of objects in SQLObject: tables, columns and
+connections.
Tables-related objects are in `sqlobject/main.py`_ module. There are two
-main classes: SQLObject and sqlmeta; the latter is not a metaclass but a
-parent class for sqlmeta attribute in every class - the authors tried to
-move there all attributes and methods not directly related to columns to
-avoid cluttering table namespace.
+main classes: ``SQLObject`` and ``sqlmeta``; the latter is not a
+metaclass but a parent class for ``sqlmeta`` attribute in every class -
+the authors tried to move there all attributes and methods not directly
+related to columns to avoid cluttering table namespace.
.. _`sqlobject/main.py`: sqlobject/main.py.html
+Connections are instances of ``DBConnection`` class (from
+`sqlobject/dbconnection.py`_) and its concrete descendants.
+``DBConnection`` contains generic code for generating SQL, working with
+transactions and so on. Concrete connection classes (like
+``PostgresConnection`` and ``SQLiteConnection``) provide
+backend-specific functionality.
+
+.. _`sqlobject/dbconnection.py`: sqlobject/dbconnection.py.html
+
+Columns, validators and converters
+----------------------------------
+
Columns are instances of classes from `sqlobject/col.py`_. There are two
classes for every column: one is for user to include into an instance of
SQLObject, an instance of the other is automatically created by
-SQLObject metaclass. The two classes are names SOCol and Col; for
-example, SOBoolCol and BoolCol.
+SQLObject's metaclass. The two classes are usually named ``Col`` and
+``SOCol``; for example, ``BoolCol`` and ``SOBoolCol``. User-visible
+classes, descendants of ``Col``, seldom contain any code; the main code
+for a column is in ``SOCol`` descendants and in validators.
.. _`sqlobject/col.py`: sqlobject/col.py.html
-Connections are instances of DBConnection class (from
-`sqlobject/dbconnection.py`_) and its concrete descendants. DBConnection
-contains generic code for generating SQL, working with transactions and
-so on. Concrete connection classes (like PostgresConnection and
-SQLiteConnection) provides backend-specific functionality.
-
-.. _`sqlobject/dbconnection.py`: sqlobject/dbconnection.py.html
-
-Converters from `sqlobject/converters.py`_ aren't visible to the user. They
-are used behind the scene to convert object to SQL strings. The most
-elaborated converter there is StringConverters. Yes, it converts strings
-to strings. It converts python strings to SQL strings using
-backend-specific quoting rules.
+Every column has a list of validators. Validators validate input data
+and convert input data to python data and back. Every validator must
+have methods ``from_python`` and ``to_python``. The former converts data
+from python to internal representation that will be converted by
+converters to SQL strings. The latter converts data from SQL data to
+python. Also please bear in mind that validators can receive ``None``
+(for SQL ``NULL``) and ``SQLExpression`` (an object that represents
+SQLObject expressions); both objects must be passed unchanged by
+validators.
+
+Converters from `sqlobject/converters.py`_ aren't visible to users. They
+are used behind the scene to convert objects returned by validators to
+backend-specific SQL strings. The most elaborated converter is
+``StringLikeConverter``. Yes, it converts strings to strings. It
+converts python strings to SQL strings using backend-specific quoting
+rules.
.. _`sqlobject/converters.py`: sqlobject/converters.py.html
+Let look into ``BoolCol`` as an example. The very ``BoolCol`` doesn't
+have any code. ``SOBoolCol`` has a method to create ``BoolValidator``
+and methods to create backend-specific column type. ``BoolValidator``
+has identical methods ``from_python`` and ``to_python``; the method
+passes ``None``, ``SQLExpression`` and bool values unchanged; int and
+objects that have method ``__nonzero__`` are converted to bool; other
+objects trigger validation error. Bool values that are returned by call
+to ``from_python`` will be converted to SQL strings by
+``BoolConverter``; bool values from ``to_python`` (is is supposed they
+are originated from the backend via DB API driver) are passed to the
+application.
+
+Objects that are returned from ``from_python`` must be registered with
+converters. Another approach for ``from_python`` is to return an object
+that has ``__sqlrepr__`` method. Such objects convert to SQL strings
+themselves, converters are not used.
+
Style Guide
===========
-----------------------------------------------------------------------
Summary of changes:
docs/DeveloperGuide.txt | 76 ++++++++++++++++++++++++++++++++++-------------
1 files changed, 55 insertions(+), 21 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-06-30 18:12: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, master has been updated
via 7141e586c7702fde769ea286864a1655ff900bf5 (commit)
via b85b7c37b1c12a727c5c16cef0564dd32a558abb (commit)
from 2686101c67dc05258a9aa3855367ebdad28ebee1 (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/7141e586c7702fde769ea286864a1655ff900bf5
commit 7141e586c7702fde769ea286864a1655ff900bf5
Author: Oleg Broytman <ph...@ph...>
Date: Thu Jun 30 21:04:19 2016 +0300
Link to html'ized sources
[skip ci]
diff --git a/docs/DeveloperGuide.txt b/docs/DeveloperGuide.txt
index 3362c11..eca0491 100644
--- a/docs/DeveloperGuide.txt
+++ b/docs/DeveloperGuide.txt
@@ -38,30 +38,38 @@ Architecture
There are four main kinds of objects in SQLObject: tables, columns,
connections and converters.
-Tables-related objects are in sqlobject/main.py module. There are two
+Tables-related objects are in `sqlobject/main.py`_ module. There are two
main classes: SQLObject and sqlmeta; the latter is not a metaclass but a
parent class for sqlmeta attribute in every class - the authors tried to
move there all attributes and methods not directly related to columns to
avoid cluttering table namespace.
-Columns are instances of classes from sqlobject/col.py. There are two
+.. _`sqlobject/main.py`: sqlobject/main.py.html
+
+Columns are instances of classes from `sqlobject/col.py`_. There are two
classes for every column: one is for user to include into an instance of
SQLObject, an instance of the other is automatically created by
SQLObject metaclass. The two classes are names SOCol and Col; for
example, SOBoolCol and BoolCol.
+.. _`sqlobject/col.py`: sqlobject/col.py.html
+
Connections are instances of DBConnection class (from
-sqlobject/dbconnection.py ) and its concrete descendants. DBConnection
+`sqlobject/dbconnection.py`_) and its concrete descendants. DBConnection
contains generic code for generating SQL, working with transactions and
so on. Concrete connection classes (like PostgresConnection and
SQLiteConnection) provides backend-specific functionality.
-Converters from sqlobject/converters.py aren't visible to the user. They
+.. _`sqlobject/dbconnection.py`: sqlobject/dbconnection.py.html
+
+Converters from `sqlobject/converters.py`_ aren't visible to the user. They
are used behind the scene to convert object to SQL strings. The most
elaborated converter there is StringConverters. Yes, it converts strings
to strings. It converts python strings to SQL strings using
backend-specific quoting rules.
+.. _`sqlobject/converters.py`: sqlobject/converters.py.html
+
Style Guide
===========
http://sourceforge.net/p/sqlobject/sqlobject/ci/b85b7c37b1c12a727c5c16cef0564dd32a558abb
commit b85b7c37b1c12a727c5c16cef0564dd32a558abb
Author: Oleg Broytman <ph...@ph...>
Date: Thu Jun 30 20:40:36 2016 +0300
We, the developers...
[skip ci]
diff --git a/docs/DeveloperGuide.txt b/docs/DeveloperGuide.txt
index 3a04b21..3362c11 100644
--- a/docs/DeveloperGuide.txt
+++ b/docs/DeveloperGuide.txt
@@ -78,7 +78,7 @@ Python Style Guide. Some things to take particular note of:
* **No tabs**. Not anywhere. Always indent with 4 spaces.
-* I don't stress too much on line length. But try to break lines up
+* We don't stress too much on line length. But try to break lines up
by grouping with parenthesis instead of with backslashes (if you
can). Do asserts like::
@@ -98,7 +98,7 @@ Python Style Guide. Some things to take particular note of:
sqlobject import *`` so names should be fairly distinct, or they
shouldn't be exported in ``sqlobject.__init__``.
-* I'm very picky about whitespace. There's one and only one right way
+* We're very picky about whitespace. There's one and only one right way
to do it. Good examples::
short = 3
@@ -122,9 +122,9 @@ Python Style Guide. Some things to take particular note of:
func( a, b )
[ 1, 2, 3 ]
- To me, the poor use of whitespace seems lazy. I'll think less of
- your code (justified or not) for this very trivial reason. I will
- fix all your code for you if you don't do it yourself, because I
+ To us, the poor use of whitespace seems lazy. We'll think less of
+ your code (justified or not) for this very trivial reason. We will
+ fix all your code for you if you don't do it yourself, because we
can't bear to look at sloppy whitespace.
* Use ``@@`` to mark something that is suboptimal, or where you have a
@@ -210,8 +210,8 @@ miscellaneous functions.
.. _raises: http://pytest.org/latest/assert.html#assertions-about-expected-exceptions
-If you submit a patch or implement a feature without a test, I'll be
-forced to write the test. That's no fun for me, to just be writing
+If you submit a patch or implement a feature without a test, we'll be
+forced to write the test. That's no fun for us, to just be writing
tests. So please, write tests; everything at least needs to be
exercised, even if the tests are absolutely complete.
-----------------------------------------------------------------------
Summary of changes:
docs/DeveloperGuide.txt | 30 +++++++++++++++++++-----------
1 files changed, 19 insertions(+), 11 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-06-30 16:00:45
|
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, sphinx-docs has been deleted
was 6f2ef7915dd836069b390dca942b46a8bdd1bb05
- Log -----------------------------------------------------------------
6f2ef7915dd836069b390dca942b46a8bdd1bb05 Generate docs using sphinx
-----------------------------------------------------------------------
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-06-30 15:57: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, sphinx-docs has been created
at 6f2ef7915dd836069b390dca942b46a8bdd1bb05 (commit)
- Log -----------------------------------------------------------------
http://sourceforge.net/p/sqlobject/sqlobject/ci/6f2ef7915dd836069b390dca942b46a8bdd1bb05
commit 6f2ef7915dd836069b390dca942b46a8bdd1bb05
Author: Oleg Broytman <ph...@ph...>
Date: Mon Feb 16 21:56:33 2015 +0300
Generate docs using sphinx
Used sphinx-apidoc to generate split API docs.
diff --git a/docs/.gitignore b/docs/.gitignore
index 5937020..cf1f956 100644
--- a/docs/.gitignore
+++ b/docs/.gitignore
@@ -1,3 +1,4 @@
/*.html
+/_build/
/data.db
/html
diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644
index 0000000..5188142
--- /dev/null
+++ b/docs/Makefile
@@ -0,0 +1,183 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS =
+SPHINXBUILD = sphinx-build
+PAPER =
+BUILDDIR = _build
+
+# User-friendly check for sphinx-build
+ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
+$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
+endif
+
+# Internal variables.
+PAPEROPT_a4 = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+# the i18n builder cannot share the environment and doctrees with the others
+I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext
+
+help:
+ @echo "Please use \`make <target>' where <target> is one of"
+ @echo " html to make standalone HTML files"
+ @echo " dirhtml to make HTML files named index.html in directories"
+ @echo " singlehtml to make a single large HTML file"
+ @echo " pickle to make pickle files"
+ @echo " json to make JSON files"
+ @echo " htmlhelp to make HTML files and a HTML help project"
+ @echo " qthelp to make HTML files and a qthelp project"
+ @echo " devhelp to make HTML files and a Devhelp project"
+ @echo " epub to make an epub"
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+ @echo " latexpdf to make LaTeX files and run them through pdflatex"
+ @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
+ @echo " text to make text files"
+ @echo " man to make manual pages"
+ @echo " texinfo to make Texinfo files"
+ @echo " info to make Texinfo files and run them through makeinfo"
+ @echo " gettext to make PO message catalogs"
+ @echo " changes to make an overview of all changed/added/deprecated items"
+ @echo " xml to make Docutils-native XML files"
+ @echo " pseudoxml to make pseudoxml-XML files for display purposes"
+ @echo " linkcheck to check all external links for integrity"
+ @echo " doctest to run all doctests embedded in the documentation (if enabled)"
+ @echo " coverage to run coverage check of the documentation (if enabled)"
+
+clean:
+ rm -rf $(BUILDDIR)/*
+
+html:
+ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+dirhtml:
+ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+singlehtml:
+ $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+ @echo
+ @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+
+pickle:
+ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+ @echo
+ @echo "Build finished; now you can process the pickle files."
+
+json:
+ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+ @echo
+ @echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+ @echo
+ @echo "Build finished; now you can run HTML Help Workshop with the" \
+ ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+ @echo
+ @echo "Build finished; now you can run "qcollectiongenerator" with the" \
+ ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+ @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/SQLObject.qhcp"
+ @echo "To view the help file:"
+ @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/SQLObject.qhc"
+
+devhelp:
+ $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+ @echo
+ @echo "Build finished."
+ @echo "To view the help file:"
+ @echo "# mkdir -p $$HOME/.local/share/devhelp/SQLObject"
+ @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/SQLObject"
+ @echo "# devhelp"
+
+epub:
+ $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+ @echo
+ @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+
+latex:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo
+ @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+ @echo "Run \`make' in that directory to run these through (pdf)latex" \
+ "(use \`make latexpdf' here to do that automatically)."
+
+latexpdf:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo "Running LaTeX files through pdflatex..."
+ $(MAKE) -C $(BUILDDIR)/latex all-pdf
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+latexpdfja:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo "Running LaTeX files through platex and dvipdfmx..."
+ $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+text:
+ $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+ @echo
+ @echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+man:
+ $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+ @echo
+ @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+texinfo:
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+ @echo
+ @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
+ @echo "Run \`make' in that directory to run these through makeinfo" \
+ "(use \`make info' here to do that automatically)."
+
+info:
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+ @echo "Running Texinfo files through makeinfo..."
+ make -C $(BUILDDIR)/texinfo info
+ @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
+
+gettext:
+ $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
+ @echo
+ @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
+
+changes:
+ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+ @echo
+ @echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+ @echo
+ @echo "Link check complete; look for any errors in the above output " \
+ "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+ $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+ @echo "Testing of doctests in the sources finished, look at the " \
+ "results in $(BUILDDIR)/doctest/output.txt."
+
+coverage:
+ $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
+ @echo "Testing of coverage in the sources finished, look at the " \
+ "results in $(BUILDDIR)/coverage/python.txt."
+
+xml:
+ $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
+ @echo
+ @echo "Build finished. The XML files are in $(BUILDDIR)/xml."
+
+pseudoxml:
+ $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
+ @echo
+ @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
diff --git a/docs/api/modules.txt b/docs/api/modules.txt
new file mode 100644
index 0000000..656ed22
--- /dev/null
+++ b/docs/api/modules.txt
@@ -0,0 +1,7 @@
+sqlobject
+=========
+
+.. toctree::
+ :maxdepth: 4
+
+ sqlobject
diff --git a/docs/api/sqlobject.boundattributes.txt b/docs/api/sqlobject.boundattributes.txt
new file mode 100644
index 0000000..1518f8d
--- /dev/null
+++ b/docs/api/sqlobject.boundattributes.txt
@@ -0,0 +1,7 @@
+sqlobject.boundattributes module
+================================
+
+.. automodule:: sqlobject.boundattributes
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/api/sqlobject.cache.txt b/docs/api/sqlobject.cache.txt
new file mode 100644
index 0000000..6c74d5b
--- /dev/null
+++ b/docs/api/sqlobject.cache.txt
@@ -0,0 +1,7 @@
+sqlobject.cache module
+======================
+
+.. automodule:: sqlobject.cache
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/api/sqlobject.classregistry.txt b/docs/api/sqlobject.classregistry.txt
new file mode 100644
index 0000000..0882491
--- /dev/null
+++ b/docs/api/sqlobject.classregistry.txt
@@ -0,0 +1,7 @@
+sqlobject.classregistry module
+==============================
+
+.. automodule:: sqlobject.classregistry
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/api/sqlobject.col.txt b/docs/api/sqlobject.col.txt
new file mode 100644
index 0000000..5282fc2
--- /dev/null
+++ b/docs/api/sqlobject.col.txt
@@ -0,0 +1,7 @@
+sqlobject.col module
+====================
+
+.. automodule:: sqlobject.col
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/api/sqlobject.conftest.txt b/docs/api/sqlobject.conftest.txt
new file mode 100644
index 0000000..8e56428
--- /dev/null
+++ b/docs/api/sqlobject.conftest.txt
@@ -0,0 +1,7 @@
+sqlobject.conftest module
+=========================
+
+.. automodule:: sqlobject.conftest
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/api/sqlobject.constraints.txt b/docs/api/sqlobject.constraints.txt
new file mode 100644
index 0000000..ad39272
--- /dev/null
+++ b/docs/api/sqlobject.constraints.txt
@@ -0,0 +1,7 @@
+sqlobject.constraints module
+============================
+
+.. automodule:: sqlobject.constraints
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/api/sqlobject.converters.txt b/docs/api/sqlobject.converters.txt
new file mode 100644
index 0000000..82b5cff
--- /dev/null
+++ b/docs/api/sqlobject.converters.txt
@@ -0,0 +1,7 @@
+sqlobject.converters module
+===========================
+
+.. automodule:: sqlobject.converters
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/api/sqlobject.dbconnection.txt b/docs/api/sqlobject.dbconnection.txt
new file mode 100644
index 0000000..6a6adc3
--- /dev/null
+++ b/docs/api/sqlobject.dbconnection.txt
@@ -0,0 +1,7 @@
+sqlobject.dbconnection module
+=============================
+
+.. automodule:: sqlobject.dbconnection
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/api/sqlobject.dberrors.txt b/docs/api/sqlobject.dberrors.txt
new file mode 100644
index 0000000..3035746
--- /dev/null
+++ b/docs/api/sqlobject.dberrors.txt
@@ -0,0 +1,7 @@
+sqlobject.dberrors module
+=========================
+
+.. automodule:: sqlobject.dberrors
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/api/sqlobject.declarative.txt b/docs/api/sqlobject.declarative.txt
new file mode 100644
index 0000000..9cc7e9b
--- /dev/null
+++ b/docs/api/sqlobject.declarative.txt
@@ -0,0 +1,7 @@
+sqlobject.declarative module
+============================
+
+.. automodule:: sqlobject.declarative
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/api/sqlobject.events.txt b/docs/api/sqlobject.events.txt
new file mode 100644
index 0000000..8c33239
--- /dev/null
+++ b/docs/api/sqlobject.events.txt
@@ -0,0 +1,7 @@
+sqlobject.events module
+=======================
+
+.. automodule:: sqlobject.events
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/api/sqlobject.firebird.firebirdconnection.txt b/docs/api/sqlobject.firebird.firebirdconnection.txt
new file mode 100644
index 0000000..6fdf26e
--- /dev/null
+++ b/docs/api/sqlobject.firebird.firebirdconnection.txt
@@ -0,0 +1,7 @@
+sqlobject.firebird.firebirdconnection module
+============================================
+
+.. automodule:: sqlobject.firebird.firebirdconnection
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/api/sqlobject.firebird.txt b/docs/api/sqlobject.firebird.txt
new file mode 100644
index 0000000..78cec9a
--- /dev/null
+++ b/docs/api/sqlobject.firebird.txt
@@ -0,0 +1,15 @@
+sqlobject.firebird package
+==========================
+
+.. automodule:: sqlobject.firebird
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Submodules
+----------
+
+.. toctree::
+
+ sqlobject.firebird.firebirdconnection
+
diff --git a/docs/api/sqlobject.include.hashcol.txt b/docs/api/sqlobject.include.hashcol.txt
new file mode 100644
index 0000000..76396aa
--- /dev/null
+++ b/docs/api/sqlobject.include.hashcol.txt
@@ -0,0 +1,7 @@
+sqlobject.include.hashcol module
+================================
+
+.. automodule:: sqlobject.include.hashcol
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/api/sqlobject.include.txt b/docs/api/sqlobject.include.txt
new file mode 100644
index 0000000..b438105
--- /dev/null
+++ b/docs/api/sqlobject.include.txt
@@ -0,0 +1,15 @@
+sqlobject.include package
+=========================
+
+.. automodule:: sqlobject.include
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Submodules
+----------
+
+.. toctree::
+
+ sqlobject.include.hashcol
+
diff --git a/docs/api/sqlobject.index.txt b/docs/api/sqlobject.index.txt
new file mode 100644
index 0000000..bc96433
--- /dev/null
+++ b/docs/api/sqlobject.index.txt
@@ -0,0 +1,7 @@
+sqlobject.index module
+======================
+
+.. automodule:: sqlobject.index
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/api/sqlobject.inheritance.iteration.txt b/docs/api/sqlobject.inheritance.iteration.txt
new file mode 100644
index 0000000..0e9538f
--- /dev/null
+++ b/docs/api/sqlobject.inheritance.iteration.txt
@@ -0,0 +1,7 @@
+sqlobject.inheritance.iteration module
+======================================
+
+.. automodule:: sqlobject.inheritance.iteration
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/api/sqlobject.inheritance.tests.testDestroyCascade.txt b/docs/api/sqlobject.inheritance.tests.testDestroyCascade.txt
new file mode 100644
index 0000000..7dc60f6
--- /dev/null
+++ b/docs/api/sqlobject.inheritance.tests.testDestroyCascade.txt
@@ -0,0 +1,7 @@
+sqlobject.inheritance.tests.testDestroyCascade module
+=====================================================
+
+.. automodule:: sqlobject.inheritance.tests.testDestroyCascade
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/api/sqlobject.inheritance.tests.test_aggregates.txt b/docs/api/sqlobject.inheritance.tests.test_aggregates.txt
new file mode 100644
index 0000000..ee01f6b
--- /dev/null
+++ b/docs/api/sqlobject.inheritance.tests.test_aggregates.txt
@@ -0,0 +1,7 @@
+sqlobject.inheritance.tests.test_aggregates module
+==================================================
+
+.. automodule:: sqlobject.inheritance.tests.test_aggregates
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/api/sqlobject.inheritance.tests.test_asdict.txt b/docs/api/sqlobject.inheritance.tests.test_asdict.txt
new file mode 100644
index 0000000..ff95591
--- /dev/null
+++ b/docs/api/sqlobject.inheritance.tests.test_asdict.txt
@@ -0,0 +1,7 @@
+sqlobject.inheritance.tests.test_asdict module
+==============================================
+
+.. automodule:: sqlobject.inheritance.tests.test_asdict
+ :members:
+ :undoc-members:
+ :show-inheritance:
... 2045 lines suppressed ...
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-06-30 15:57: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 2686101c67dc05258a9aa3855367ebdad28ebee1 (commit)
via 6d18c706d6e33c50f91b0f04c9ab0654bb16c160 (commit)
via 9330aef08568f8030798dcb58df99ae2f263cad4 (commit)
via 49e3c5a467631e5c0edd916a3f4530ae6509509c (commit)
via fb6b017b2f8360284287c95ad44d720b49ca8023 (commit)
via 9c92444dc04567dad5c7b3135cd95c3ded274987 (commit)
from 27ff3d8110f76cc8b9e4565b3dda5cd767f417ec (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/2686101c67dc05258a9aa3855367ebdad28ebee1
commit 2686101c67dc05258a9aa3855367ebdad28ebee1
Author: Oleg Broytman <ph...@ph...>
Date: Thu Jun 30 18:38:00 2016 +0300
Use https for pypi.python.org
[skip ci]
diff --git a/docs/DeveloperGuide.txt b/docs/DeveloperGuide.txt
index bb43c06..3a04b21 100644
--- a/docs/DeveloperGuide.txt
+++ b/docs/DeveloperGuide.txt
@@ -179,7 +179,7 @@ Tests are important. Tests keep everything from falling apart. All
new additions should have tests.
Testing uses py.test, an alternative to ``unittest``. It is available at
-http://pytest.org/ and http://pypi.python.org/pypi/pytest. Read its `getting
+http://pytest.org/ and https://pypi.python.org/pypi/pytest. Read its `getting
started`_ document for more.
.. _getting started: http://pytest.org/latest/getting-started.html
@@ -226,7 +226,7 @@ Documentation
Please write documentation. Documentation should live in the docs/
directory. Pudge converts documentation from Restructured Text to
HTML. It presently requires kid 0.9.6, which must be obtained
-separately (for instance, from http://pypi.python.org/pypi/kid/0.9.6).
+separately (for instance, from https://pypi.python.org/pypi/kid/0.9.6).
.. image:: https://sourceforge.net/sflogo.php?group_id=74338&type=10
:target: https://sourceforge.net/projects/sqlobject
diff --git a/docs/download.txt b/docs/download.txt
index e556283..407330e 100644
--- a/docs/download.txt
+++ b/docs/download.txt
@@ -2,7 +2,7 @@ Download SQLObject
++++++++++++++++++
The latest releases are always available on the `Python Package Index
-<http://pypi.python.org/pypi/SQLObject>`_, and is installable
+<https://pypi.python.org/pypi/SQLObject>`_, and is installable
with `easy_install
<http://pythonhosted.org/setuptools/easy_install.html>`_.
diff --git a/sqlobject/compat.py b/sqlobject/compat.py
index 6b7d71b..7e8d0e1 100644
--- a/sqlobject/compat.py
+++ b/sqlobject/compat.py
@@ -1,7 +1,7 @@
import sys
import types
-# Credit to six authors: http://pypi.python.org/pypi/six
+# Credit to six authors: https://pypi.python.org/pypi/six
# License: MIT
http://sourceforge.net/p/sqlobject/sqlobject/ci/6d18c706d6e33c50f91b0f04c9ab0654bb16c160
commit 6d18c706d6e33c50f91b0f04c9ab0654bb16c160
Author: Oleg Broytman <ph...@ph...>
Date: Thu Jun 30 18:37:35 2016 +0300
Use the latest kid (0.9.6)
[skip ci]
diff --git a/docs/DeveloperGuide.txt b/docs/DeveloperGuide.txt
index 8d6aaa0..bb43c06 100644
--- a/docs/DeveloperGuide.txt
+++ b/docs/DeveloperGuide.txt
@@ -225,8 +225,8 @@ Documentation
Please write documentation. Documentation should live in the docs/
directory. Pudge converts documentation from Restructured Text to
-HTML. It presently requires kid 0.9.3, which must be obtained
-separately (for instance, from http://pypi.python.org/pypi/kid/0.9.3)
+HTML. It presently requires kid 0.9.6, which must be obtained
+separately (for instance, from http://pypi.python.org/pypi/kid/0.9.6).
.. image:: https://sourceforge.net/sflogo.php?group_id=74338&type=10
:target: https://sourceforge.net/projects/sqlobject
http://sourceforge.net/p/sqlobject/sqlobject/ci/9330aef08568f8030798dcb58df99ae2f263cad4
commit 9330aef08568f8030798dcb58df99ae2f263cad4
Author: Oleg Broytman <ph...@ph...>
Date: Thu Jun 30 17:50:37 2016 +0300
SQLObject architecture from the developer's point of view
[skip ci]
diff --git a/docs/DeveloperGuide.txt b/docs/DeveloperGuide.txt
index 283f004..8d6aaa0 100644
--- a/docs/DeveloperGuide.txt
+++ b/docs/DeveloperGuide.txt
@@ -32,6 +32,36 @@ Voila! The packages are globally installed, but the files from the
checkout were not copied into ``site-packages``. See `setuptools
<http://pythonhosted.org/setuptools/>`_ for more.
+Architecture
+============
+
+There are four main kinds of objects in SQLObject: tables, columns,
+connections and converters.
+
+Tables-related objects are in sqlobject/main.py module. There are two
+main classes: SQLObject and sqlmeta; the latter is not a metaclass but a
+parent class for sqlmeta attribute in every class - the authors tried to
+move there all attributes and methods not directly related to columns to
+avoid cluttering table namespace.
+
+Columns are instances of classes from sqlobject/col.py. There are two
+classes for every column: one is for user to include into an instance of
+SQLObject, an instance of the other is automatically created by
+SQLObject metaclass. The two classes are names SOCol and Col; for
+example, SOBoolCol and BoolCol.
+
+Connections are instances of DBConnection class (from
+sqlobject/dbconnection.py ) and its concrete descendants. DBConnection
+contains generic code for generating SQL, working with transactions and
+so on. Concrete connection classes (like PostgresConnection and
+SQLiteConnection) provides backend-specific functionality.
+
+Converters from sqlobject/converters.py aren't visible to the user. They
+are used behind the scene to convert object to SQL strings. The most
+elaborated converter there is StringConverters. Yes, it converts strings
+to strings. It converts python strings to SQL strings using
+backend-specific quoting rules.
+
Style Guide
===========
http://sourceforge.net/p/sqlobject/sqlobject/ci/49e3c5a467631e5c0edd916a3f4530ae6509509c
commit 49e3c5a467631e5c0edd916a3f4530ae6509509c
Author: Oleg Broytman <ph...@ph...>
Date: Thu Jun 30 17:49:54 2016 +0300
Explain why a dev should fork and clone
[skip ci]
diff --git a/docs/DeveloperGuide.txt b/docs/DeveloperGuide.txt
index 1eb8529..283f004 100644
--- a/docs/DeveloperGuide.txt
+++ b/docs/DeveloperGuide.txt
@@ -24,6 +24,10 @@ Then do the same for SQLObject::
$ cd sqlobject
$ sudo python setup.py develop
+Or rather fork it and clone your fork. To develop a feature or a bugfix
+create a separate branch, push it to your fork and create a pull request
+to the original repo. That way CI will be triggered to test your code.
+
Voila! The packages are globally installed, but the files from the
checkout were not copied into ``site-packages``. See `setuptools
<http://pythonhosted.org/setuptools/>`_ for more.
http://sourceforge.net/p/sqlobject/sqlobject/ci/fb6b017b2f8360284287c95ad44d720b49ca8023
commit fb6b017b2f8360284287c95ad44d720b49ca8023
Author: Oleg Broytman <ph...@ph...>
Date: Thu Jun 30 17:48:51 2016 +0300
Change clone URL from SF to github
[skip ci]
diff --git a/docs/DeveloperGuide.txt b/docs/DeveloperGuide.txt
index d339cd4..1eb8529 100644
--- a/docs/DeveloperGuide.txt
+++ b/docs/DeveloperGuide.txt
@@ -20,7 +20,7 @@ First install `FormEncode <http://www.formencode.org/en/latest/download.html>`_:
Then do the same for SQLObject::
- $ git clone git clone git://git.code.sf.net/p/sqlobject/sqlobject
+ $ git clone git clone git://github.com/sqlobject/sqlobject
$ cd sqlobject
$ sudo python setup.py develop
http://sourceforge.net/p/sqlobject/sqlobject/ci/9c92444dc04567dad5c7b3135cd95c3ded274987
commit 9c92444dc04567dad5c7b3135cd95c3ded274987
Author: Oleg Broytman <ph...@ph...>
Date: Thu Jun 30 17:47:51 2016 +0300
Gonna extend the dev guide
[skip ci]
diff --git a/docs/DeveloperGuide.txt b/docs/DeveloperGuide.txt
index 4453733..d339cd4 100644
--- a/docs/DeveloperGuide.txt
+++ b/docs/DeveloperGuide.txt
@@ -7,10 +7,7 @@ SQLObject Developer Guide
.. _start:
-These are some notes on developing SQLObject. I'll try to expand them
-as things come up.
-
- -- Ian Bicking
+These are some notes on developing SQLObject.
Development Installation
========================
-----------------------------------------------------------------------
Summary of changes:
docs/DeveloperGuide.txt | 47 +++++++++++++++++++++++++++++++++++++++--------
docs/download.txt | 2 +-
sqlobject/compat.py | 2 +-
3 files changed, 41 insertions(+), 10 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-06-01 15:50: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 annotated tag, 3.0.0 has been created
at 4ce9a4c7283c0fbc4b574166bc82dcd03fd7a342 (tag)
tagging 27ff3d8110f76cc8b9e4565b3dda5cd767f417ec (commit)
replaces 3.0.0b1
tagged by Oleg Broytman
on Wed Jun 1 18:19:27 2016 +0300
- Log -----------------------------------------------------------------
Release 3.0.0
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABCgAGBQJXTvz/AAoJEG4IC3C2KHsDwAYP/0JBqEE7FedtJmvdDJBFWzuP
9azSlO9Fr9ytMwpkH5DmsOMA0stjZY1YCrMBYNh8D5To8Fr+SuIWQD988zWyETHR
emRjgqg2GAY/PaUmVxCHMvXrVbDbEOO2GA5KmuZfquoJSMU93+uXuoJoIuWaayR+
Lmi3bO8Yxz1e/kL7MNdpS5ZK57E9pH6N0U3fYk4FWm4aiP2jd5D1EY+jIl2+RYy1
VkgwE9PmNGno1lrMHLzS4vmsPO/SJsW5KozE87bRQoR6s3R32aHtZt/dXMeN+fwb
u1mD6NGZfcmRmHOLHWV/KJMbCLFy8I5xj6ePxmGGpeYP48IrO5213aCvlXt5B9aW
QFFzLxjsZZuG+HKsQKK7Ykpzxxcl8y8EvVcWyUDN7FUSGzhxuKk6NIPjv45u3OZ9
ozwnBZ5C8mAYMYMfh5R8N8LHuZQj4SUKM/Sfx0mJYlUgw6ilYI+7OxA02sK3aOje
1oAG14wk5yZgKQorfVEe8oq4gkVRmubK0cVOXZ4eH0IQc+sZ7Zq49xGh5WpvO4Ny
W6DSYXqd47cAZz2b7M++dnTsoY2T6vZeejUVNrWSlq2nz7voC00UA7nUsMhZYJZ+
21q1m71DuvdprNvouC/FtPF3FaTDNQQnTBukxg4ewsumExC0+r5mz33JDq6tzmhA
nJKplElrLdgbTebIsHNI
=F9Ix
-----END PGP SIGNATURE-----
Oleg Broytman (1):
Release 3.0.0
-----------------------------------------------------------------------
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-06-01 15:50:26
|
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 27ff3d8110f76cc8b9e4565b3dda5cd767f417ec (commit)
from 82ce502a904ca579c20c20771c95867553048549 (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/27ff3d8110f76cc8b9e4565b3dda5cd767f417ec
commit 27ff3d8110f76cc8b9e4565b3dda5cd767f417ec
Author: Oleg Broytman <ph...@ph...>
Date: Wed Jun 1 18:18:23 2016 +0300
Release 3.0.0
diff --git a/README.txt b/README.txt
index 49cd23b..2fb247d 100644
--- a/README.txt
+++ b/README.txt
@@ -1,5 +1,5 @@
-SQLObject 3.0.0b1
-=================
+SQLObject 3.0.0
+===============
Thanks for looking at SQLObject. SQLObject is an object-relational
mapper, i.e., a library that will wrap your database tables in Python
diff --git a/docs/News.txt b/docs/News.txt
index 24c4350..3cfec6e 100644
--- a/docs/News.txt
+++ b/docs/News.txt
@@ -10,6 +10,8 @@ News
SQLObject 3.0.0 (master)
========================
+Released 1 Jun 2016.
+
Features
--------
diff --git a/setup.cfg b/setup.cfg
index cdf3bfa..b6e6ba4 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -47,9 +47,9 @@ doc-dir = docs/html
make-dirs = 1
## For live documentation:
-# doc-dest = scp://web.sourceforge.net:/home/project-web/sqlobject/
+doc-dest = scp://web.sourceforge.net:/home/project-web/sqlobject/
## For in-development documentation:
-doc-dest = scp://web.sourceforge.net:/home/project-web/sqlobject/devel/
+# doc-dest = scp://web.sourceforge.net:/home/project-web/sqlobject/devel/
[bdist_wheel]
universal = 1
diff --git a/setup.py b/setup.py
index f5c1ae6..834893d 100755
--- a/setup.py
+++ b/setup.py
@@ -62,7 +62,7 @@ and `GitHub <https://github.com/sqlobject>`_.
:target: https://travis-ci.org/sqlobject/sqlobject
""",
classifiers=[
- "Development Status :: 4 - Beta",
+ "Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: "
"GNU Library or Lesser General Public License (LGPL)",
diff --git a/sqlobject/__version__.py b/sqlobject/__version__.py
index 2f7f570..431113f 100644
--- a/sqlobject/__version__.py
+++ b/sqlobject/__version__.py
@@ -1,8 +1,8 @@
-version = '3.0.0b1'
+version = '3.0.0'
major = 3
minor = 0
micro = 0
-release_level = 'beta'
-serial = 1
+release_level = 'final'
+serial = 0
version_info = (major, minor, micro, release_level, serial)
-----------------------------------------------------------------------
Summary of changes:
README.txt | 4 ++--
docs/News.txt | 2 ++
setup.cfg | 4 ++--
setup.py | 2 +-
sqlobject/__version__.py | 6 +++---
5 files changed, 10 insertions(+), 8 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-05-15 11:43: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 annotated tag, 3.0.0b1 has been created
at 9cd027a41cfbc94e855f97488d8b7a32b497cbcb (tag)
tagging 82ce502a904ca579c20c20771c95867553048549 (commit)
replaces 3.0.0a2
tagged by Oleg Broytman
on Sun May 15 14:25:57 2016 +0300
- Log -----------------------------------------------------------------
Release 3.0.0b1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABCgAGBQJXOFzFAAoJEG4IC3C2KHsDct4QALei1NYX8OJNENs+BtuGg1fz
il5rHVIGMKYnvdn5Bnf6Moa5o8UdfyJ6uKy0OhVz33JJRObfAQW7bQdvvu2O9Z4I
x1jrsuT5Hsa6yCCfpdposRWZVbGSRKJffWCUaaJBGzkoq60RKc/17+P5/6liPLs6
Q2xVaw8f3AyMCKp5W1wA7r7JoOAF0XHk/67BeUa+G3iCZ1gUG/stZG3CZoSpnXSr
ZUzy+VuKjEsZrcwZxStLgUairXpETtysTWUYPDLOYHMJuUCm82nKP3N1IaVbDD7w
oaTFY4QW6lNOSmcumZY1AArzYveTcECXBxfqhpKMPRYswFxNAUy2ClxwlTJ2E75e
JsHPii4QfoufbHmYwBrkop4UZkJcdM2xV74kh65TvxNCtlT7MJNyip6qAnF4vhUi
VVCbqANyVjMCi8iW0CBfEA5p1hLKsdx0uGi7ZYrbPa1iwWKfXfDeUh4moMly0sNC
li7RdTDepEbFy0Hwum9b8x20oks9HOz+mbruJufvLm1aJqKJAogjYXCcTJk8eTuJ
9/Xvx+vCUl9UUi1bJ9VKTGjPB+5qPlNuD+SSeasdfFU4dBrn1BzNDD5suGaBf/Bm
Lycy6snKSS5dyVYet/KrjT3c8ooOZer8XpzNSN1VYItRmzu0Qvv5/+E4+2VO88Lv
esLszDG1mW1kR3g1PwKg
=vp1h
-----END PGP SIGNATURE-----
Neil (4):
Add hash function
Add simple test case for hash implementation
Fix flake8 warning in test case
Fix __name__ typo
Oleg Broytman (26):
Fix argument for super()
Merge branch '1.6' into 1.7
Merge branch '1.7' into 2.2
Merge branch '2.2'
Fix unicode test for Py3
Merge pull request #117 from drnlm/bugs/issue-115-hashable-columns
SourceForge has finally switched to HTTPS
Merge branch '1.6' into 1.7
Merge branch '1.7' into 2.2
SourceForge has finally switched to HTTPS
Merge branch '2.2'
Add sqlbuilder.CONCAT to generate concatenation command
Merge branch '2.2'
Minor refactoring in test_CONCAT
Merge branch '2.2'
Adapt test_CONCAT to Py3
SQLObject 2.2.0 was released 8 May 2016
Merge branch '2.2'
Release 2.2.0
Null-merge branch '2.2'
Fix a bug in sqlbuilder.CONCAT
Merge branch '2.2'
Release 2.2.1
Merge branch '2.2'
Remove announcements for merged features
Release 3.0.0b1
-----------------------------------------------------------------------
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-05-15 11:43: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 82ce502a904ca579c20c20771c95867553048549 (commit)
via 742a466ae8bb0233594542950c774c9bbbfc16be (commit)
from b2a311bed228254fc19ee20d8ee8eae11d07df09 (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/82ce502a904ca579c20c20771c95867553048549
commit 82ce502a904ca579c20c20771c95867553048549
Author: Oleg Broytman <ph...@ph...>
Date: Sun May 15 14:23:59 2016 +0300
Release 3.0.0b1
diff --git a/README.txt b/README.txt
index dabed60..49cd23b 100644
--- a/README.txt
+++ b/README.txt
@@ -1,4 +1,4 @@
-SQLObject 3.0.0a2
+SQLObject 3.0.0b1
=================
Thanks for looking at SQLObject. SQLObject is an object-relational
diff --git a/setup.cfg b/setup.cfg
index 1becbdb..cdf3bfa 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -3,8 +3,8 @@ command_packages = buildutils.pudge_command,
buildutils.publish_command
[egg_info]
-tag_build = dev
-tag_date = 1
+tag_build =
+tag_date = 0
tag_svn_revision = 0
[flake8]
diff --git a/setup.py b/setup.py
index 4099b41..f5c1ae6 100755
--- a/setup.py
+++ b/setup.py
@@ -62,7 +62,7 @@ and `GitHub <https://github.com/sqlobject>`_.
:target: https://travis-ci.org/sqlobject/sqlobject
""",
classifiers=[
- "Development Status :: 3 - Alpha",
+ "Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: "
"GNU Library or Lesser General Public License (LGPL)",
@@ -81,8 +81,7 @@ and `GitHub <https://github.com/sqlobject>`_.
maintainer="Oleg Broytman",
maintainer_email="ph...@ph...",
url="http://sqlobject.org/devel/",
- download_url="https://pypi.python.org/pypi/SQLObject/"
- "%sdev-20151224" % version,
+ download_url="https://pypi.python.org/pypi/SQLObject/%s" % version,
license="LGPL",
packages=["sqlobject"] +
['sqlobject.%s' % package for package in subpackages],
diff --git a/sqlobject/__version__.py b/sqlobject/__version__.py
index 05e6604..2f7f570 100644
--- a/sqlobject/__version__.py
+++ b/sqlobject/__version__.py
@@ -1,8 +1,8 @@
-version = '3.0.0a2'
+version = '3.0.0b1'
major = 3
minor = 0
micro = 0
-release_level = 'alpha'
-serial = 2
+release_level = 'beta'
+serial = 1
version_info = (major, minor, micro, release_level, serial)
http://sourceforge.net/p/sqlobject/sqlobject/ci/742a466ae8bb0233594542950c774c9bbbfc16be
commit 742a466ae8bb0233594542950c774c9bbbfc16be
Author: Oleg Broytman <ph...@ph...>
Date: Fri May 13 19:54:58 2016 +0300
Remove announcements for merged features
These features are already published in 2.2.
diff --git a/docs/News.txt b/docs/News.txt
index 32906c8..24c4350 100644
--- a/docs/News.txt
+++ b/docs/News.txt
@@ -16,18 +16,11 @@ Features
* Support for Python 2 and Python 3 with one codebase!
(Python version >= 3.4 currently required.)
-* Columns for ForeignKey are created using idType of the referenced
- table -- merged from `SQLObject 2.2.0`_.
-
Minor features
--------------
-* Use fdb adapter for Firebird.
-
* PyDispatcher (>=2.0.4) was made an external dependency.
-* Document MSSQL server versions -- merged from `SQLObject 2.2.0`_.
-
Development
-----------
@@ -39,14 +32,6 @@ Documentation
* Documentation is published at http://sqlobject.readthedocs.org/ in
Sphinx format.
-Tests
------
-
-* Speedup SQLite connections in tests -- merged from `SQLObject 2.2.0`_.
-
-* Added new test helper setupCyclicClasses to setup classes with mutual
- references -- merged from `SQLObject 2.2.0`_.
-
SQLObject 2.2.1
===============
-----------------------------------------------------------------------
Summary of changes:
README.txt | 2 +-
docs/News.txt | 15 ---------------
setup.cfg | 4 ++--
setup.py | 5 ++---
sqlobject/__version__.py | 6 +++---
5 files changed, 8 insertions(+), 24 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-05-10 19:34: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 annotated tag, 2.2.1 has been created
at f94b9291a7fe0dd454c3300a97ccc54f780b6a9d (tag)
tagging c3c82cc58dbb861a228e3f355f69c07c28e36462 (commit)
replaces 2.2.0
tagged by Oleg Broytman
on Tue May 10 22:17:44 2016 +0300
- Log -----------------------------------------------------------------
Release 2.2.1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABCgAGBQJXMjPYAAoJEG4IC3C2KHsD8LcP/0I7zSSMsiCfAfvCuRCS340Q
jkL4J5bNlfZWaqtF038DlRZabwl7pXz6JX4knD+vejCUN39DVuTowPo6dGtBDA0e
9TcSXj033gguyI2H/hNOGjcvYCt4DEsTFu8WIAkpaeUAU8HXKrUYaNUHod0lLAnU
4n0JpiomekSQM927CUWQYSxCCkTs9Y+JhYnGK3FDgoUqm7D9VL9YWciqgqWCUr+n
wtw9/iLtS13vY2SuCGpZ0Noj8ddAsJl+h05wW2KepE1PpcEihaZzVAR4YhiLq0BC
DtrDYUwZtm8uAfjikqAHuOE2EUSB8CnopHT6LGpERrH+hXcXsKmmRUUtTB2E5uCV
Qi0KQFE9+WMyjGIhan0oDAJSe+iA8Mo9WY6JENb9g8h3AgyPH/mhelUir/N7tJpD
1YC4QMDCthc5HTksQabs0cvCWHH/mDqSBtSgR2uL2BeucaH8romcUqNF/JmNQ28v
HwnNOfd7iVMpyk4quHF8lvtmnW5v5rFI/HcfGfef9MNRSwuZfSeIQtFIcsAaHjlH
eTkGYSSBAZ5YC0+7XbUHuad901D1d59MH/eus8rLt9zsfj6eXmcKlhHokN3yeRL1
+fCjkZy8UvfJt+B8hMYuPdrWKKynnUuFSBgucjm94qdz4XcQFvCa5hL4JKSQ2bq4
cBKBqj78IByfDcvdTIKq
=xKBY
-----END PGP SIGNATURE-----
Oleg Broytman (2):
Fix a bug in sqlbuilder.CONCAT
Release 2.2.1
-----------------------------------------------------------------------
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-05-10 19:34: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 b2a311bed228254fc19ee20d8ee8eae11d07df09 (commit)
via c3c82cc58dbb861a228e3f355f69c07c28e36462 (commit)
via 2459efe7e9f6179ab11c7f3dde1bca38640b3d94 (commit)
via 4aa1c01c86e66964d9ef768a092dafe55bb06e88 (commit)
from 696519214777210f631382089d1f60ce10989d75 (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/b2a311bed228254fc19ee20d8ee8eae11d07df09
commit b2a311bed228254fc19ee20d8ee8eae11d07df09
Merge: 2459efe c3c82cc
Author: Oleg Broytman <ph...@ph...>
Date: Tue May 10 22:17:23 2016 +0300
Merge branch '2.2'
http://sourceforge.net/p/sqlobject/sqlobject/ci/2459efe7e9f6179ab11c7f3dde1bca38640b3d94
commit 2459efe7e9f6179ab11c7f3dde1bca38640b3d94
Merge: 6965192 4aa1c01
Author: Oleg Broytman <ph...@ph...>
Date: Mon May 9 00:25:31 2016 +0300
Merge branch '2.2'
diff --cc docs/News.txt
index 6239a20,f982beb..1aec5cd
--- a/docs/News.txt
+++ b/docs/News.txt
@@@ -7,46 -7,11 +7,51 @@@ New
.. _start:
+SQLObject 3.0.0 (master)
+========================
+
+Features
+--------
+
+* Support for Python 2 and Python 3 with one codebase!
+ (Python version >= 3.4 currently required.)
+
+* Columns for ForeignKey are created using idType of the referenced
+ table -- merged from `SQLObject 2.2.0`_.
+
+Minor features
+--------------
+
+* Use fdb adapter for Firebird.
+
+* PyDispatcher (>=2.0.4) was made an external dependency.
+
+* Document MSSQL server versions -- merged from `SQLObject 2.2.0`_.
+
+Development
+-----------
+
+* Source code was made flake8-clean.
+
+Documentation
+-------------
+
+* Documentation is published at http://sqlobject.readthedocs.org/ in
+ Sphinx format.
+
+Tests
+-----
+
+* Speedup SQLite connections in tests -- merged from `SQLObject 2.2.0`_.
+
+* Added new test helper setupCyclicClasses to setup classes with mutual
+ references -- merged from `SQLObject 2.2.0`_.
+
+ SQLObject 2.2.1
+ ===============
+
+ * Fix a bug in sqlbuilder.CONCAT.
+
SQLObject 2.2.0
===============
diff --cc sqlobject/sqlbuilder.py
index 3a11325,ce93b4e..c53580b
--- a/sqlobject/sqlbuilder.py
+++ b/sqlobject/sqlbuilder.py
@@@ -1082,13 -930,10 +1082,13 @@@ def _quote_like_special(s, db)
escape = r'\\'
else:
escape = '\\'
- s = s.replace('\\', r'\\').replace('%', escape+'%').replace('_', escape+'_')
+ s = s.replace('\\', r'\\').\
+ replace('%', escape + '%').\
+ replace('_', escape + '_')
return s
+
- class CONCAT:
+ class CONCAT(SQLExpression):
def __init__(self, *expressions):
self.expressions = expressions
-----------------------------------------------------------------------
Summary of changes:
docs/News.txt | 7 +++++++
sqlobject/sqlbuilder.py | 2 +-
2 files changed, 8 insertions(+), 1 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-05-10 19:34: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, 2.2 has been updated
via c3c82cc58dbb861a228e3f355f69c07c28e36462 (commit)
via 4aa1c01c86e66964d9ef768a092dafe55bb06e88 (commit)
from c720a21c04024972cee5497a45eb0d5ed201b217 (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 -----------------------------------------------------------------
-----------------------------------------------------------------------
Summary of changes:
README.txt | 2 +-
docs/News.txt | 7 +++++++
sqlobject/__version__.py | 4 ++--
sqlobject/sqlbuilder.py | 2 +-
4 files changed, 11 insertions(+), 4 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-05-08 07:19:31
|
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, 2.2.0 has been created
at 3314bc4d7c09829b09c4e122dd0df705a542de9b (tag)
tagging c720a21c04024972cee5497a45eb0d5ed201b217 (commit)
replaces 2.2.0b2
tagged by Oleg Broytman
on Sun May 8 09:59:52 2016 +0300
- Log -----------------------------------------------------------------
Release 2.2.0
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABCgAGBQJXLuPpAAoJEG4IC3C2KHsD7HkP/3TovIUbPDRox+wK+GTS0NaP
Z22c6sMRBNYjlf/6ksBkRkNiTNewDz5L9+nf7alsCZgNXvHWI2Jnsecayr8FeVuu
1Z5vnCRYU3JdWRcGS7AJE3aSxTp7dCmoTVr6QjjLuZXMg2kRLEhyoG2Cv7RxMRYz
CUQ+8j7EtLle7qS3fOzEKO6xRSC4x4wSjCNfoZhuRU3vyaEiYjFB48r1kkOotP3b
6RttOWA98lBj9tREJusvn3/fUaci4pvwMWSiQZJJJt0AQxp7I6jAV5chMvTZd+Te
2UQYfslFnTbhhp2JJOjIqQzM7wvsDeAZG7O3d5qO51J+Y5h9jsja/V0sDgP6tTdU
Kw4r7ChKJYUwO80zWi+sG3j1HQDuHJyYaKp9JDt+pjKmqG7l3STDZni7qRUzA6Q7
qIfE2f4r9/LR3N7i8D+PfATyHDTDtTHzO9i+A5YVK+N28Ltckzo+ObERMsXV1XuN
lHYRx8lStP6aZQXwkaNWzDRwzOAP4SVowQyapKsADnC3zHBxvGgThiVtWPoiVj4q
qvo+O8lAZNILWmQqDXgSh+XycRsqhMVv0LlSwVyUVTk5lL+wHwefAmjwwD/7/xxj
xINfalP/7SFSD7P7Bsxb0EswhWe9rG5O8jre881kdUzkQREgu8WD6kuUfhMDkIQd
RKaaib2KLCzm1dliy5QH
=iLJr
-----END PGP SIGNATURE-----
Oleg Broytman (11):
Fix argument for super()
Merge branch '1.6' into 1.7
Merge branch '1.7' into 2.2
SourceForge has finally switched to HTTPS
Merge branch '1.6' into 1.7
Merge branch '1.7' into 2.2
SourceForge has finally switched to HTTPS
Add sqlbuilder.CONCAT to generate concatenation command
Minor refactoring in test_CONCAT
SQLObject 2.2.0 was released 8 May 2016
Release 2.2.0
-----------------------------------------------------------------------
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-05-08 07:18: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 696519214777210f631382089d1f60ce10989d75 (commit)
via c720a21c04024972cee5497a45eb0d5ed201b217 (commit)
via 0ead1105ad9cb19e39856008d3388120a879cb1d (commit)
via 612ad587fe04c0fa5530d173b61f53e484f95439 (commit)
from 814209b369b60280d008f997b2b1960285b935ac (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/696519214777210f631382089d1f60ce10989d75
commit 696519214777210f631382089d1f60ce10989d75
Merge: 0ead110 c720a21
Author: Oleg Broytman <ph...@ph...>
Date: Sun May 8 09:59:05 2016 +0300
Null-merge branch '2.2'
http://sourceforge.net/p/sqlobject/sqlobject/ci/0ead1105ad9cb19e39856008d3388120a879cb1d
commit 0ead1105ad9cb19e39856008d3388120a879cb1d
Merge: 814209b 612ad58
Author: Oleg Broytman <ph...@ph...>
Date: Sun May 8 09:49:12 2016 +0300
Merge branch '2.2'
-----------------------------------------------------------------------
Summary of changes:
docs/News.txt | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-05-08 07:18:49
|
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, 2.2 has been updated
via c720a21c04024972cee5497a45eb0d5ed201b217 (commit)
via 612ad587fe04c0fa5530d173b61f53e484f95439 (commit)
from 42266faeb01d6cdb772d9b258e09dcf503d4b874 (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 -----------------------------------------------------------------
-----------------------------------------------------------------------
Summary of changes:
README.txt | 4 ++--
docs/News.txt | 2 ++
setup.cfg | 4 ++--
setup.py | 4 ++--
sqlobject/__version__.py | 6 +++---
5 files changed, 11 insertions(+), 9 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-05-07 11:09:58
|
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 814209b369b60280d008f997b2b1960285b935ac (commit)
via 28dea0fe7451d10ddc9ba74e0d24f5fd450f3413 (commit)
via 42266faeb01d6cdb772d9b258e09dcf503d4b874 (commit)
from 573c8075d9a0025a7cf34b03bd146dd4384c35eb (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/814209b369b60280d008f997b2b1960285b935ac
commit 814209b369b60280d008f997b2b1960285b935ac
Author: Oleg Broytman <ph...@ph...>
Date: Sat May 7 13:42:40 2016 +0300
Adapt test_CONCAT to Py3
MySQL returns bytes while Pg and SQLite return strings; decode bytes
to a string.
diff --git a/sqlobject/tests/test_sqlbuilder.py b/sqlobject/tests/test_sqlbuilder.py
index e99f9ef..d494453 100644
--- a/sqlobject/tests/test_sqlbuilder.py
+++ b/sqlobject/tests/test_sqlbuilder.py
@@ -1,4 +1,5 @@
from sqlobject import *
+from sqlobject.compat import PY2
from sqlobject.sqlbuilder import *
from sqlobject.tests.dbtest import *
@@ -104,4 +105,6 @@ def test_CONCAT():
connection = getConnection()
rows = connection.queryAll(connection.sqlrepr(select))
result = rows[0][0]
+ if not PY2 and not isinstance(result, str):
+ result = result.decode('ascii')
assert result == "test-suffix"
http://sourceforge.net/p/sqlobject/sqlobject/ci/28dea0fe7451d10ddc9ba74e0d24f5fd450f3413
commit 28dea0fe7451d10ddc9ba74e0d24f5fd450f3413
Merge: 573c807 42266fa
Author: Oleg Broytman <ph...@ph...>
Date: Sat May 7 13:38:04 2016 +0300
Merge branch '2.2'
diff --cc sqlobject/tests/test_sqlbuilder.py
index e1dbc34,5a112ae..e99f9ef
--- a/sqlobject/tests/test_sqlbuilder.py
+++ b/sqlobject/tests/test_sqlbuilder.py
@@@ -87,11 -74,12 +87,13 @@@ def test_str_or_sqlrepr()
assert sqlrepr(delete, 'sqlite') == \
"DELETE FROM employees"
+
def test_CONCAT():
+ setupClass(TestSQLBuilder)
+ TestSQLBuilder(name='test', value=42)
+
assert sqlrepr(CONCAT('a', 'b'), 'mysql') == "CONCAT('a', 'b')"
assert sqlrepr(CONCAT('a', 'b'), 'sqlite') == "'a' || 'b'"
- setupClass(TestSQLBuilder)
assert sqlrepr(CONCAT('prefix', TestSQLBuilder.q.name), 'mysql') == \
"CONCAT('prefix', test_sql_builder.name)"
assert sqlrepr(CONCAT('prefix', TestSQLBuilder.q.name), 'sqlite') == \
-----------------------------------------------------------------------
Summary of changes:
sqlobject/tests/test_sqlbuilder.py | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-05-07 11:09:56
|
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, 2.2 has been updated
via 42266faeb01d6cdb772d9b258e09dcf503d4b874 (commit)
from dfa8edbc095aa717ea2a5af3f1c0f40224f338a4 (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 -----------------------------------------------------------------
-----------------------------------------------------------------------
Summary of changes:
sqlobject/tests/test_sqlbuilder.py | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-05-07 03:01:27
|
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 573c8075d9a0025a7cf34b03bd146dd4384c35eb (commit)
via dfa8edbc095aa717ea2a5af3f1c0f40224f338a4 (commit)
from 6cc76f06612f0adfc3858d515767a712a5465f2a (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/573c8075d9a0025a7cf34b03bd146dd4384c35eb
commit 573c8075d9a0025a7cf34b03bd146dd4384c35eb
Merge: 6cc76f0 dfa8edb
Author: Oleg Broytman <ph...@ph...>
Date: Sat May 7 05:55:52 2016 +0300
Merge branch '2.2'
diff --cc sqlobject/sqlbuilder.py
index fd28c29,355ae57..3a11325
--- a/sqlobject/sqlbuilder.py
+++ b/sqlobject/sqlbuilder.py
@@@ -1082,17 -930,24 +1082,28 @@@ def _quote_like_special(s, db)
escape = r'\\'
else:
escape = '\\'
- s = s.replace('\\', r'\\').replace('%', escape+'%').replace('_', escape+'_')
+ s = s.replace('\\', r'\\').\
+ replace('%', escape + '%').\
+ replace('_', escape + '_')
return s
+
+ class CONCAT:
+ def __init__(self, *expressions):
+ self.expressions = expressions
+
+ def __sqlrepr__(self, db):
+ values = [sqlrepr(expr, db) for expr in self.expressions]
+ if db == "mysql":
+ return "CONCAT(%s)" % ", ".join(values)
+ else:
+ return " || ".join(values)
+
########################################
-## SQL JOINs
+# SQL JOINs
########################################
+
class SQLJoin(SQLExpression):
def __init__(self, table1, table2, op=','):
if hasattr(table1, 'sqlmeta'):
diff --cc sqlobject/tests/test_sqlbuilder.py
index fea08ae,e5bf3ef..e1dbc34
--- a/sqlobject/tests/test_sqlbuilder.py
+++ b/sqlobject/tests/test_sqlbuilder.py
@@@ -86,3 -73,18 +86,19 @@@ def test_str_or_sqlrepr()
delete = Delete('employees', where=None)
assert sqlrepr(delete, 'sqlite') == \
"DELETE FROM employees"
+
++
+ def test_CONCAT():
+ assert sqlrepr(CONCAT('a', 'b'), 'mysql') == "CONCAT('a', 'b')"
+ assert sqlrepr(CONCAT('a', 'b'), 'sqlite') == "'a' || 'b'"
+ setupClass(TestSQLBuilder)
+ assert sqlrepr(CONCAT('prefix', TestSQLBuilder.q.name), 'mysql') == \
+ "CONCAT('prefix', test_sql_builder.name)"
+ assert sqlrepr(CONCAT('prefix', TestSQLBuilder.q.name), 'sqlite') == \
+ "'prefix' || test_sql_builder.name"
+ TestSQLBuilder(name='test', value=42)
+ select = Select([CONCAT(TestSQLBuilder.q.name, '-suffix')],
+ staticTables=['test_sql_builder'])
+ connection = getConnection()
+ assert connection.queryAll(connection.sqlrepr(select))[0][0] == \
+ "test-suffix"
-----------------------------------------------------------------------
Summary of changes:
docs/News.txt | 3 +++
sqlobject/sqlbuilder.py | 11 +++++++++++
sqlobject/tests/test_sqlbuilder.py | 16 ++++++++++++++++
3 files changed, 30 insertions(+), 0 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-05-07 03:01:25
|
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, 2.2 has been updated
via dfa8edbc095aa717ea2a5af3f1c0f40224f338a4 (commit)
from 158a6ecc3fd37f8751b904db3776f646efe9cfdd (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 -----------------------------------------------------------------
-----------------------------------------------------------------------
Summary of changes:
docs/News.txt | 3 +++
sqlobject/sqlbuilder.py | 11 +++++++++++
sqlobject/tests/test_sqlbuilder.py | 15 +++++++++++++++
3 files changed, 29 insertions(+), 0 deletions(-)
hooks/post-receive
--
SQLObject development repository
|
|
From: Oleg B. <no...@so...> - 2016-02-16 18:17:31
|
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 6cc76f06612f0adfc3858d515767a712a5465f2a (commit)
via 158a6ecc3fd37f8751b904db3776f646efe9cfdd (commit)
via 52da711ccfefe9714132086bb3b4bf1a691e9300 (commit)
via 8d282f7603f95b8ac8706f3ce216d000f4742f65 (commit)
via 7ba9175dd2203ce3e4665b11802c8bd963f5b46d (commit)
from 9238f42a2c13ffb41f044b33f4d4c6bfb1c05c5c (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/6cc76f06612f0adfc3858d515767a712a5465f2a
commit 6cc76f06612f0adfc3858d515767a712a5465f2a
Merge: 9238f42 158a6ec
Author: Oleg Broytman <ph...@ph...>
Date: Tue Feb 16 20:59:54 2016 +0300
Merge branch '2.2'
diff --cc setup.py
index b532d22,c8a1f47..4099b41
--- a/setup.py
+++ b/setup.py
@@@ -52,13 -52,13 +52,13 @@@ more abstract, and provides substantia
applications.
Supports MySQL, PostgreSQL, SQLite, Firebird, Sybase, MSSQL and MaxDB (SAPDB).
-Python 2.6 or 2.7 is required.
+Python 2.6, 2.7 or 3.4+ is required.
For development see the projects at
- `SourceForge <http://sourceforge.net/projects/sqlobject/>`_
+ `SourceForge <https://sourceforge.net/projects/sqlobject/>`_
and `GitHub <https://github.com/sqlobject>`_.
-.. image:: https://travis-ci.org/sqlobject/sqlobject.svg?branch=2.2
+.. image:: https://travis-ci.org/sqlobject/sqlobject.svg?branch=master
:target: https://travis-ci.org/sqlobject/sqlobject
""",
classifiers=[
-----------------------------------------------------------------------
Summary of changes:
docs/Authors.txt | 4 ++--
docs/DeveloperGuide.txt | 4 ++--
docs/FAQ.txt | 4 ++--
docs/Inheritance.txt | 4 ++--
docs/News.txt | 4 ++--
docs/News1.txt | 4 ++--
docs/News2.txt | 4 ++--
docs/News3.txt | 4 ++--
docs/News4.txt | 4 ++--
docs/SQLBuilder.txt | 4 ++--
docs/SQLObject.txt | 6 +++---
docs/SelectResults.txt | 4 ++--
docs/TODO.txt | 4 ++--
docs/Versioning.txt | 4 ++--
docs/Views.txt | 4 ++--
docs/community.txt | 8 ++++----
docs/download.txt | 6 +++---
docs/index.txt | 4 ++--
docs/links.txt | 6 +++---
docs/sqlobject-admin.txt | 4 ++--
setup.py | 2 +-
21 files changed, 46 insertions(+), 46 deletions(-)
hooks/post-receive
--
SQLObject development repository
|