[orapig commit] r10 - trunk

0 views
Skip to first unread message

codesite...@google.com

unread,
Jun 2, 2008, 1:25:59 AM6/2/08
to orapi...@googlegroups.com
Author: marhar
Date: Sun Jun 1 22:25:53 2008
New Revision: 10

Modified:
trunk/orapig.py

Log:
some general tidy-up.


Modified: trunk/orapig.py
==============================================================================
--- trunk/orapig.py (original)
+++ trunk/orapig.py Sun Jun 1 22:25:53 2008
@@ -45,7 +45,7 @@
sys.stderr.write(line+'\n')

def getprocedures(self,package_name):
- """get a list of all public procedures and functions in a package"""
+ """get all public procedures and functions in a package"""
self.curs.execute("""
select up.procedure_name
from user_procedures up, user_objects uo
@@ -93,7 +93,8 @@
where object_name=:objname
and argument_name is not null
and package_name=:package_name
- order by position""",objname=objname,package_name=package_name)
+ order by position""",
+ objname=objname,package_name=package_name)
rv=[i[0].lower() for i in self.curs]
return rv

@@ -108,7 +109,8 @@
and a.data_type='PL/SQL TABLE'
and b.data_type!='PL/SQL TABLE'
and a.package_name=:package_name
- and b.package_name=:package_name""",objname=objname,package_name=package_name)
+ and b.package_name=:package_name""",
+ objname=objname,package_name=package_name)
for row in self.curs:
rv[row[0].lower()]=row[1]
return rv
@@ -124,7 +126,8 @@
and a.data_type='PL/SQL TABLE'
and b.data_type!='PL/SQL TABLE'
and a.package_name=:package_name
- and b.package_name=:package_name""",objname=objname.upper(),package_name=package_name)
+ and b.package_name=:package_name""",
+ objname=objname.upper(),package_name=package_name)
for row in self.curs:
rv[row[0]] = row[1]
return rv
@@ -138,7 +141,8 @@
where object_name=:objname
and data_type='PL/SQL TABLE'
and (in_out='OUT' or in_out='IN/OUT')
- and package_name=:package_name""",objname=objname.upper(),package_name=package_name)
+ and package_name=:package_name""",
+ objname=objname.upper(),package_name=package_name)
for row in self.curs:
if row[0] > 0:
return True
@@ -173,7 +177,8 @@
#t+='\n'
t+='\n'
self.curs.execute("""select text from user_source where name=:1
- and type='PACKAGE' order by line""", [pkgname])
+ and type='PACKAGE' order by line""",
+ [pkgname])

# first, get the package docs
for r in self.curs:
@@ -290,7 +295,8 @@
dict = {}
%s
arguments.append(dict)
- result = self.curs.executemany("begin %s.%s(%s); end;", arguments)
+ result = self.curs.executemany(
+ "begin %s.%s(%s); end;", arguments)
if self.autocommit:
conn.commit()
return result
@@ -376,7 +382,7 @@
comment=self.memberdocs[lprocname]
else:
comment= " (No doc string for this procedure)\n"
- comment+=" (orapig --helpfmt for more info )"
+ comment+=" (see orapig docs for how to do this)"
if len(parms)==0:
plist1=''
plist2=''
@@ -386,10 +392,12 @@
alist=""
if len(arraytype) > 0:
for parm in arraytype.keys():
- alist+="
%s=self.curs.arrayvar(cx_Oracle.%s, %s)\n" % \
+ alist+=" "
+ alist+="%s=self.curs.arrayvar(cx_Oracle.%s, %s)\n" % \
(parm,self.typemap[arraytype[parm]],parm)
decl=\
- pytmpl[proc0]%(lprocname,plist1,comment,alist,package_name,procname,plist2)
+ pytmpl[proc0]%(lprocname,plist1,comment,alist,package_name,
+ procname,plist2)
self.println(decl)

