r472 - zope-mysqlda/trunk

Jonas Meurer mejo at alioth.debian.org
Fri Nov 17 15:06:40 CET 2006


Author: mejo
Date: 2006-11-17 15:06:40 +0100 (Fri, 17 Nov 2006)
New Revision: 472

Removed:
   zope-mysqlda/trunk/CHANGES.txt
   zope-mysqlda/trunk/DA.py
   zope-mysqlda/trunk/DABase.py
   zope-mysqlda/trunk/DEPENDENCIES.txt
   zope-mysqlda/trunk/README.txt
   zope-mysqlda/trunk/VERSION.txt
   zope-mysqlda/trunk/__init__.py
   zope-mysqlda/trunk/browse.dtml
   zope-mysqlda/trunk/connectionAdd.dtml
   zope-mysqlda/trunk/connectionEdit.dtml
   zope-mysqlda/trunk/db.py
   zope-mysqlda/trunk/help/
   zope-mysqlda/trunk/icons/
   zope-mysqlda/trunk/table_info.dtml
Log:
clean trunk

Deleted: zope-mysqlda/trunk/CHANGES.txt
===================================================================
--- zope-mysqlda/trunk/CHANGES.txt	2006-11-17 14:06:09 UTC (rev 471)
+++ zope-mysqlda/trunk/CHANGES.txt	2006-11-17 14:06:40 UTC (rev 472)
@@ -1,66 +0,0 @@
-Z MySQL DA Releases
-
-  2.0.9
-
-    Allow the connection string to work without a specified database.
-
-    Wrap queries with a lock to prevent multiple threads from using
-    the connection simultaneously (this may or may not be happening).
-    If transactional, then there is an additional transaction lock,
-    acquired at the beginning of the transaction and released when
-    either finished or aborted.
-
-    A named lock can be specified by inserting *LOCKNAME at the start
-    of the connection string. This is probably best used only if you
-    must use non-transactional tables.
-
-    Some stuff will be logged as an error when bad things happen
-    during the transaction manager hooks.
-
-  2.0.8
-
-    More information about columns is available from the table
-    browser. This is primarily to support SQL Blender.
-
-    DECIMAL and NUMERIC columns now returned as floating-point numbers
-    (was string). This has also been fixed in MySQLdb-0.9.1, but the
-    fix is included here just in case you don't upgrade. Upgrading is
-    a good idea anyway, because some memory-related bugs are fixed,
-    particularly if using Zope 2.4 and Python 2.1.
-
-  2.0.7
-
-    Transaction support tweaked some more. A plus (+) or minus (-)
-    at the beginning of the connection string will force transactions
-    on or off respectively. By default, transactions are enabled if
-    the server supports them. Beware: If you are using non-TST tables
-    on a server that supports transactions, you should probably force
-    transactions off.
-
-  2.0.6
-
-    This version finally should have all the transaction support
-    working correctly. If your MySQL server supports transactions,
-    i.e. it has at least one transaction-safe table (TST) handler,
-    transactions are enabled automatically. If transactions are
-    enabled, rollbacks (aborts) fail if any non-TST tables were
-    modified.
-
-  2.0.5
-
-    Transactions don't really work right in this and prior versions.
-
-  2.0.4
-
-    INT columns, whether UNSIGNED or not, are returned as Python
-    long integers to avoid overflows. Python-1.5.2 adds an 'L' to
-    the end of long integers when printing. Later versions do not.
-    As a workaround, use affected columns with a format string,
-    i.e. '<dtml-var x fmt="%d">'.
-
-  2.0.0
-
-    This is the first version of the database adapter using MySQLdb
-    for Zope.  This database adapter is based on the Z DCOracle DA
-    version 2.2.0.
-

