sqlobject-cvs Mailing List for SQLObject (Page 40)
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
(9) |
Apr
(74) |
May
(29) |
Jun
(16) |
Jul
(28) |
Aug
(10) |
Sep
(57) |
Oct
(9) |
Nov
(29) |
Dec
(12) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(7) |
Feb
(14) |
Mar
(6) |
Apr
(3) |
May
(12) |
Jun
(34) |
Jul
(9) |
Aug
(29) |
Sep
(22) |
Oct
(2) |
Nov
(15) |
Dec
(52) |
2005 |
Jan
(47) |
Feb
(78) |
Mar
(14) |
Apr
(35) |
May
(33) |
Jun
(16) |
Jul
(26) |
Aug
(63) |
Sep
(40) |
Oct
(96) |
Nov
(96) |
Dec
(123) |
2006 |
Jan
(159) |
Feb
(144) |
Mar
(64) |
Apr
(31) |
May
(88) |
Jun
(48) |
Jul
(16) |
Aug
(64) |
Sep
(87) |
Oct
(92) |
Nov
(56) |
Dec
(76) |
2007 |
Jan
(94) |
Feb
(103) |
Mar
(126) |
Apr
(123) |
May
(85) |
Jun
(11) |
Jul
(130) |
Aug
(47) |
Sep
(65) |
Oct
(70) |
Nov
(12) |
Dec
(11) |
2008 |
Jan
(30) |
Feb
(55) |
Mar
(88) |
Apr
(20) |
May
(50) |
Jun
|
Jul
(38) |
Aug
(1) |
Sep
(9) |
Oct
(5) |
Nov
(6) |
Dec
(39) |
2009 |
Jan
(8) |
Feb
(16) |
Mar
(3) |
Apr
(33) |
May
(44) |
Jun
(1) |
Jul
(10) |
Aug
(33) |
Sep
(74) |
Oct
(22) |
Nov
|
Dec
(15) |
2010 |
Jan
(28) |
Feb
(22) |
Mar
(46) |
Apr
(29) |
May
(1) |
Jun
(1) |
Jul
(27) |
Aug
(8) |
Sep
(5) |
Oct
(33) |
Nov
(24) |
Dec
(41) |
2011 |
Jan
(4) |
Feb
(12) |
Mar
(35) |
Apr
(29) |
May
(19) |
Jun
(16) |
Jul
(32) |
Aug
(25) |
Sep
(5) |
Oct
(11) |
Nov
(21) |
Dec
(12) |
2012 |
Jan
(3) |
Feb
(4) |
Mar
(20) |
Apr
(4) |
May
(25) |
Jun
(13) |
Jul
|
Aug
|
Sep
(2) |
Oct
(25) |
Nov
(9) |
Dec
(1) |
2013 |
Jan
(6) |
Feb
(8) |
Mar
|
Apr
(10) |
May
(31) |
Jun
(7) |
Jul
(18) |
Aug
(33) |
Sep
(4) |
Oct
(16) |
Nov
|
Dec
(27) |
2014 |
Jan
(2) |
Feb
|
Mar
|
Apr
(11) |
May
(39) |
Jun
(8) |
Jul
(11) |
Aug
(4) |
Sep
|
Oct
(27) |
Nov
|
Dec
(71) |
2015 |
Jan
(17) |
Feb
(47) |
Mar
(33) |
Apr
|
May
|
Jun
(9) |
Jul
(7) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(8) |
2016 |
Jan
(4) |
Feb
(4) |
Mar
|
Apr
|
May
(12) |
Jun
(7) |
Jul
(9) |
Aug
(31) |
Sep
(8) |
Oct
(3) |
Nov
(15) |
Dec
(1) |
2017 |
Jan
(13) |
Feb
(7) |
Mar
(14) |
Apr
(8) |
May
(10) |
Jun
(4) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
(8) |
Nov
(4) |
Dec
(5) |
2018 |
Jan
(2) |
Feb
(8) |
Mar
|
Apr
(4) |
May
|
Jun
(6) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
2019 |
Jan
(1) |
Feb
(16) |
Mar
(1) |
Apr
(3) |
May
(5) |
Jun
(1) |
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
(1) |
Dec
(3) |
2020 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(2) |
Nov
|
Dec
(2) |
2021 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(6) |
Oct
(1) |
Nov
(1) |
Dec
(4) |
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(3) |
Sep
(2) |
Oct
(2) |
Nov
(4) |
Dec
|
2024 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
(9) |
2025 |
Jan
|
Feb
(4) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <sub...@co...> - 2011-03-22 15:47:24
|
Author: phd Date: Tue Mar 22 09:47:16 2011 New Revision: 4363 Log: Going to release SQLObject 0.15.1. Modified: SQLObject/branches/0.15/docs/News.txt Modified: SQLObject/branches/0.15/docs/News.txt ============================================================================== --- SQLObject/branches/0.15/docs/News.txt Mon Mar 21 12:05:30 2011 (r4362) +++ SQLObject/branches/0.15/docs/News.txt Tue Mar 22 09:47:16 2011 (r4363) @@ -10,9 +10,11 @@ SQLObject 0.15.1 ================ +Released 22 Mar 2011. + * A bug was fixed in MSSQLConnection. -* A bugfix was ported from `SQLObject 0.14.2`_. +* A minor bug was fixed in sqlbuilder.Union. SQLObject 0.15.0 ================ |
From: <sub...@co...> - 2011-03-21 18:05:37
|
Author: phd Date: Mon Mar 21 12:05:30 2011 New Revision: 4362 Log: Merged revision 4361 from branch 1.0: a new module ``__version__.py`` was added. Added: SQLObject/trunk/sqlobject/__version__.py - copied, changed from r4361, SQLObject/branches/1.0/sqlobject/__version__.py Modified: SQLObject/trunk/docs/News.txt SQLObject/trunk/docs/TODO.txt SQLObject/trunk/setup.py SQLObject/trunk/sqlobject/__init__.py Modified: SQLObject/trunk/docs/News.txt ============================================================================== --- SQLObject/trunk/docs/News.txt Mon Mar 21 11:58:57 2011 (r4361) +++ SQLObject/trunk/docs/News.txt Mon Mar 21 12:05:30 2011 (r4362) @@ -21,6 +21,10 @@ URIs if they are properly %-encoded, and DB URIs are automatically unquoted. +* A new module ``__version__.py`` was added. New variables ``version`` + (string) and ``version_info`` (5-tuple: major, minor, micro, release + level, serial) are imported into ``sqlobject`` namespace. + * In SQLite, id columns are made AUTOINCREMENT. * Parameter ``backend`` in DB URI is no longer supported, use parameter Modified: SQLObject/trunk/docs/TODO.txt ============================================================================== --- SQLObject/trunk/docs/TODO.txt Mon Mar 21 11:58:57 2011 (r4361) +++ SQLObject/trunk/docs/TODO.txt Mon Mar 21 12:05:30 2011 (r4362) @@ -1,8 +1,6 @@ TODO ---- -* __version__.py - * Release 1.0. * Decorators @classmethod and @staticmethod. Modified: SQLObject/trunk/setup.py ============================================================================== --- SQLObject/trunk/setup.py Mon Mar 21 11:58:57 2011 (r4361) +++ SQLObject/trunk/setup.py Mon Mar 21 12:05:30 2011 (r4362) @@ -9,6 +9,8 @@ from distutils.core import setup is_setuptools = False +from sqlobject import version + subpackages = ['firebird', 'include', 'include.pydispatch', 'inheritance', 'manager', 'maxdb', 'mysql', 'mssql', 'postgres', 'rdbhost', 'sqlite', 'sybase', 'util', 'versioning'] @@ -21,7 +23,7 @@ """ setup(name="SQLObject", - version="1.1", + version=version, description="Object-Relational Manager, aka database wrapper", long_description="""\ SQLObject is a popular *Object Relational Manager* for providing an @@ -35,7 +37,7 @@ Supports MySQL, PostgreSQL, SQLite, Firebird, Sybase, MSSQL and MaxDB (SAPDB). For development see the `subversion repository -<http://svn.colorstudy.com/SQLObject/trunk#egg=SQLObject-1.1dev>`_ +<http://svn.colorstudy.com/SQLObject/trunk>`_ """, classifiers=[ "Development Status :: 5 - Production/Stable", @@ -49,7 +51,7 @@ author="Ian Bicking", author_email="ia...@co...", url="http://sqlobject.org/devel/", - download_url="http://cheeseshop.python.org/pypi/SQLObject/1.1", + download_url="http://cheeseshop.python.org/pypi/SQLObject/%s" % version, license="LGPL", packages=["sqlobject"] + ['sqlobject.%s' % package for package in subpackages], scripts=["scripts/sqlobject-admin", "scripts/sqlobject-convertOldURI"], Modified: SQLObject/trunk/sqlobject/__init__.py ============================================================================== --- SQLObject/trunk/sqlobject/__init__.py Mon Mar 21 11:58:57 2011 (r4361) +++ SQLObject/trunk/sqlobject/__init__.py Mon Mar 21 12:05:30 2011 (r4362) @@ -1,6 +1,7 @@ """ SQLObject 1.1 """ +from __version__ import version, version_info from col import * from index import * Copied and modified: SQLObject/trunk/sqlobject/__version__.py (from r4361, SQLObject/branches/1.0/sqlobject/__version__.py) ============================================================================== --- SQLObject/branches/1.0/sqlobject/__version__.py Mon Mar 21 11:58:57 2011 (r4361, copy source) +++ SQLObject/trunk/sqlobject/__version__.py Mon Mar 21 12:05:30 2011 (r4362) @@ -1,7 +1,7 @@ -version = '1.0' +version = '1.1' major = 1 -minor = 0 +minor = 1 micro = 0 release_level = 'branch' serial = 0 |
From: <sub...@co...> - 2011-03-21 17:59:06
|
Author: phd Date: Mon Mar 21 11:58:57 2011 New Revision: 4361 Log: A new module ``__version__.py`` was added. Added: SQLObject/branches/1.0/sqlobject/__version__.py Modified: SQLObject/branches/1.0/docs/News.txt SQLObject/branches/1.0/docs/TODO.txt SQLObject/branches/1.0/setup.py SQLObject/branches/1.0/sqlobject/__init__.py Modified: SQLObject/branches/1.0/docs/News.txt ============================================================================== --- SQLObject/branches/1.0/docs/News.txt Thu Mar 17 10:16:37 2011 (r4360) +++ SQLObject/branches/1.0/docs/News.txt Mon Mar 21 11:58:57 2011 (r4361) @@ -21,6 +21,10 @@ URIs if they are properly %-encoded, and DB URIs are automatically unquoted. +* A new module ``__version__.py`` was added. New variables ``version`` + (string) and ``version_info`` (5-tuple: major, minor, micro, release + level, serial) are imported into ``sqlobject`` namespace. + * In SQLite, id columns are made AUTOINCREMENT. * Parameter ``backend`` in DB URI is no longer supported, use parameter Modified: SQLObject/branches/1.0/docs/TODO.txt ============================================================================== --- SQLObject/branches/1.0/docs/TODO.txt Thu Mar 17 10:16:37 2011 (r4360) +++ SQLObject/branches/1.0/docs/TODO.txt Mon Mar 21 11:58:57 2011 (r4361) @@ -1,8 +1,6 @@ TODO ---- -* __version__.py - * Release 1.0. * Decorators @classmethod and @staticmethod. Modified: SQLObject/branches/1.0/setup.py ============================================================================== --- SQLObject/branches/1.0/setup.py Thu Mar 17 10:16:37 2011 (r4360) +++ SQLObject/branches/1.0/setup.py Mon Mar 21 11:58:57 2011 (r4361) @@ -9,6 +9,8 @@ from distutils.core import setup is_setuptools = False +from sqlobject import version + subpackages = ['firebird', 'include', 'include.pydispatch', 'inheritance', 'manager', 'maxdb', 'mysql', 'mssql', 'postgres', 'rdbhost', 'sqlite', 'sybase', 'util', 'versioning'] @@ -21,7 +23,7 @@ """ setup(name="SQLObject", - version="1.0", + version=version, description="Object-Relational Manager, aka database wrapper", long_description="""\ SQLObject is a popular *Object Relational Manager* for providing an @@ -35,8 +37,8 @@ Supports MySQL, PostgreSQL, SQLite, Firebird, Sybase, MSSQL and MaxDB (SAPDB). For development see the `subversion repository -<http://svn.colorstudy.com/SQLObject/branches/1.0/#egg=SQLObject-1.0dev>`_ -""", +<http://svn.colorstudy.com/SQLObject/branches/%s/>`_ +""" % version, classifiers=[ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", @@ -49,7 +51,7 @@ author="Ian Bicking", author_email="ia...@co...", url="http://sqlobject.org/", - download_url="http://cheeseshop.python.org/pypi/SQLObject/1.0", + download_url="http://cheeseshop.python.org/pypi/SQLObject/%s" % version, license="LGPL", packages=["sqlobject"] + ['sqlobject.%s' % package for package in subpackages], scripts=["scripts/sqlobject-admin", "scripts/sqlobject-convertOldURI"], Modified: SQLObject/branches/1.0/sqlobject/__init__.py ============================================================================== --- SQLObject/branches/1.0/sqlobject/__init__.py Thu Mar 17 10:16:37 2011 (r4360) +++ SQLObject/branches/1.0/sqlobject/__init__.py Mon Mar 21 11:58:57 2011 (r4361) @@ -1,6 +1,7 @@ """ SQLObject 1.0 """ +from __version__ import version, version_info from col import * from index import * Added: SQLObject/branches/1.0/sqlobject/__version__.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ SQLObject/branches/1.0/sqlobject/__version__.py Mon Mar 21 11:58:57 2011 (r4361) @@ -0,0 +1,8 @@ + +version = '1.0' +major = 1 +minor = 0 +micro = 0 +release_level = 'branch' +serial = 0 +version_info = (major, minor, micro, release_level, serial) |
From: <sub...@co...> - 2011-03-17 16:16:43
|
Author: phd Date: Thu Mar 17 10:16:37 2011 New Revision: 4360 Log: Merged revision 4359 from branch 1.0: a bug was fixed in MSSQLConnection. Modified: SQLObject/trunk/docs/News.txt SQLObject/trunk/sqlobject/mssql/mssqlconnection.py Modified: SQLObject/trunk/docs/News.txt ============================================================================== --- SQLObject/trunk/docs/News.txt Thu Mar 17 10:15:11 2011 (r4359) +++ SQLObject/trunk/docs/News.txt Thu Mar 17 10:16:37 2011 (r4360) @@ -29,6 +29,8 @@ SQLObject 0.15.1 ================ +* A bug was fixed in MSSQLConnection. + * A bugfix was ported from `SQLObject 0.14.2`_. SQLObject 0.15.0 Modified: SQLObject/trunk/sqlobject/mssql/mssqlconnection.py ============================================================================== --- SQLObject/trunk/sqlobject/mssql/mssqlconnection.py Thu Mar 17 10:15:11 2011 (r4359) +++ SQLObject/trunk/sqlobject/mssql/mssqlconnection.py Thu Mar 17 10:16:37 2011 (r4360) @@ -8,6 +8,8 @@ dbName = 'mssql' schemes = [dbName] + limit_re = re.compile('^\s*(select )(.*)', re.IGNORECASE) + def __init__(self, db, user, password='', host='localhost', port=None, autoCommit=0, **kw): drivers = kw.pop('driver', None) or 'adodb,pymssql' @@ -68,7 +70,6 @@ self.db = db self.user = user self.password = password - self.limit_re = re.compile('^\s*(select )(.*)', re.IGNORECASE) self.password = password self._can_use_max_types = None DBAPI.__init__(self, **kw) |
From: <sub...@co...> - 2011-03-17 16:15:18
|
Author: phd Date: Thu Mar 17 10:15:11 2011 New Revision: 4359 Log: Merged revision 4358 from branch 0.15: a bug was fixed in MSSQLConnection. Modified: SQLObject/branches/1.0/docs/News.txt SQLObject/branches/1.0/sqlobject/mssql/mssqlconnection.py Modified: SQLObject/branches/1.0/docs/News.txt ============================================================================== --- SQLObject/branches/1.0/docs/News.txt Thu Mar 17 10:12:27 2011 (r4358) +++ SQLObject/branches/1.0/docs/News.txt Thu Mar 17 10:15:11 2011 (r4359) @@ -29,6 +29,8 @@ SQLObject 0.15.1 ================ +* A bug was fixed in MSSQLConnection. + * A bugfix was ported from `SQLObject 0.14.2`_. SQLObject 0.15.0 Modified: SQLObject/branches/1.0/sqlobject/mssql/mssqlconnection.py ============================================================================== --- SQLObject/branches/1.0/sqlobject/mssql/mssqlconnection.py Thu Mar 17 10:12:27 2011 (r4358) +++ SQLObject/branches/1.0/sqlobject/mssql/mssqlconnection.py Thu Mar 17 10:15:11 2011 (r4359) @@ -8,6 +8,8 @@ dbName = 'mssql' schemes = [dbName] + limit_re = re.compile('^\s*(select )(.*)', re.IGNORECASE) + def __init__(self, db, user, password='', host='localhost', port=None, autoCommit=0, **kw): drivers = kw.pop('driver', None) or 'adodb,pymssql' @@ -68,7 +70,6 @@ self.db = db self.user = user self.password = password - self.limit_re = re.compile('^\s*(select )(.*)', re.IGNORECASE) self.password = password self._can_use_max_types = None DBAPI.__init__(self, **kw) |
From: <sub...@co...> - 2011-03-17 16:12:35
|
Author: phd Date: Thu Mar 17 10:12:27 2011 New Revision: 4358 Log: A bug was fixed in MSSQLConnection. Modified: SQLObject/branches/0.15/docs/News.txt SQLObject/branches/0.15/sqlobject/mssql/mssqlconnection.py Modified: SQLObject/branches/0.15/docs/News.txt ============================================================================== --- SQLObject/branches/0.15/docs/News.txt Tue Mar 15 09:38:01 2011 (r4357) +++ SQLObject/branches/0.15/docs/News.txt Thu Mar 17 10:12:27 2011 (r4358) @@ -10,6 +10,8 @@ SQLObject 0.15.1 ================ +* A bug was fixed in MSSQLConnection. + * A bugfix was ported from `SQLObject 0.14.2`_. SQLObject 0.15.0 Modified: SQLObject/branches/0.15/sqlobject/mssql/mssqlconnection.py ============================================================================== --- SQLObject/branches/0.15/sqlobject/mssql/mssqlconnection.py Tue Mar 15 09:38:01 2011 (r4357) +++ SQLObject/branches/0.15/sqlobject/mssql/mssqlconnection.py Thu Mar 17 10:12:27 2011 (r4358) @@ -8,6 +8,8 @@ dbName = 'mssql' schemes = [dbName] + limit_re = re.compile('^\s*(select )(.*)', re.IGNORECASE) + def __init__(self, db, user, password='', host='localhost', autoCommit=0, **kw): drivers = kw.pop('driver', None) or \ @@ -68,7 +70,6 @@ self.db = db self.user = user self.password = password - self.limit_re = re.compile('^\s*(select )(.*)', re.IGNORECASE) self.password = password self._can_use_max_types = None DBAPI.__init__(self, **kw) |
From: <sub...@co...> - 2011-03-15 15:38:07
|
Author: phd Date: Tue Mar 15 09:38:01 2011 New Revision: 4357 Log: Removed paramstyles branch - it's too old now. Deleted: home/phd/SQLObject/paramstyles/ |
From: <sub...@co...> - 2011-03-15 14:29:30
|
Author: phd Date: Tue Mar 15 08:29:24 2011 New Revision: 4356 Log: Merged revision 4355 from branch 1.0: SQLObject stopped supporting Python 2.3 long ago. Modified: SQLObject/trunk/sqlobject/main.py SQLObject/trunk/sqlobject/util/threadinglocal.py Modified: SQLObject/trunk/sqlobject/main.py ============================================================================== --- SQLObject/trunk/sqlobject/main.py Tue Mar 15 08:27:03 2011 (r4355) +++ SQLObject/trunk/sqlobject/main.py Tue Mar 15 08:29:24 2011 (r4356) @@ -1,6 +1,6 @@ """ SQLObject 1.1 --------------- +------------- :author: Ian Bicking <ia...@co...> Modified: SQLObject/trunk/sqlobject/util/threadinglocal.py ============================================================================== --- SQLObject/trunk/sqlobject/util/threadinglocal.py Tue Mar 15 08:27:03 2011 (r4355) +++ SQLObject/trunk/sqlobject/util/threadinglocal.py Tue Mar 15 08:29:24 2011 (r4356) @@ -1,35 +1,6 @@ try: - import threading + from threading import local except ImportError: # No threads, so "thread local" means process-global class local(object): pass -else: - try: - local = threading.local - except AttributeError: - # Added in 2.4, but now we'll have to define it ourselves - import thread - class local(object): - - def __init__(self): - self.__dict__['__objs'] = {} - - def __getattr__(self, attr, g=thread.get_ident): - try: - return self.__dict__['__objs'][g()][attr] - except KeyError: - raise AttributeError( - "No variable %s defined for the thread %s" - % (attr, g())) - - def __setattr__(self, attr, value, g=thread.get_ident): - self.__dict__['__objs'].setdefault(g(), {})[attr] = value - - def __delattr__(self, attr, g=thread.get_ident): - try: - del self.__dict__['__objs'][g()][attr] - except KeyError: - raise AttributeError( - "No variable %s defined for thread %s" - % (attr, g())) |
From: <sub...@co...> - 2011-03-15 14:27:14
|
Author: phd Date: Tue Mar 15 08:27:03 2011 New Revision: 4355 Log: SQLObject stopped supporting Python 2.3 long ago. Modified: SQLObject/branches/1.0/sqlobject/util/threadinglocal.py Modified: SQLObject/branches/1.0/sqlobject/util/threadinglocal.py ============================================================================== --- SQLObject/branches/1.0/sqlobject/util/threadinglocal.py Wed Mar 9 07:37:32 2011 (r4354) +++ SQLObject/branches/1.0/sqlobject/util/threadinglocal.py Tue Mar 15 08:27:03 2011 (r4355) @@ -1,35 +1,6 @@ try: - import threading + from threading import local except ImportError: # No threads, so "thread local" means process-global class local(object): pass -else: - try: - local = threading.local - except AttributeError: - # Added in 2.4, but now we'll have to define it ourselves - import thread - class local(object): - - def __init__(self): - self.__dict__['__objs'] = {} - - def __getattr__(self, attr, g=thread.get_ident): - try: - return self.__dict__['__objs'][g()][attr] - except KeyError: - raise AttributeError( - "No variable %s defined for the thread %s" - % (attr, g())) - - def __setattr__(self, attr, value, g=thread.get_ident): - self.__dict__['__objs'].setdefault(g(), {})[attr] = value - - def __delattr__(self, attr, g=thread.get_ident): - try: - del self.__dict__['__objs'][g()][attr] - except KeyError: - raise AttributeError( - "No variable %s defined for thread %s" - % (attr, g())) |
From: <sub...@co...> - 2011-03-09 14:37:38
|
Author: phd Date: Wed Mar 9 07:37:32 2011 New Revision: 4354 Log: Release 1.0.0b1. Modified: SQLObject/tags/1.0.0b1/README.txt SQLObject/tags/1.0.0b1/setup.py SQLObject/tags/1.0.0b1/sqlobject/__init__.py SQLObject/tags/1.0.0b1/sqlobject/main.py Modified: SQLObject/tags/1.0.0b1/README.txt ============================================================================== --- SQLObject/tags/1.0.0b1/README.txt Wed Mar 9 07:34:34 2011 (r4353) +++ SQLObject/tags/1.0.0b1/README.txt Wed Mar 9 07:37:32 2011 (r4354) @@ -1,5 +1,5 @@ -SQLObject 1.0 -============= +SQLObject 1.0.0b1 +================= Thanks for looking at SQLObject. SQLObject is an object-relational mapper, i.e., a library that will wrap your database tables in Python Modified: SQLObject/tags/1.0.0b1/setup.py ============================================================================== --- SQLObject/tags/1.0.0b1/setup.py Wed Mar 9 07:34:34 2011 (r4353) +++ SQLObject/tags/1.0.0b1/setup.py Wed Mar 9 07:37:32 2011 (r4354) @@ -21,7 +21,7 @@ """ setup(name="SQLObject", - version="1.0", + version="1.0.0b1", description="Object-Relational Manager, aka database wrapper", long_description="""\ SQLObject is a popular *Object Relational Manager* for providing an @@ -35,7 +35,7 @@ Supports MySQL, PostgreSQL, SQLite, Firebird, Sybase, MSSQL and MaxDB (SAPDB). For development see the `subversion repository -<http://svn.colorstudy.com/SQLObject/trunk#egg=SQLObject-1.0dev>`_ +<http://svn.colorstudy.com/SQLObject/branches/1.0/#egg=SQLObject-1.0dev>`_ """, classifiers=[ "Development Status :: 5 - Production/Stable", @@ -49,7 +49,7 @@ author="Ian Bicking", author_email="ia...@co...", url="http://sqlobject.org/", - download_url="http://cheeseshop.python.org/pypi/SQLObject/1.0", + download_url="http://cheeseshop.python.org/pypi/SQLObject/1.0.0b1dev-r4354", license="LGPL", packages=["sqlobject"] + ['sqlobject.%s' % package for package in subpackages], scripts=["scripts/sqlobject-admin", "scripts/sqlobject-convertOldURI"], Modified: SQLObject/tags/1.0.0b1/sqlobject/__init__.py ============================================================================== --- SQLObject/tags/1.0.0b1/sqlobject/__init__.py Wed Mar 9 07:34:34 2011 (r4353) +++ SQLObject/tags/1.0.0b1/sqlobject/__init__.py Wed Mar 9 07:37:32 2011 (r4354) @@ -1,5 +1,5 @@ """ -SQLObject 1.0 +SQLObject 1.0.0b1 """ from col import * Modified: SQLObject/tags/1.0.0b1/sqlobject/main.py ============================================================================== --- SQLObject/tags/1.0.0b1/sqlobject/main.py Wed Mar 9 07:34:34 2011 (r4353) +++ SQLObject/tags/1.0.0b1/sqlobject/main.py Wed Mar 9 07:37:32 2011 (r4354) @@ -1,6 +1,6 @@ """ -SQLObject 1.0 -------------- +SQLObject 1.0.0b1 +----------------- :author: Ian Bicking <ia...@co...> |
From: <sub...@co...> - 2011-03-09 14:34:41
|
Author: phd Date: Wed Mar 9 07:34:34 2011 New Revision: 4353 Log: Fixed URL of the branch. Modified: SQLObject/branches/1.0/setup.py Modified: SQLObject/branches/1.0/setup.py ============================================================================== --- SQLObject/branches/1.0/setup.py Wed Mar 9 07:27:43 2011 (r4352) +++ SQLObject/branches/1.0/setup.py Wed Mar 9 07:34:34 2011 (r4353) @@ -35,7 +35,7 @@ Supports MySQL, PostgreSQL, SQLite, Firebird, Sybase, MSSQL and MaxDB (SAPDB). For development see the `subversion repository -<http://svn.colorstudy.com/SQLObject/trunk#egg=SQLObject-1.0dev>`_ +<http://svn.colorstudy.com/SQLObject/branches/1.0/#egg=SQLObject-1.0dev>`_ """, classifiers=[ "Development Status :: 5 - Production/Stable", |
From: <sub...@co...> - 2011-03-09 14:27:50
|
Author: phd Date: Wed Mar 9 07:27:43 2011 New Revision: 4352 Log: Tagging 1.0.0b1 Added: SQLObject/tags/1.0.0b1/ - copied from r4351, SQLObject/branches/1.0/ |
From: <sub...@co...> - 2011-03-09 14:26:06
|
Author: phd Date: Wed Mar 9 07:25:56 2011 New Revision: 4351 Log: Going to release 1.0.0b1. Modified: SQLObject/branches/1.0/scripts/sqlobject-convertOldURI SQLObject/branches/1.0/setup.py Modified: SQLObject/branches/1.0/scripts/sqlobject-convertOldURI ============================================================================== --- SQLObject/branches/1.0/scripts/sqlobject-convertOldURI Mon Mar 7 16:43:02 2011 (r4350) +++ SQLObject/branches/1.0/scripts/sqlobject-convertOldURI Wed Mar 9 07:25:56 2011 (r4351) @@ -9,7 +9,7 @@ try: import pkg_resources - pkg_resources.require('SQLObject>=1.0.0a1') + pkg_resources.require('SQLObject>=1.0.0b1') except (ImportError, pkg_resources.DistributionNotFound): pass Modified: SQLObject/branches/1.0/setup.py ============================================================================== --- SQLObject/branches/1.0/setup.py Mon Mar 7 16:43:02 2011 (r4350) +++ SQLObject/branches/1.0/setup.py Wed Mar 9 07:25:56 2011 (r4351) @@ -48,7 +48,7 @@ ], author="Ian Bicking", author_email="ia...@co...", - url="http://sqlobject.org/devel/", + url="http://sqlobject.org/", download_url="http://cheeseshop.python.org/pypi/SQLObject/1.0", license="LGPL", packages=["sqlobject"] + ['sqlobject.%s' % package for package in subpackages], |
From: <sub...@co...> - 2011-03-03 20:40:58
|
Author: phd Date: Thu Mar 3 13:40:51 2011 New Revision: 4348 Log: Branch 1.0. Modified: SQLObject/branches/1.0/sqlobject/__init__.py SQLObject/branches/1.0/sqlobject/main.py Modified: SQLObject/branches/1.0/sqlobject/__init__.py ============================================================================== --- SQLObject/branches/1.0/sqlobject/__init__.py Thu Mar 3 13:39:17 2011 (r4347) +++ SQLObject/branches/1.0/sqlobject/__init__.py Thu Mar 3 13:40:51 2011 (r4348) @@ -1,5 +1,5 @@ """ -SQLObject 0.16 +SQLObject 1.0 """ from col import * Modified: SQLObject/branches/1.0/sqlobject/main.py ============================================================================== --- SQLObject/branches/1.0/sqlobject/main.py Thu Mar 3 13:39:17 2011 (r4347) +++ SQLObject/branches/1.0/sqlobject/main.py Thu Mar 3 13:40:51 2011 (r4348) @@ -1,6 +1,6 @@ """ -SQLObject 0.16 --------------- +SQLObject 1.0 +------------- :author: Ian Bicking <ia...@co...> |
From: <sub...@co...> - 2011-03-03 20:39:21
|
Author: phd Date: Thu Mar 3 13:39:17 2011 New Revision: 4347 Log: The next version will be 1.1. Modified: SQLObject/trunk/README.txt SQLObject/trunk/setup.py SQLObject/trunk/sqlobject/__init__.py SQLObject/trunk/sqlobject/main.py Modified: SQLObject/trunk/README.txt ============================================================================== --- SQLObject/trunk/README.txt Thu Mar 3 13:37:11 2011 (r4346) +++ SQLObject/trunk/README.txt Thu Mar 3 13:39:17 2011 (r4347) @@ -1,4 +1,4 @@ -SQLObject 1.0 +SQLObject 1.1 ============= Thanks for looking at SQLObject. SQLObject is an object-relational Modified: SQLObject/trunk/setup.py ============================================================================== --- SQLObject/trunk/setup.py Thu Mar 3 13:37:11 2011 (r4346) +++ SQLObject/trunk/setup.py Thu Mar 3 13:39:17 2011 (r4347) @@ -21,7 +21,7 @@ """ setup(name="SQLObject", - version="1.0", + version="1.1", description="Object-Relational Manager, aka database wrapper", long_description="""\ SQLObject is a popular *Object Relational Manager* for providing an @@ -35,7 +35,7 @@ Supports MySQL, PostgreSQL, SQLite, Firebird, Sybase, MSSQL and MaxDB (SAPDB). For development see the `subversion repository -<http://svn.colorstudy.com/SQLObject/trunk#egg=SQLObject-1.0dev>`_ +<http://svn.colorstudy.com/SQLObject/trunk#egg=SQLObject-1.1dev>`_ """, classifiers=[ "Development Status :: 5 - Production/Stable", @@ -49,7 +49,7 @@ author="Ian Bicking", author_email="ia...@co...", url="http://sqlobject.org/devel/", - download_url="http://cheeseshop.python.org/pypi/SQLObject/1.0", + download_url="http://cheeseshop.python.org/pypi/SQLObject/1.1", license="LGPL", packages=["sqlobject"] + ['sqlobject.%s' % package for package in subpackages], scripts=["scripts/sqlobject-admin", "scripts/sqlobject-convertOldURI"], Modified: SQLObject/trunk/sqlobject/__init__.py ============================================================================== --- SQLObject/trunk/sqlobject/__init__.py Thu Mar 3 13:37:11 2011 (r4346) +++ SQLObject/trunk/sqlobject/__init__.py Thu Mar 3 13:39:17 2011 (r4347) @@ -1,5 +1,5 @@ """ -SQLObject 0.16 +SQLObject 1.1 """ from col import * Modified: SQLObject/trunk/sqlobject/main.py ============================================================================== --- SQLObject/trunk/sqlobject/main.py Thu Mar 3 13:37:11 2011 (r4346) +++ SQLObject/trunk/sqlobject/main.py Thu Mar 3 13:39:17 2011 (r4347) @@ -1,5 +1,5 @@ """ -SQLObject 0.16 +SQLObject 1.1 -------------- :author: Ian Bicking <ia...@co...> |
From: <sub...@co...> - 2011-03-03 20:37:16
|
Author: phd Date: Thu Mar 3 13:37:11 2011 New Revision: 4346 Log: Branch 1.0 Added: SQLObject/branches/1.0/ - copied from r4345, SQLObject/trunk/ |
From: <sub...@co...> - 2011-03-03 20:36:30
|
Author: phd Date: Thu Mar 3 13:36:26 2011 New Revision: 4345 Log: SQLObject 1.0.0. Modified: SQLObject/trunk/docs/News.txt Modified: SQLObject/trunk/docs/News.txt ============================================================================== --- SQLObject/trunk/docs/News.txt Thu Mar 3 12:26:50 2011 (r4344) +++ SQLObject/trunk/docs/News.txt Thu Mar 3 13:36:26 2011 (r4345) @@ -10,6 +10,9 @@ SQLObject (trunk) ================= +SQLObject 1.0.0 +=============== + Features & Interface -------------------- |
From: <sub...@co...> - 2011-03-03 19:26:57
|
Author: phd Date: Thu Mar 3 12:26:50 2011 New Revision: 4344 Log: Fixed properties. Modified: SQLObject/trunk/scripts/sqlobject-convertOldURI (props changed) SQLObject/trunk/setup.py (props changed) SQLObject/trunk/sqlobject/tests/test_parse_uri.py (props changed) |
From: <sub...@co...> - 2011-03-03 19:22:57
|
Author: phd Date: Thu Mar 3 12:22:53 2011 New Revision: 4343 Log: Added shebang. Modified: SQLObject/trunk/scripts/sqlobject-convertOldURI SQLObject/trunk/setup.py Modified: SQLObject/trunk/scripts/sqlobject-convertOldURI ============================================================================== --- SQLObject/trunk/scripts/sqlobject-convertOldURI Thu Mar 3 12:22:33 2011 (r4342) +++ SQLObject/trunk/scripts/sqlobject-convertOldURI Thu Mar 3 12:22:53 2011 (r4343) @@ -14,6 +14,5 @@ pass from sqlobject import connectionForURI - conn = connectionForURI(uri, oldUri=True) print conn.uri() Modified: SQLObject/trunk/setup.py ============================================================================== --- SQLObject/trunk/setup.py Thu Mar 3 12:22:33 2011 (r4342) +++ SQLObject/trunk/setup.py Thu Mar 3 12:22:53 2011 (r4343) @@ -1,5 +1,5 @@ -# ez_setup doesn't work with Python 2.2, so we use distutils -# in that case: +#!/usr/bin/env python + try: from ez_setup import use_setuptools use_setuptools() |
From: <sub...@co...> - 2011-03-03 19:22:38
|
Author: phd Date: Thu Mar 3 12:22:33 2011 New Revision: 4342 Log: Trunk will be version 1.0. Modified: SQLObject/trunk/README.txt Modified: SQLObject/trunk/README.txt ============================================================================== --- SQLObject/trunk/README.txt Thu Mar 3 10:06:29 2011 (r4341) +++ SQLObject/trunk/README.txt Thu Mar 3 12:22:33 2011 (r4342) @@ -1,5 +1,5 @@ -SQLObject 0.16 -============== +SQLObject 1.0 +============= Thanks for looking at SQLObject. SQLObject is an object-relational mapper, i.e., a library that will wrap your database tables in Python |
From: <sub...@co...> - 2011-03-03 17:06:36
|
Author: phd Date: Thu Mar 3 10:06:29 2011 New Revision: 4341 Log: Restored .oldUri(). Modified: SQLObject/trunk/sqlobject/sqlite/sqliteconnection.py Modified: SQLObject/trunk/sqlobject/sqlite/sqliteconnection.py ============================================================================== --- SQLObject/trunk/sqlobject/sqlite/sqliteconnection.py Thu Mar 3 10:02:59 2011 (r4340) +++ SQLObject/trunk/sqlobject/sqlite/sqliteconnection.py Thu Mar 3 10:06:29 2011 (r4341) @@ -109,6 +109,14 @@ return cls(filename=path, **args) _connectionFromParams = classmethod(_connectionFromParams) + def oldUri(self): + path = self.filename + if path == ":memory:": + path = "/:memory:" + else: + path = "//" + path + return 'sqlite:%s' % path + def uri(self): path = self.filename if path == ":memory:": |
From: <sub...@co...> - 2011-03-03 17:03:07
|
Author: phd Date: Thu Mar 3 10:02:59 2011 New Revision: 4340 Log: connectionForURI(uri, oldUri=True). Renamed scripts/sqlobject-convertURI to scripts/sqlobject-convertOldURI. Added: SQLObject/trunk/scripts/sqlobject-convertOldURI - copied, changed from r4339, SQLObject/trunk/scripts/sqlobject-convertURI Deleted: SQLObject/trunk/scripts/sqlobject-convertURI Modified: SQLObject/trunk/setup.py SQLObject/trunk/sqlobject/dbconnection.py Copied and modified: SQLObject/trunk/scripts/sqlobject-convertOldURI (from r4339, SQLObject/trunk/scripts/sqlobject-convertURI) ============================================================================== --- SQLObject/trunk/scripts/sqlobject-convertURI Tue Mar 1 10:31:01 2011 (r4339, copy source) +++ SQLObject/trunk/scripts/sqlobject-convertOldURI Thu Mar 3 10:02:59 2011 (r4340) @@ -13,9 +13,7 @@ except (ImportError, pkg_resources.DistributionNotFound): pass -from sqlobject.dbconnection import dbConnectionForScheme +from sqlobject import connectionForURI -scheme = uri.split(':')[0] -connCls = dbConnectionForScheme(scheme) -conn = connCls.connectionFromOldURI(uri) +conn = connectionForURI(uri, oldUri=True) print conn.uri() Modified: SQLObject/trunk/setup.py ============================================================================== --- SQLObject/trunk/setup.py Tue Mar 1 10:31:01 2011 (r4339) +++ SQLObject/trunk/setup.py Thu Mar 3 10:02:59 2011 (r4340) @@ -52,7 +52,7 @@ download_url="http://cheeseshop.python.org/pypi/SQLObject/1.0", license="LGPL", packages=["sqlobject"] + ['sqlobject.%s' % package for package in subpackages], - scripts=["scripts/sqlobject-admin", "scripts/sqlobject-convertURI"], + scripts=["scripts/sqlobject-admin", "scripts/sqlobject-convertOldURI"], install_requires=["FormEncode>=1.1.1"], extras_require={ 'mysql': ['MySQLdb'], Modified: SQLObject/trunk/sqlobject/dbconnection.py ============================================================================== --- SQLObject/trunk/sqlobject/dbconnection.py Tue Mar 1 10:31:01 2011 (r4339) +++ SQLObject/trunk/sqlobject/dbconnection.py Thu Mar 3 10:02:59 2011 (r4340) @@ -991,7 +991,7 @@ assert inst.name.find(':') == -1, "You cannot include ':' in your class names (%r)" % cls.name self.instanceNames[inst.name] = inst - def connectionForURI(self, uri, **args): + def connectionForURI(self, uri, oldUri=False, **args): if args: if '?' not in uri: uri += '?' + urllib.urlencode(args) @@ -1002,7 +1002,10 @@ if uri.find(':') != -1: scheme, rest = uri.split(':', 1) connCls = self.dbConnectionForScheme(scheme) - conn = connCls.connectionFromURI(uri) + if oldUri: + conn = connCls.connectionFromOldURI(uri) + else: + conn = connCls.connectionFromURI(uri) else: # We just have a name, not a URI assert self.instanceNames.has_key(uri), \ |
From: <sub...@co...> - 2011-03-01 17:31:11
|
Author: phd Date: Tue Mar 1 10:31:01 2011 New Revision: 4339 Log: Quote components of DB URI. Modified: SQLObject/trunk/sqlobject/dbconnection.py SQLObject/trunk/sqlobject/sqlite/sqliteconnection.py SQLObject/trunk/sqlobject/tests/test_parse_uri.py Modified: SQLObject/trunk/sqlobject/dbconnection.py ============================================================================== --- SQLObject/trunk/sqlobject/dbconnection.py Thu Feb 24 06:02:17 2011 (r4338) +++ SQLObject/trunk/sqlobject/dbconnection.py Tue Mar 1 10:31:01 2011 (r4339) @@ -88,7 +88,7 @@ registerConnectionInstance(self) atexit.register(_closeConnection, weakref.ref(self)) - def uri(self): + def oldUri(self): auth = getattr(self, 'user', '') or '' if auth: if self.password: @@ -105,9 +105,30 @@ uri += '/' db = self.db if db.startswith('/'): - db = path[1:] + db = db[1:] return uri + db + def uri(self): + auth = getattr(self, 'user', '') or '' + if auth: + auth = urllib.quote(auth) + if self.password: + auth = auth + ':' + urllib.quote(self.password) + auth = auth + '@' + else: + assert not getattr(self, 'password', None), ( + 'URIs cannot express passwords without usernames') + uri = '%s://%s' % (self.dbName, auth) + if self.host: + uri += self.host + if self.port: + uri += ':%d' % self.port + uri += '/' + db = self.db + if db.startswith('/'): + db = db[1:] + return uri + urllib.quote(db) + def connectionFromOldURI(cls, uri): return cls._connectionFromParams(*cls._parseOldURI(uri)) connectionFromOldURI = classmethod(connectionFromOldURI) Modified: SQLObject/trunk/sqlobject/sqlite/sqliteconnection.py ============================================================================== --- SQLObject/trunk/sqlobject/sqlite/sqliteconnection.py Thu Feb 24 06:02:17 2011 (r4338) +++ SQLObject/trunk/sqlobject/sqlite/sqliteconnection.py Tue Mar 1 10:31:01 2011 (r4339) @@ -1,6 +1,7 @@ import base64 import os import thread +import urllib from sqlobject.dbconnection import DBAPI, Boolean from sqlobject import col, sqlbuilder from sqlobject.dberrors import * @@ -112,10 +113,12 @@ path = self.filename if path == ":memory:": path = "/:memory:" - elif path.startswith('/'): - path = "//" + path else: - path = "///" + path + if path.startswith('/'): + path = "//" + path + else: + path = "///" + path + path = urllib.quote(path) return 'sqlite:%s' % path def getConnection(self): Modified: SQLObject/trunk/sqlobject/tests/test_parse_uri.py ============================================================================== --- SQLObject/trunk/sqlobject/tests/test_parse_uri.py Thu Feb 24 06:02:17 2011 (r4338) +++ SQLObject/trunk/sqlobject/tests/test_parse_uri.py Tue Mar 1 10:31:01 2011 (r4339) @@ -1,5 +1,6 @@ import os from sqlobject.dbconnection import DBConnection +from sqlobject.sqlite.sqliteconnection import SQLiteConnection ######################################## ## Test _parseURI @@ -88,3 +89,36 @@ assert port is None assert path == "/C:/full/path/to/database" assert args == {} + +def test_uri(): + connection = DBConnection() + connection.close = lambda: None + + connection.dbName, connection.host, connection.port, connection.user, connection.password, connection.db = 'mysql', 'host', None, None, None, 'database' + assert connection.uri() == "mysql://host/database" + + connection.dbName, connection.host, connection.port, connection.user, connection.password, connection.db = 'mysql', 'host', None, 'user', 'pass word', 'database' + assert connection.uri() == "mysql://user:pass%20word@host/database" + + connection.dbName, connection.host, connection.port, connection.user, connection.password, connection.db = 'postgres', 'host', None, 'user', None, 'database' + assert connection.uri() == "postgres://user@host/database" + + connection.dbName, connection.host, connection.port, connection.user, connection.password, connection.db = 'postgres', 'host', 5432, None, None, 'database' + assert connection.uri() == "postgres://host:5432/database" + + connection.dbName, connection.host, connection.port, connection.user, connection.password, connection.db = 'postgres', None, None, None, None, '/full/path/to/socket/database' + assert connection.uri() == "postgres:///full/path/to/socket/database" + + connection.dbName, connection.host, connection.port, connection.user, connection.password, connection.db = 'postgres', 'host', None, 'us:er', 'p@ssword', 'database' + assert connection.uri() == "postgres://us%3Aer:p%40ssword@host/database" + + connection = SQLiteConnection(None) + connection.filename = '/full/path/to/database' + assert connection.uri() == "sqlite:///full/path/to/database" + + connection.filename = ':memory:' + assert connection.uri() == "sqlite:/:memory:" + + if os.name == 'nt': + connection.filename = 'C:/full/path/to/database' + assert connection.uri() == "sqlite:///C:/full/path/to/database" |
From: <sub...@co...> - 2011-02-24 13:02:45
|
Author: phd Date: Thu Feb 24 06:02:17 2011 New Revision: 4338 Log: Fixed a bug - splitpasswd() can return None. Added a test for quoted special characters. Modified: SQLObject/trunk/sqlobject/dbconnection.py SQLObject/trunk/sqlobject/tests/test_parse_uri.py Modified: SQLObject/trunk/sqlobject/dbconnection.py ============================================================================== --- SQLObject/trunk/sqlobject/dbconnection.py Tue Feb 22 07:44:08 2011 (r4337) +++ SQLObject/trunk/sqlobject/dbconnection.py Thu Feb 24 06:02:17 2011 (r4338) @@ -177,7 +177,7 @@ if '@' in host: user, host = host.split('@', 1) if user: - user, password = [urllib.unquote(x) for x in urllib.splitpasswd(user)] + user, password = [x and urllib.unquote(x) or None for x in urllib.splitpasswd(user)] host, port = urllib.splitport(host) if port: port = int(port) elif host == '': Modified: SQLObject/trunk/sqlobject/tests/test_parse_uri.py ============================================================================== --- SQLObject/trunk/sqlobject/tests/test_parse_uri.py Tue Feb 22 07:44:08 2011 (r4337) +++ SQLObject/trunk/sqlobject/tests/test_parse_uri.py Thu Feb 24 06:02:17 2011 (r4338) @@ -48,9 +48,9 @@ assert path == "/full/path/to/socket/database" assert args == {} - user, password, host, port, path, args = _parseURI("postgres://user:at@inpwd@host/database") - assert user == "user" - assert password == "at@inpwd" + user, password, host, port, path, args = _parseURI("postgres://us%3Aer:p%40ssword@host/database") + assert user == "us:er" + assert password == "p@ssword" assert host == "host" assert port is None assert path == "/database" |
From: <sub...@co...> - 2011-02-22 14:44:16
|
Author: phd Date: Tue Feb 22 07:44:08 2011 New Revision: 4337 Log: Fixed a minor bug: Python < 2.7 have a problem - splituser() calls unquote() too early. Modified: SQLObject/trunk/docs/TODO.txt SQLObject/trunk/sqlobject/dbconnection.py Modified: SQLObject/trunk/docs/TODO.txt ============================================================================== --- SQLObject/trunk/docs/TODO.txt Tue Feb 22 07:32:59 2011 (r4336) +++ SQLObject/trunk/docs/TODO.txt Tue Feb 22 07:44:08 2011 (r4337) @@ -59,6 +59,8 @@ * Stop supporting Python 2.5: remove import sets. +* Stop supporting Python 2.6: restore using urllib.splituser in _parseURI. + * Expression columns - in SELECT but not in INSERT/UPDATE. Something like this:: class MyClass(SQLObject): Modified: SQLObject/trunk/sqlobject/dbconnection.py ============================================================================== --- SQLObject/trunk/sqlobject/dbconnection.py Tue Feb 22 07:32:59 2011 (r4336) +++ SQLObject/trunk/sqlobject/dbconnection.py Tue Feb 22 07:44:08 2011 (r4337) @@ -172,9 +172,12 @@ host, path = urllib.splithost(request) if host: - user, host = urllib.splituser(host) + # Python < 2.7 have a problem - splituser() calls unquote() too early + #user, host = urllib.splituser(host) + if '@' in host: + user, host = host.split('@', 1) if user: - user, password = urllib.splitpasswd(user) + user, password = [urllib.unquote(x) for x in urllib.splitpasswd(user)] host, port = urllib.splitport(host) if port: port = int(port) elif host == '': |