--- ZSQLExtend/ZSQLExtend.py 2004/10/29 13:40:24 1.48
+++ ZSQLExtend/ZSQLExtend.py 2005/10/11 20:05:06 1.67
@@ -1,17 +1,23 @@
from OFS.Folder import Folder
-from Globals import Persistent
from Acquisition import Implicit
-from Globals import DTMLFile
+from Globals import DTMLFile,package_home,Persistent
import urllib
import re
import string
+import sys
#from pyPgSQL import libpq
from AccessControl import getSecurityManager
-import os.path
+from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
from Products.PageTemplates.PageTemplateFile import PageTemplateFile
from Products.ZSQLMethods.SQL import SQLConnectionIDs
+from xml.sax.saxutils import escape
+from types import *
import Shared.DC.ZRDB.DA
+import zLOG
+import os.path
+import os
+
def analyseIntSearch(word):
#analyse integer searches
@@ -36,7 +42,7 @@ def sql_quote(v):
quote_dict = {"\'": "''", "\\": "\\\\"}
for dkey in quote_dict.keys():
if string.find(v, dkey) >= 0:
- v=join(split(v,dkey),quote_dict[dkey])
+ v=string.join(string.split(v,dkey),quote_dict[dkey])
return "'%s'" % v
def showSQLConnectionIDs(self):
@@ -46,6 +52,7 @@ class ZSQLExtendFolder(Folder,Persistent
"""Folder"""
meta_type="ZSQLExtendFolder"
+
def testneu(self):
"""test"""
relStatement="""period like '%s%%'"""
@@ -53,7 +60,10 @@ class ZSQLExtendFolder(Folder,Persistent
wherePart="museum_no like 'VAT%'"
classes=['Uruk III','Uruk IV']
return self.searchRel(relStatement,statement,wherePart,classes)
-
+
+ def URLquote(self,txt):
+ """urlquote"""
+ return urllib.quote(txt)
def searchRel(self,relStatement,statement,wherePart,classes):
"""suche relative haufigkeiten"""
ret={}
@@ -195,7 +205,7 @@ class ZSQLExtendFolder(Folder,Persistent
return ret
def ZSQLSelectionFromCRList(self,fieldname,listField,boxType="checkbox",checked=None):
- """generate select oprions form a cr seperated list"""
+ """generate select options from a cr seperated list"""
fields=listField.split("\n")
ret=""
for field in fields:
@@ -205,35 +215,85 @@ class ZSQLExtendFolder(Folder,Persistent
ret+="""%s"""%(fieldname,boxType,field.encode('utf-8'),field.encode('utf-8'))
return ret
+ def ZSQLSelectionFromSearchList(self,fieldname,results,fieldnameResult,boxType="checkbox",checked=None):
+ """generate select options from a cr seperated list"""
- def ZSQLOptionsFromCRList(self,fieldname,listField, multiple=''):
+ ret=""
+ if not results: return ""
+
+ for result in results:
+ field=getattr(result,fieldnameResult)
+ if field:
+ if checked and (getattr(result,fieldnameResult) in checked.split("\n")):
+ ret+="""%s"""%(fieldname,boxType,field.encode('utf-8'),field.encode('utf-8'))
+ else:
+ ret+="""%s"""%(fieldname,boxType,field.encode('utf-8'),field.encode('utf-8'))
+ return ret
+
+
+ def ZSQLOptionsFromCRList(self,fieldname,listField, multiple='',start=None,startValue=None,size=None):
"""generate select oprions form a cr seperated list"""
fields=listField.split("\n")
- ret="""