Deleted: zope-mysqlda/trunk/DA.py
===================================================================
--- zope-mysqlda/trunk/DA.py	2006-11-17 14:06:09 UTC (rev 471)
+++ zope-mysqlda/trunk/DA.py	2006-11-17 14:06:40 UTC (rev 472)
@@ -1,161 +0,0 @@
-##############################################################################
-# 
-# Zope Public License (ZPL) Version 1.0
-# -------------------------------------
-# 
-# Copyright (c) Digital Creations.  All rights reserved.
-# 
-# This license has been certified as Open Source(tm).
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-# 
-# 1. Redistributions in source code must retain the above copyright
-#    notice, this list of conditions, and the following disclaimer.
-# 
-# 2. Redistributions in binary form must reproduce the above copyright
-#    notice, this list of conditions, and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-# 
-# 3. Digital Creations requests that attribution be given to Zope
-#    in any manner possible. Zope includes a "Powered by Zope"
-#    button that is installed by default. While it is not a license
-#    violation to remove this button, it is requested that the
-#    attribution remain. A significant investment has been put
-#    into Zope, and this effort will continue if the Zope community
-#    continues to grow. This is one way to assure that growth.
-# 
-# 4. All advertising materials and documentation mentioning
-#    features derived from or use of this software must display
-#    the following acknowledgement:
-# 
-#      "This product includes software developed by Digital Creations
-#      for use in the Z Object Publishing Environment
-#      (http://www.zope.org/)."
-# 
-#    In the event that the product being advertised includes an
-#    intact Zope distribution (with copyright and license included)
-#    then this clause is waived.
-# 
-# 5. Names associated with Zope or Digital Creations must not be used to
-#    endorse or promote products derived from this software without
-#    prior written permission from Digital Creations.
-# 
-# 6. Modified redistributions of any form whatsoever must retain
-#    the following acknowledgment:
-# 
-#      "This product includes software developed by Digital Creations
-#      for use in the Z Object Publishing Environment
-#      (http://www.zope.org/)."
-# 
-#    Intact (re-)distributions of any official Zope release do not
-#    require an external acknowledgement.
-# 
-# 7. Modifications are encouraged but must be packaged separately as
-#    patches to official Zope releases.  Distributions that do not
-#    clearly separate the patches from the original work must be clearly
-#    labeled as unofficial distributions.  Modifications which do not
-#    carry the name Zope may be packaged in any form, as long as they
-#    conform to all of the clauses above.
-# 
-# 
-# Disclaimer
-# 
-#   THIS SOFTWARE IS PROVIDED BY DIGITAL CREATIONS ``AS IS'' AND ANY
-#   EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-#   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-#   PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL DIGITAL CREATIONS OR ITS
-#   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-#   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-#   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-#   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-#   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-#   SUCH DAMAGE.
-# 
-# 
-# This software consists of contributions made by Digital Creations and
-# many individuals on behalf of Digital Creations.  Specific
-# attributions are listed in the accompanying credits file.
-# 
-##############################################################################
-database_type='MySQL'
-__doc__='''%s Database Connection
-
-$Id: DA.py,v 1.4 2001/08/09 20:16:36 adustman Exp $''' % database_type
-__version__='$Revision: 1.4 $'[11:-2]
-
-import os
-from db import DB
-import Shared.DC.ZRDB.Connection, sys, DABase
-from App.Dialogs import MessageDialog
-from Globals import HTMLFile
-from ImageFile import ImageFile
-from ExtensionClass import Base
-from DateTime import DateTime
-
-manage_addZMySQLConnectionForm=HTMLFile('connectionAdd',globals())
-
-def manage_addZMySQLConnection(self, id, title,
-                                connection_string,
-                                check=None, REQUEST=None):
-    """Add a DB connection to a folder"""
-    self._setObject(id, Connection(id, title, connection_string, check))
-    if REQUEST is not None: return self.manage_main(self,REQUEST)
-
-class Connection(DABase.Connection):
-    " "
-    database_type=database_type
-    id='%s_database_connection' % database_type
-    meta_type=title='Z %s Database Connection' % database_type
-    icon='misc_/Z%sDA/conn' % database_type
-
-    manage_properties=HTMLFile('connectionEdit', globals())
-
-    def factory(self): return DB
-
-    def connect(self,s):
-        try: self._v_database_connection.close()
-        except: pass
-        self._v_connected=''
-        DB=self.factory()
-	## No try. DO.
-	self._v_database_connection=DB(s)
-        self._v_connected=DateTime()
-        return self
-
-    def sql_quote__(self, v, escapes={}):
-        return self._v_database_connection.string_literal(v)
-
-
-classes=('DA.Connection',)
-
-meta_types=(
-    {'name':'Z %s Database Connection' % database_type,
-     'action':'manage_addZ%sConnectionForm' % database_type,
-     },
-    )
-
-folder_methods={
-    'manage_addZMySQLConnection':
-    manage_addZMySQLConnection,
-    'manage_addZMySQLConnectionForm':
-    manage_addZMySQLConnectionForm,
-    }
-
-__ac_permissions__=(
-    ('Add Z MySQL Database Connections',
-     ('manage_addZMySQLConnectionForm',
-      'manage_addZMySQLConnection')),
-    )
-
-misc_={'conn': ImageFile(
-    os.path.join('Shared','DC','ZRDB','www','DBAdapterFolder_icon.gif'))}
-
-for icon in ('table', 'view', 'stable', 'what',
-	     'field', 'text','bin','int','float',
-	     'date','time','datetime'):
-    misc_[icon]=ImageFile(os.path.join('icons','%s.gif') % icon, globals())