def doprocv(self,procname,package_name):
@@ -402,13 +410,14 @@
raise_exception = ""
if self.hasoutputparms(procname,package_name):
raise_exception =" # We don't support out or in/out parameters\n"
+ raise_exception =" # We don't support out or in/out parameters\n"
raise_exception+=" raise Exception('Out array
parameters not supported')\n"
if self.memberdocs.has_key(lprocname):
comment=self.memberdocs[lprocname]
else:
comment= " (No doc string for this procedure)\n"
- comment+=" (orapig --helpfmt for more info )"
- comment+='\n (this is the autogenerated vectorized _V procedure)'
+ comment+=" (see orapig docs for how to do this)"
+ comment+='\n (autogenerated vectorized _V procedure)'
comment+='\n (dont use it if you have out parms)'
nparms=len(parms)
plist2=""
@@ -421,8 +430,10 @@
param_loop+="
dict['%d']=self.curs.arrayvar(cx_Oracle.%s, parmlist[i][%d])\n" % \
(i,self.typemap[arrayindices[i]],i-1)
else:
- param_loop+="
dict['%d']=parmlist[i][%d]\n" % (i, i-1)
- decl=pytmpl[procv0]%(lprocname+"_V",comment,raise_exception,param_loop,package_name,procname,plist2)
+ param_loop+=" dict['%d']=parmlist[i][%d]\n"%\
+ (i, i-1)
+ decl=pytmpl[procv0]%(lprocname+"_V",comment,raise_exception,
+ param_loop,package_name,procname,plist2)
self.println(decl)

def doprocs(self,package_name):
@@ -445,7 +456,7 @@
comment=self.memberdocs[lfuncname]
else:
comment= " (No doc string for this function)\n"
- comment+=" (orapig --helpfmt for more info)"
+ comment+=" (see orapig docs for how to do this)"
if len(parms)==0:
plist1=''
plist2=''
@@ -461,7 +472,8 @@
decl=pytmpl[func0]%(lfuncname,plist1,comment,alist,
package_name,funcname,retype,plist2)
else:
- decl=pytmpl[func1]%(lfuncname,plist1,comment,alist,oraretype)
+ decl=pytmpl[func1]%(lfuncname,plist1,comment,alist,
+ oraretype)

self.println(decl)

@@ -479,30 +491,34 @@
# main
#-----------------------------------------------------------------------

+helptext="""orapig.py option pkg...
+
+questions? bugs?
+docs and mailing lists: http://code.google.com/p/orapig"""
+
def main():
"""main program"""

- p = optparse.OptionParser(usage="usage: %prog options pkg...")
+ p = optparse.OptionParser(usage=helptext)
p.add_option("-C","--conn",action="store",type="string",dest="conn",
help="Database connection string")
- p.add_option("-O","--output",action="store",type="string",dest="output",
- help="Output file")
+ p.add_option("-O","--output",action="store",type="string",
+ dest="output",help="Output file")
p.add_option("","--lang",action="store",type="string",dest="lang",
help="Language binding")
- p.add_option("-P","--pass",action="store",type="string",dest="password",
- help="Database password")
- p.add_option("","--dump",action="store_true",dest="dump",default=False,
- help="dump datastructures for debugging")
- p.add_option("","--sys",action="store_true",dest="sys",default=False,
- help="connect as sysdba")
- p.add_option("","--helpfmt",action="store_true",dest="helpfmt",
- default=False, help="show help for formatting")
+ p.add_option("-P","--pass",action="store",type="string",
+ dest="password",help="Database password")
+ p.add_option("","--dump",action="store_true",dest="dump",
+ default=False,help="dump AST for debugging")
+ p.add_option("","--sys",action="store_true",dest="sys",
+ default=False,help="connect as sysdba")
(opts,args) = p.parse_args()

if not (opts.conn and args):
p.print_help()
sys.exit(1)

+ # if the user has not supplied a password, we prompt him for it
oraconnre = re.compile("^([^/@]*)(/([^@]*))?(@(.*))?$")
user,password,host=oraconnre.match(opts.conn).groups()[0::2]
if opts.password:
@@ -529,10 +545,6 @@

if opts.lang is None or opts.lang=="python" or opts.lang=='py':
trans=PyTrans(conn,output)
- elif opts.lang=='cxx':
- trans=None
- elif opt.lang=='rb':
- trans=None
else:
print >>sys.stderr,'unsupported language:',opt.lang
sys.exit(1)

Reply all
Reply to author
Forward
0 new messages