Deleted: zope-mysqlda/trunk/DABase.py
===================================================================
--- zope-mysqlda/trunk/DABase.py	2006-11-17 14:06:09 UTC (rev 471)
+++ zope-mysqlda/trunk/DABase.py	2006-11-17 14:06:40 UTC (rev 472)
@@ -1,250 +0,0 @@
-##############################################################################
-# 
-# Zope Public License (ZPL) Version 1.0
-# -------------------------------------
-# 
-# Copyright (c) Digital Creations.  All rights reserved.
-# 
-# This license has been certified as Open Source(tm).
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-# 
-# 1. Redistributions in source code must retain the above copyright
-#    notice, this list of conditions, and the following disclaimer.
-# 
-# 2. Redistributions in binary form must reproduce the above copyright
-#    notice, this list of conditions, and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-# 
-# 3. Digital Creations requests that attribution be given to Zope
-#    in any manner possible. Zope includes a "Powered by Zope"
-#    button that is installed by default. While it is not a license
-#    violation to remove this button, it is requested that the
-#    attribution remain. A significant investment has been put
-#    into Zope, and this effort will continue if the Zope community
-#    continues to grow. This is one way to assure that growth.
-# 
-# 4. All advertising materials and documentation mentioning
-#    features derived from or use of this software must display
-#    the following acknowledgement:
-# 
-#      "This product includes software developed by Digital Creations
-#      for use in the Z Object Publishing Environment
-#      (http://www.zope.org/)."
-# 
-#    In the event that the product being advertised includes an
-#    intact Zope distribution (with copyright and license included)
-#    then this clause is waived.
-# 
-# 5. Names associated with Zope or Digital Creations must not be used to
-#    endorse or promote products derived from this software without
-#    prior written permission from Digital Creations.
-# 
-# 6. Modified redistributions of any form whatsoever must retain
-#    the following acknowledgment:
-# 
-#      "This product includes software developed by Digital Creations
-#      for use in the Z Object Publishing Environment
-#      (http://www.zope.org/)."
-# 
-#    Intact (re-)distributions of any official Zope release do not
-#    require an external acknowledgement.
-# 
-# 7. Modifications are encouraged but must be packaged separately as
-#    patches to official Zope releases.  Distributions that do not
-#    clearly separate the patches from the original work must be clearly
-#    labeled as unofficial distributions.  Modifications which do not
-#    carry the name Zope may be packaged in any form, as long as they
-#    conform to all of the clauses above.
-# 
-# 
-# Disclaimer
-# 
-#   THIS SOFTWARE IS PROVIDED BY DIGITAL CREATIONS ``AS IS'' AND ANY
-#   EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-#   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-#   PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL DIGITAL CREATIONS OR ITS
-#   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-#   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-#   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-#   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-#   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-#   SUCH DAMAGE.
-# 
-# 
-# This software consists of contributions made by Digital Creations and
-# many individuals on behalf of Digital Creations.  Specific
-# attributions are listed in the accompanying credits file.
-# 
-##############################################################################
-__doc__='''Database Connection
-
-$Id: DABase.py,v 1.5 2001/08/17 02:17:38 adustman Exp $'''
-__version__='$Revision: 1.5 $'[11:-2]
-
-import Shared.DC.ZRDB.Connection, sys
-from Globals import HTMLFile
-from ImageFile import ImageFile
-from ExtensionClass import Base
-import Acquisition
-
-class Connection(Shared.DC.ZRDB.Connection.Connection):
-    _isAnSQLConnection=1
-
-    manage_options=Shared.DC.ZRDB.Connection.Connection.manage_options+(
-        {'label': 'Browse', 'action':'manage_browse'},
-        # {'label': 'Design', 'action':'manage_tables'},
-        )
-
-    manage_tables=HTMLFile('tables',globals())
-    manage_browse=HTMLFile('browse',globals())
-
-    info=None
-        
-    def tpValues(self):
-        #if hasattr(self, '_v_tpValues'): return self._v_tpValues
-        r=[]
-        # self._v_tables=tables=TableBrowserCollection()
-        #tables=tables.__dict__
-        c=self._v_database_connection
-        try:
-            for d in c.tables(rdb=0):
-                try:
-                    name=d['TABLE_NAME']
-                    b=TableBrowser()
-                    b.__name__=name
-                    b._d=d
-                    b._c=c
-                    #b._columns=c.columns(name)
-                    b.icon=table_icons.get(d['TABLE_TYPE'],'text')
-                    r.append(b)
-                    # tables[name]=b
-                except:
-                    # print d['TABLE_NAME'], sys.exc_type, sys.exc_value
-                    pass
-
-        finally: pass #print sys.exc_type, sys.exc_value
-        #self._v_tpValues=r
-        return r
-
-    def __getitem__(self, name):
-        if name=='tableNamed':
-            if not hasattr(self, '_v_tables'): self.tpValues()
-            return self._v_tables.__of__(self)
-        raise KeyError, name
-
-    def manage_wizard(self, tables):
-        " "
-
-    def manage_join(self, tables, select_cols, join_cols, REQUEST=None):
-        """Create an SQL join"""
-
-    def manage_insert(self, table, cols, REQUEST=None):
-        """Create an SQL insert"""
-
-    def manage_update(self, table, keys, cols, REQUEST=None):
-        """Create an SQL update"""
-
-class TableBrowserCollection(Acquisition.Implicit):
-    "Helper class for accessing tables via URLs"
-
-class Browser(Base):
-    def __getattr__(self, name):
-        try: return self._d[name]
-        except KeyError: raise AttributeError, name
-
-class values:
-
-    def len(self): return 1
-
-    def __getitem__(self, i):
-        try: return self._d[i]
-        except AttributeError: pass
-        self._d=self._f()
-        return self._d[i]
-
-class TableBrowser(Browser, Acquisition.Implicit):
-    icon='what'
-    Description=check=''
-    info=HTMLFile('table_info',globals())
-    menu=HTMLFile('table_menu',globals())
-
-    def tpValues(self):
-        v=values()
-        v._f=self.tpValues_
-        return v
-
-    def tpValues_(self):
-        r=[]
-        tname=self.__name__
-        for d in self._c.columns(tname):
-            b=ColumnBrowser()
-            b._d=d
-            b.icon=d['Icon']
-            b.TABLE_NAME=tname
-            r.append(b)
-        return r
-            
-    def tpId(self): return self._d['TABLE_NAME']
-    def tpURL(self): return "Table/%s" % self._d['TABLE_NAME']
-    def Name(self): return self._d['TABLE_NAME']
-    def Type(self): return self._d['TABLE_TYPE']
-
-    manage_designInput=HTMLFile('designInput',globals())
-    def manage_buildInput(self, id, source, default, REQUEST=None):
-        "Create a database method for an input form"
-        args=[]
-        values=[]
-        names=[]
-        columns=self._columns
-        for i in range(len(source)):
-            s=source[i]
-            if s=='Null': continue
-            c=columns[i]
-            d=default[i]
-            t=c['Type']
-            n=c['Name']
-            names.append(n)
-            if s=='Argument':
-                values.append("<!--#sql-value %s type=%s-->'" %
-                              (n, vartype(t)))
-                a='%s%s' % (n, boboType(t))
-                if d: a="%s=%s" % (a,d)
-                args.append(a)
-            elif s=='Property':
-                values.append("<!--#sql-value %s type=%s-->'" %
-                              (n, vartype(t)))
-            else:
-                if isStringType(t):
-                    if find(d,"\'") >= 0: d=join(split(d,"\'"),"''")
-                    values.append("'%s'" % d)
-                elif d:
-                    values.append(str(d))
-                else:
-                    raise ValueError, (
-                        'no default was given for <em>%s</em>' % n)
-
-            
-            
-
-class ColumnBrowser(Browser):
-    icon='field'
-
-    def check(self):
-        return ('\t<input type=checkbox name="%s.%s">' %
-                (self.TABLE_NAME, self._d['Name']))
-    def tpId(self): return self._d['Name']
-    def tpURL(self): return "Column/%s" % self._d['Name']
-    def Description(self): return " %s" % self._d['Description']
-
-table_icons={
-    'TABLE': 'table',
-    'VIEW':'view',
-    'SYSTEM_TABLE': 'stable',
-    }
-

Deleted: zope-mysqlda/trunk/DEPENDENCIES.txt
===================================================================
--- zope-mysqlda/trunk/DEPENDENCIES.txt	2006-11-17 14:06:09 UTC (rev 471)
+++ zope-mysqlda/trunk/DEPENDENCIES.txt	2006-11-17 14:06:40 UTC (rev 472)
@@ -1,4 +0,0 @@
-* MySQL-python-1.0.0 or newer
-
-* Zope-2.7.0 or newer
-

Deleted: zope-mysqlda/trunk/README.txt
===================================================================
--- zope-mysqlda/trunk/README.txt	2006-11-17 14:06:09 UTC (rev 471)
+++ zope-mysqlda/trunk/README.txt	2006-11-17 14:06:40 UTC (rev 472)
@@ -1,43 +0,0 @@
-Z MySQL DA
-
-  This is the Z MySQL database adapter product for the 
-  Z Object Publishing Environment.
-  
-  ** NOTE **
-
-  Note that the Z MySQL database adapter is compatible with MySQL
-  versions 3.22 and later (including MySQL 3.23, 4.0, and 4.1).
-  
-  ** IMPORTANT **
-  
-  This product is distributed as a NON-BINARY release!
-  
-  This product requires compiled Python extensions that are
-  NOT included as a binary with this release. You must build
-  or install the required extensions using the instructions 
-  below before the product will work properly!
-    
-  Installation
-
-    The Z MySQL database adapter uses the MySQLdb package.  
-    This must be installed before you can use the Z MySQL DA.
-    You can find this at::
-
-        http://sourceforge.net/projects/mysql-python
-
-    You need at least version 1.0.0; 1.2.0 is recommended. If you are
-    compiling this yourself, you must use the same python executable
-    as your Zope installation uses, otherwise Zope will not find it.
-
-  Connection Strings
-  
-    The connection string used for Z MySQL Database Connection
-    are of the form::
-
-       database[@host[:port]] [user [password [unix_socket]]]
-
-    or typically just::
-
-       database user password
-
-    to use the default server.

Deleted: zope-mysqlda/trunk/VERSION.txt
===================================================================
--- zope-mysqlda/trunk/VERSION.txt	2006-11-17 14:06:09 UTC (rev 471)
+++ zope-mysqlda/trunk/VERSION.txt	2006-11-17 14:06:40 UTC (rev 472)
@@ -1 +0,0 @@
-ZMySQLDA 2.0.9

Deleted: zope-mysqlda/trunk/__init__.py
===================================================================
--- zope-mysqlda/trunk/__init__.py	2006-11-17 14:06:09 UTC (rev 471)
+++ zope-mysqlda/trunk/__init__.py	2006-11-17 14:06:40 UTC (rev 472)
@@ -1,107 +0,0 @@
-##############################################################################
-# 
-# Zope Public License (ZPL) Version 1.0
-# -------------------------------------
-# 
-# Copyright (c) Digital Creations.  All rights reserved.
-# 
-# This license has been certified as Open Source(tm).
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-# 
-# 1. Redistributions in source code must retain the above copyright
-#    notice, this list of conditions, and the following disclaimer.
-# 
-# 2. Redistributions in binary form must reproduce the above copyright
-#    notice, this list of conditions, and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-# 
-# 3. Digital Creations requests that attribution be given to Zope
-#    in any manner possible. Zope includes a "Powered by Zope"
-#    button that is installed by default. While it is not a license
-#    violation to remove this button, it is requested that the
-#    attribution remain. A significant investment has been put
-#    into Zope, and this effort will continue if the Zope community
-#    continues to grow. This is one way to assure that growth.
-# 
-# 4. All advertising materials and documentation mentioning
-#    features derived from or use of this software must display
-#    the following acknowledgement:
-# 
-#      "This product includes software developed by Digital Creations
-#      for use in the Z Object Publishing Environment
-#      (http://www.zope.org/)."
-# 
-#    In the event that the product being advertised includes an
-#    intact Zope distribution (with copyright and license included)
-#    then this clause is waived.
-# 
-# 5. Names associated with Zope or Digital Creations must not be used to
-#    endorse or promote products derived from this software without
-#    prior written permission from Digital Creations.
-# 
-# 6. Modified redistributions of any form whatsoever must retain
-#    the following acknowledgment:
-# 
-#      "This product includes software developed by Digital Creations
-#      for use in the Z Object Publishing Environment
-#      (http://www.zope.org/)."
-# 
-#    Intact (re-)distributions of any official Zope release do not
-#    require an external acknowledgement.
-# 
-# 7. Modifications are encouraged but must be packaged separately as
-#    patches to official Zope releases.  Distributions that do not
-#    clearly separate the patches from the original work must be clearly
-#    labeled as unofficial distributions.  Modifications which do not
-#    carry the name Zope may be packaged in any form, as long as they
-#    conform to all of the clauses above.
-# 
-# 
-# Disclaimer
-# 
-#   THIS SOFTWARE IS PROVIDED BY DIGITAL CREATIONS ``AS IS'' AND ANY
-#   EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-#   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-#   PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL DIGITAL CREATIONS OR ITS
-#   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-#   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-#   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-#   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-#   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-#   SUCH DAMAGE.
-# 
-# 
-# This software consists of contributions made by Digital Creations and
-# many individuals on behalf of Digital Creations.  Specific
-# attributions are listed in the accompanying credits file.
-# 
-##############################################################################
-__doc__='''Generic Database Adapter Package Registration
-
-$Id: __init__.py,v 1.4 2001/08/17 02:17:38 adustman Exp $'''
-__version__='$Revision: 1.4 $'[11:-2]
-
-import sys, string
-import DA
-
-methods=DA.folder_methods
-misc_=DA.misc_
-
-def initialize(context):
-
-    context.registerClass(
-        DA.Connection,
-        permission='Add Z MySQL Database Connections',
-        constructors=(DA.manage_addZMySQLConnectionForm,
-                      DA.manage_addZMySQLConnection),
-    )
-
-    context.registerHelp()
-    context.registerHelpTitle('ZMySQLDA')
-

Deleted: zope-mysqlda/trunk/browse.dtml
===================================================================
--- zope-mysqlda/trunk/browse.dtml	2006-11-17 14:06:09 UTC (rev 471)
+++ zope-mysqlda/trunk/browse.dtml	2006-11-17 14:06:40 UTC (rev 472)
@@ -1,12 +0,0 @@
-<html>
-  <head><title><!--#var title_or_id--> tables</title></head>
-  <body bgcolor="#FFFFFF" link="#000099" vlink="#555555" alink="#77003B">
-    <!--#var manage_tabs-->
-    <!--#tree header=info-->
-      <IMG SRC="<!--#var SCRIPT_NAME-->/misc_/ZMySQLDA/<!--#var icon-->"
-       ALT="<!--#var Type-->" BORDER="0">
-      <!--#var Name--><!--#var Description-->
-    <!--#/tree-->
-
-  </body>
-</html>

Deleted: zope-mysqlda/trunk/connectionAdd.dtml
===================================================================
--- zope-mysqlda/trunk/connectionAdd.dtml	2006-11-17 14:06:09 UTC (rev 471)
+++ zope-mysqlda/trunk/connectionAdd.dtml	2006-11-17 14:06:40 UTC (rev 472)
@@ -1,92 +0,0 @@
-<html>
-  <head><title>Add Z MySQL Database Connection</title></head>
-  <body bgcolor="#FFFFFF" link="#000099" vlink="#555555" alink="#77003B">
-  
-    <h2>Add Z MySQL Database Connection</h2>
-    
-    <form action="manage_addZMySQLConnection" method="POST">
-      <table cellspacing="2">
-	<tr>
-	  <th align="LEFT" valign="TOP">Id</th>
-	  <td align="LEFT" valign="TOP">
-            <input type="TEXT" name="id" size="40"
-                value="MySQL_database_connection">
-          </td>
-	</tr>
-	<tr>
-	  <th align="LEFT" valign="TOP"><em>Title</em></th>
-	  <td align="LEFT" valign="TOP">
-            <input type="TEXT" name="title" size="40"
-                value="Z MySQL Database Connection">
-          </td>
-	</tr>
-	<tr>
-	  <th align="LEFT" valign="TOP">
-             Enter a Database Connection String
-	     <a href="#1"><sup>1</sup></a></th>
-	  <td align="LEFT" valign="TOP">
-            <input type="TEXT" name="connection_string" size="40">
-          </td>
-	</tr>
-	<tr>
-	  <th align="LEFT" valign="TOP">Connect immediately</th>
-	  <td align="LEFT" valign="TOP">
-            <input name="check" type="CHECKBOX" value="YES" CHECKED>
-          </td>
-	</tr>
-	<tr>
-	  <td></td>
-	  <td><br><input type="SUBMIT" value="Add"></td>
-	</tr>
-      </table>
-    </form>
-
-
-
-<dt><a hname="1"><sup>1</sup></a> Connection Strings</dt>
-<dd>
-<p>
-    The connection string used for Z MySQL Database Connection
-    is of the form:
-<pre>
-    [*lock] [+/-][database][@host[:port]] [user [password [unix_socket]]]
-</pre>
-    or typically:
-<pre>
-       database user password
-</pre>
-    to use a MySQL server on localhost via the standard UNIX socket.
-    Only specify host if the server is on a remote system. You can
-    use a non-standard port, if necessary. Hint: To use a non-standard
-    port on the local system, use 127.0.0.1 for the host instead of
-    localhost.
-<p>
-    Either a database or a host or both must be specified.
-<p>
-    If the UNIX socket is in a non-standard location, you can specify
-    the full path to it after the password.
-<p>
-    A '-' in front of the database tells ZMySQLDA to not use Zope's
-    Transaction Manager, even if the server supports transactions. A
-    '+' in front of the database tells ZMySQLDA that it must use
-    transactions; an exception will be raised if they are not
-    supported by the server. If neither '-' or '+' are present, then
-    transactions will be enabled if the server supports them.  If you
-    are using non-transaction safe tables (TSTs) on a server that
-    supports TSTs, use '-'. If you require transactions, use '+'. If
-    you aren't sure, don't use either.
-<p>
-    *<em>lock</em> at the begining of the connection string means to
-    psuedo-transactional. When the transaction begins, it will acquire
-    a lock on the server named <em>lock</em> (i.e. MYLOCK). When the
-    transaction commits, the lock will be released. If the transaction
-    is aborted and restarted, which can happen due to a ConflictError,
-    you'll get an error in the logs, and inconsistent data. In this
-    respect, it's equivalent to transactions turned off.
-<p>
-    Transactions are highly recommended. Using a named lock in
-    conjunctions with transactions is probably pointless.  
-</dd></dl>
-
-  </body>
-</html>

Deleted: zope-mysqlda/trunk/connectionEdit.dtml
===================================================================
--- zope-mysqlda/trunk/connectionEdit.dtml	2006-11-17 14:06:09 UTC (rev 471)
+++ zope-mysqlda/trunk/connectionEdit.dtml	2006-11-17 14:06:40 UTC (rev 472)
@@ -1,48 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
-<html lang="en">
-  <head><title>Edit <dtml-var title_or_id></title></head>
-  <body bgcolor="#FFFFFF" link="#000099" vlink="#555555" alink="#77003B">
-    <dtml-var manage_tabs>
-    
-    <h2>Edit <dtml-var title_or_id></h2>
-    
-    <form action="manage_edit" method="POST">
-      <table cellspacing="2">
-
-        <tr>
-	  <th align="LEFT" valign="TOP">Id</th>
-	  <td align="LEFT" valign="TOP"><dtml-var id></td>
-	</tr>
-
-	<tr>
-	  <th align="LEFT" valign="TOP"><em>Title</em></th>
-	  <td align="LEFT" valign="TOP">
-	    <input type="TEXT" name="title" size="40"
-                   value="<dtml-var title html_quote>">
-	  </td>
-	</tr>
-
-	<tr>
-	  <th align="LEFT" valign="TOP">Database Connection String</th>
-	  <td align="LEFT" valign="TOP">
-	    <input type="TEXT" name="connection_string" size="40"
-                   value="<dtml-var connection_string html_quote>">
-	  </td>
-	</tr>
-	<tr>
-	  <th align="LEFT" valign="TOP">Connect immediately</th>
-	  <td align="LEFT" valign="TOP">
-            <input name="check" type="CHECKBOX" value="YES" CHECKED>
-          </td>
-	</tr>
-
-        <tr>
-	  <td></td>
-	  <td><br><input type="SUBMIT" value="Change"></td>
-	</tr>
-
-      </table>
-    </form>
-
-  </body>
-</html>

Deleted: zope-mysqlda/trunk/db.py
===================================================================
--- zope-mysqlda/trunk/db.py	2006-11-17 14:06:09 UTC (rev 471)
+++ zope-mysqlda/trunk/db.py	2006-11-17 14:06:40 UTC (rev 472)
@@ -1,389 +0,0 @@
-##############################################################################
-# 
-# Zope Public License (ZPL) Version 1.0
-# -------------------------------------
-# 
-# Copyright (c) Digital Creations.  All rights reserved.
-# 
-# This license has been certified as Open Source(tm).
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-# 
-# 1. Redistributions in source code must retain the above copyright
-#    notice, this list of conditions, and the following disclaimer.
-# 
-# 2. Redistributions in binary form must reproduce the above copyright
-#    notice, this list of conditions, and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-# 
-# 3. Digital Creations requests that attribution be given to Zope
-#    in any manner possible. Zope includes a "Powered by Zope"
-#    button that is installed by default. While it is not a license
-#    violation to remove this button, it is requested that the
-#    attribution remain. A significant investment has been put
-#    into Zope, and this effort will continue if the Zope community
-#    continues to grow. This is one way to assure that growth.
-# 
-# 4. All advertising materials and documentation mentioning
-#    features derived from or use of this software must display
-#    the following acknowledgement:
-# 
-#      "This product includes software developed by Digital Creations
-#      for use in the Z Object Publishing Environment
-#      (http://www.zope.org/)."
-# 
-#    In the event that the product being advertised includes an
-#    intact Zope distribution (with copyright and license included)
-#    then this clause is waived.
-# 
-# 5. Names associated with Zope or Digital Creations must not be used to
-#    endorse or promote products derived from this software without
-#    prior written permission from Digital Creations.
-# 
-# 6. Modified redistributions of any form whatsoever must retain
-#    the following acknowledgment:
-# 
-#      "This product includes software developed by Digital Creations
-#      for use in the Z Object Publishing Environment
-#      (http://www.zope.org/)."
-# 
-#    Intact (re-)distributions of any official Zope release do not
-#    require an external acknowledgement.
-# 
-# 7. Modifications are encouraged but must be packaged separately as
-#    patches to official Zope releases.  Distributions that do not
-#    clearly separate the patches from the original work must be clearly
-#    labeled as unofficial distributions.  Modifications which do not
-#    carry the name Zope may be packaged in any form, as long as they
-#    conform to all of the clauses above.
-# 
-# 
-# Disclaimer
-# 
-#   THIS SOFTWARE IS PROVIDED BY DIGITAL CREATIONS ``AS IS'' AND ANY
-#   EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-#   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-#   PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL DIGITAL CREATIONS OR ITS
-#   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-#   USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-#   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-#   OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-#   OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-#   SUCH DAMAGE.
-# 
-# 
-# This software consists of contributions made by Digital Creations and
-# many individuals on behalf of Digital Creations.  Specific
-# attributions are listed in the accompanying credits file.
-# 
-##############################################################################
-
-'''$Id: db.py,v 1.21 2005/03/06 02:35:06 adustman Exp $'''
-__version__='$Revision: 1.21 $'[11:-2]
-
-import _mysql
-from _mysql_exceptions import OperationalError, NotSupportedError
-MySQLdb_version_required = (1,0,0)
-
-_v = getattr(_mysql, 'version_info', (0,0,0))
-if _v < MySQLdb_version_required:
-    raise NotSupportedError, \
-	"ZMySQLDA requires at least MySQLdb %s, %s found" % \
-	(MySQLdb_version_required, _v)
-
-from MySQLdb.converters import conversions
-from MySQLdb.constants import FIELD_TYPE, CR, CLIENT
-from Shared.DC.ZRDB.TM import TM
-from DateTime import DateTime
-from zLOG import LOG, ERROR, INFO
-
-import string, sys
-from string import strip, split, find, upper, rfind
-from time import time
-
-key_types = {
-    "PRI": "PRIMARY KEY",
-    "MUL": "INDEX",
-    "UNI": "UNIQUE",
-    }
-
-field_icons = "bin", "date", "datetime", "float", "int", "text", "time"
-
-icon_xlate = {
-    "varchar": "text", "char": "text",
-    "enum": "what", "set": "what",
-    "double": "float", "numeric": "float",
-    "blob": "bin", "mediumblob": "bin", "longblob": "bin",
-    "tinytext": "text", "mediumtext": "text",
-    "longtext": "text", "timestamp": "datetime",
-    "decimal": "float", "smallint": "int",
-    "mediumint": "int", "bigint": "int",
-    }
-
-type_xlate = {
-    "double": "float", "numeric": "float",
-    "decimal": "float", "smallint": "int",
-    "mediumint": "int", "bigint": "int",
-    "int": "int", "float": "float",
-    "timestamp": "datetime", "datetime": "datetime",
-    "time": "datetime",
-    }
-    
-def _mysql_timestamp_converter(s):
-	if len(s) < 14:
-		s = s + "0"*(14-len(s))
-        parts = map(int, (s[:4],s[4:6],s[6:8],
-                          s[8:10],s[10:12],s[12:14]))
-	return DateTime("%04d-%02d-%02d %02d:%02d:%02d" % tuple(parts))
-
-def DateTime_or_None(s):
-    try: return DateTime(s)
-    except: return None
-
-def int_or_long(s):
-    try: return int(s)
-    except: return long(s)
-
-"""Locking strategy:
-
-The minimum that must be done is a mutex around a query, store_result
-sequence. When using transactions, the mutex must go around the
-entire transaction."""
-
-class DB(TM):
-
-    Database_Connection=_mysql.connect
-    Database_Error=_mysql.Error
-
-    defs={
-        FIELD_TYPE.CHAR: "i", FIELD_TYPE.DATE: "d",
-        FIELD_TYPE.DATETIME: "d", FIELD_TYPE.DECIMAL: "n",
-        FIELD_TYPE.DOUBLE: "n", FIELD_TYPE.FLOAT: "n", FIELD_TYPE.INT24: "i",
-        FIELD_TYPE.LONG: "i", FIELD_TYPE.LONGLONG: "l",
-        FIELD_TYPE.SHORT: "i", FIELD_TYPE.TIMESTAMP: "d",
-        FIELD_TYPE.TINY: "i", FIELD_TYPE.YEAR: "i",
-        }
-
-    conv=conversions.copy()
-    conv[FIELD_TYPE.LONG] = int_or_long
-    conv[FIELD_TYPE.DATETIME] = DateTime_or_None
-    conv[FIELD_TYPE.DATE] = DateTime_or_None
-    conv[FIELD_TYPE.DECIMAL] = float
-    del conv[FIELD_TYPE.TIME]
-    del conv[FIELD_TYPE.BLOB]
-
-    _p_oid=_p_changed=_registered=None
-
-    def __init__(self,connection):
-        from thread import allocate_lock
-        self.connection=connection
-        self.kwargs = kwargs = self._parse_connection_string(connection)
-        self.db=apply(self.Database_Connection, (), kwargs)
-        LOG("ZMySQLDA", INFO, "Opened new connection %s: %s" \
-            % (self.db, connection)) 
-        transactional = self.db.server_capabilities & CLIENT.TRANSACTIONS
-        if self._try_transactions == '-':
-            transactional = 0
-        elif not transactional and self._try_transactions == '+':
-            raise NotSupportedError, "transactions not supported by this server"
-        self._use_TM = self._transactions = transactional
-        if self._mysql_lock:
-            self._use_TM = 1
-        if self._use_TM:
-            self._tlock = allocate_lock()
-        self._lock = allocate_lock()
-
-    def _parse_connection_string(self, connection):
-        kwargs = {'conv': self.conv}
-        items = split(connection)
-        self._use_TM = None
-        if not items: return kwargs
-        lockreq, items = items[0], items[1:]
-        if lockreq[0] == "*":
-            self._mysql_lock = lockreq[1:]
-            db_host, items = items[0], items[1:]
-            self._use_TM = 1
-        else:
-            self._mysql_lock = None
-            db_host = lockreq
-        if '@' in db_host:
-            db, host = split(db_host,'@',1)
-            kwargs['db'] = db
-            if ':' in host:
-                host, port = split(host,':',1)
-                kwargs['port'] = int(port)
-            kwargs['host'] = host
-        else:
-            kwargs['db'] = db_host
-        if kwargs['db'] and kwargs['db'][0] in ('+', '-'):
-            self._try_transactions = kwargs['db'][0]
-            kwargs['db'] = kwargs['db'][1:]
-        else:
-            self._try_transactions = None
-        if not kwargs['db']:
-            del kwargs['db']
-        if not items: return kwargs
-        kwargs['user'], items = items[0], items[1:]
-        if not items: return kwargs
-        kwargs['passwd'], items = items[0], items[1:]
-        if not items: return kwargs
-        kwargs['unix_socket'], items = items[0], items[1:]
-        return kwargs
-        
-    def tables(self, rdb=0,
-               _care=('TABLE', 'VIEW')):
-        r=[]
-        a=r.append
-        self._lock.acquire()
-        try:
-            self.db.query("SHOW TABLES")
-            result = self.db.store_result()
-        finally:
-            self._lock.release()
-        row = result.fetch_row(1)
-	while row:
-            a({'TABLE_NAME': row[0][0], 'TABLE_TYPE': 'TABLE'})
-            row = result.fetch_row(1)
-        return r
-
-    def columns(self, table_name):
-        from string import join
-        try:
-            try:
-                self._lock.acquire()
-                # Field, Type, Null, Key, Default, Extra
-                self.db.query('SHOW COLUMNS FROM %s' % table_name)
-                c=self.db.store_result()
-            finally:
-                self._lock.release()
-        except:
-            return ()
-        r=[]
-        for Field, Type, Null, Key, Default, Extra in c.fetch_row(0):
-            info = {}
-            field_default = Default and "DEFAULT %s"%Default or ''
-            if Default: info['Default'] = Default
-            if '(' in Type:
-                end = rfind(Type,')')
-                short_type, size = split(Type[:end],'(',1)
-                if short_type not in ('set','enum'):
-                    if ',' in size:
-                        info['Scale'], info['Precision'] = \
-                                       map(int, split(size,',',1))
-                    else:
-                        info['Scale'] = int(size)
-            else:
-                short_type = Type
-            if short_type in field_icons:
-                info['Icon'] = short_type
-            else:
-                info['Icon'] = icon_xlate.get(short_type, "what")
-            info['Name'] = Field
-            info['Type'] = type_xlate.get(short_type,'string')
-            info['Extra'] = Extra,
-            info['Description'] = join([Type, field_default, Extra or '',
-                                        key_types.get(Key, Key or ''),
-                                        Null != 'YES' and 'NOT NULL' or '']),
-            info['Nullable'] = (Null == 'YES') and 1 or 0
-            if Key:
-                info['Index'] = 1
-            if Key == 'PRI':
-                info['PrimaryKey'] = 1
-                info['Unique'] = 1
-            elif Key == 'UNI':
-                info['Unique'] = 1
-            r.append(info)
-        return r
-
-    def query(self,query_string, max_rows=1000):
-        self._use_TM and self._register()
-        desc=None
-        result=()
-        db=self.db
-        try:
-            self._lock.acquire()
-            for qs in filter(None, map(strip,split(query_string, '\0'))):
-                qtype = upper(split(qs, None, 1)[0])
-                if qtype == "SELECT" and max_rows:
-                    qs = "%s LIMIT %d" % (qs,max_rows)
-                    r=0
-                db.query(qs)
-                c=db.store_result()
-                if desc is not None:
-                    if c and (c.describe() != desc):
-                        raise 'Query Error', (
-                            'Multiple select schema are not allowed'
-                            )
-                if c:
-                    desc=c.describe()
-                    result=c.fetch_row(max_rows)
-                else:
-                    desc=None
-        finally:
-            self._lock.release()
-
-        if desc is None: return (),()
-
-        items=[]
-        func=items.append
-        defs=self.defs
-        for d in desc:
-            item={'name': d[0],
-                  'type': defs.get(d[1],"t"),
-                  'width': d[2],
-                  'null': d[6]
-                 }
-            func(item)
-        return items, result
-
-    def string_literal(self, s): return self.db.string_literal(s)
-
-    def _begin(self, *ignored):
-        self._tlock.acquire()
-        try:
-            self.db.ping()
-            if self._transactions:
-                self.db.query("BEGIN")
-                self.db.store_result()
-            if self._mysql_lock:
-                self.db.query("SELECT GET_LOCK('%s',0)" % self._mysql_lock)
-                self.db.store_result()
-        except:
-            LOG('ZMySQLDA', ERROR, "exception during _begin",
-                error=sys.exc_info())
-            self._tlock.release()
-            raise
-        
-    def _finish(self, *ignored):
-        try:
-            try:
-                if self._mysql_lock:
-                    self.db.query("SELECT RELEASE_LOCK('%s')" % self._mysql_lock)
-                    self.db.store_result()
-                if self._transactions:
-                    self.db.query("COMMIT")
-                self.db.store_result()
-            except:
-                LOG('ZMySQLDA', ERROR, "exception during _finish",
-                    error=sys.exc_info())
-                raise
-        finally:
-            self._tlock.release()
-
-    def _abort(self, *ignored):
-        try:
-            if self._mysql_lock:
-                self.db.query("SELECT RELEASE_LOCK('%s')" % self._mysql_lock)
-                self.db.store_result()
-            if self._transactions:
-                self.db.query("ROLLBACK")
-                self.db.store_result()
-            else:
-                LOG('ZMySQLDA', ERROR, "aborting when non-transactional")
-        finally:
-            self._tlock.release()

Deleted: zope-mysqlda/trunk/table_info.dtml
===================================================================
--- zope-mysqlda/trunk/table_info.dtml	2006-11-17 14:06:09 UTC (rev 471)
+++ zope-mysqlda/trunk/table_info.dtml	2006-11-17 14:06:40 UTC (rev 472)
@@ -1,7 +0,0 @@
-<dtml-var standard_html_header>
-
-<dtml-var TABLE_TYPE><dtml-if TABLE_OWNER>
- owned by <dtml-var TABLE_OWNER></dtml-if>
-<dtml-if REMARKS><br><dtml-var REMARKS></dtml-if>
-
-<dtml-var standard_html_footer>




More information about the pkg-zope-commits mailing list