You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(57) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(44) |
Feb
(151) |
Mar
(131) |
Apr
(171) |
May
(125) |
Jun
(43) |
Jul
(26) |
Aug
(19) |
Sep
(10) |
Oct
|
Nov
(4) |
Dec
(28) |
2004 |
Jan
(134) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <ki...@us...> - 2003-04-04 23:58:17
|
Update of /cvsroot/pymerase/pymerase/pymweb/cgi In directory sc8-pr-cvs1:/tmp/cvs-serv7499/cgi Modified Files: pymweb.py Log Message: was missing a " in html code. =o( Index: pymweb.py =================================================================== RCS file: /cvsroot/pymerase/pymerase/pymweb/cgi/pymweb.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** pymweb.py 4 Apr 2003 23:57:19 -0000 1.2 --- pymweb.py 4 Apr 2003 23:58:14 -0000 1.3 *************** *** 170,174 **** else: print '<b>Generation Complete</b><br>' ! print 'Download: <a href="/pymweb/%s/%s>%s</a>' % (myfile, form['dest'].value, form['dest'].value) --- 170,174 ---- else: print '<b>Generation Complete</b><br>' ! print 'Download: <a href="/pymweb/%s/%s">%s</a>' % (myfile, form['dest'].value, form['dest'].value) |
From: <ki...@us...> - 2003-04-04 23:57:22
|
Update of /cvsroot/pymerase/pymerase/pymweb/cgi In directory sc8-pr-cvs1:/tmp/cvs-serv7197/cgi Modified Files: pymweb.py Log Message: updated to handle files uploaded by a windows machine with internet explorer. Index: pymweb.py =================================================================== RCS file: /cvsroot/pymerase/pymerase/pymweb/cgi/pymweb.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** pymweb.py 4 Apr 2003 03:00:27 -0000 1.1 --- pymweb.py 4 Apr 2003 23:57:19 -0000 1.2 *************** *** 3,7 **** # # # C O P Y R I G H T N O T I C E # ! # Copyright (c) 2002 by: # # * California Institute of Technology # # # --- 3,7 ---- # # # C O P Y R I G H T N O T I C E # ! # Copyright (c) 2003 by: # # * California Institute of Technology # # # *************** *** 104,108 **** print "---DEBUG---<br>" ! if __name__ == '__main__': print "Content-Type: text/html" --- 104,116 ---- print "---DEBUG---<br>" ! ! def checkFileName(fileName): ! #Change windows linesep to linux linesep ! text = re.sub('\\\\', '/', fileName) ! path, file = os.path.split(text) ! ! return file ! ! if __name__ == '__main__': print "Content-Type: text/html" *************** *** 119,123 **** #print 'File:', file.filename, '<br>' ! saved = saveFile(file.filename, file.file.read()) #print 'File %s saved.<br><br>' % (saved) --- 127,135 ---- #print 'File:', file.filename, '<br>' ! fileName = file.filename ! ! fileName = checkFileName(fileName) ! ! saved = saveFile(fileName, file.file.read()) #print 'File %s saved.<br><br>' % (saved) *************** *** 126,130 **** print '<b>Input:</b> %s<br>' % (form['input'].value) print '<b>Output:</b> %s<br>' % (form['output'].value) ! print '<b>Schema:</b> %s<br>' % (file.filename) print '<b>Destination:</b> %s<br>' % (form['dest'].value) print '<br>' --- 138,142 ---- print '<b>Input:</b> %s<br>' % (form['input'].value) print '<b>Output:</b> %s<br>' % (form['output'].value) ! print '<b>Schema:</b> %s<br>' % (fileName) print '<b>Destination:</b> %s<br>' % (form['dest'].value) print '<br>' *************** *** 132,136 **** driver = getDriverProgram(form['input'].value, form['output'].value, ! file.filename, form['dest'].value) --- 144,148 ---- driver = getDriverProgram(form['input'].value, form['output'].value, ! fileName, form['dest'].value) *************** *** 154,158 **** if str(text) != '0': ! print 'ERROR, exit code %s' % (text) else: print '<b>Generation Complete</b><br>' --- 166,171 ---- if str(text) != '0': ! print 'ERROR, exit code %s<br>' % (text) ! print 'E-mail pymerase-devel at lists.sourceforge.net for help.<br>' else: print '<b>Generation Complete</b><br>' |
From: <ki...@us...> - 2003-04-04 23:18:25
|
Update of /cvsroot/pymerase/pymerase/pymweb In directory sc8-pr-cvs1:/tmp/cvs-serv27245 Added Files: Makefile Log Message: make file for installing --- NEW FILE: Makefile --- all: echo 'make install - Installation' echo 'make restart - Restart Apache' install: cp cgi/pymweb.py /usr/lib/cgi-bin/ cp www/pymweb.html /var/www/ cp -r www/images/ /var/www/ cp conf/pymweb.conf /etc/apache/conf/ restart: /etc/init.d/apache restart |
From: <ki...@us...> - 2003-04-04 23:17:59
|
Update of /cvsroot/pymerase/pymerase/pymweb In directory sc8-pr-cvs1:/tmp/cvs-serv27023 Added Files: README Log Message: install docs for pymweb --- NEW FILE: README --- *Pymweb Installation --------------------- Debian Only Instructions: 1) add 'Include /etc/apache/conf/pymweb.conf' without the quotes to your apache httpd.conf file. 2) run 'make install' as root. 3) restart apache with the command '/etc/init.d/apache restart' as root. Other Installation: You will need to modify the make file to have it put the files in the correct places. E-mail the pymerase-devel at lists.sourceforge.net mailing list for help. |
From: <de...@us...> - 2003-04-03 01:25:44
|
Update of /cvsroot/pymerase/pymerase/examples In directory sc8-pr-cvs1:/tmp/cvs-serv1046 Added Files: __init__.py Log Message: add 2 __init__ modules to allow the moved TestSchool to import the school example and run it as a test. --- NEW FILE: __init__.py --- |
From: <de...@us...> - 2003-04-03 01:25:41
|
Update of /cvsroot/pymerase/pymerase/examples/school In directory sc8-pr-cvs1:/tmp/cvs-serv1046/school Added Files: __init__.py Log Message: add 2 __init__ modules to allow the moved TestSchool to import the school example and run it as a test. --- NEW FILE: __init__.py --- |
From: <de...@us...> - 2003-04-03 01:15:57
|
Update of /cvsroot/pymerase/pymerase/tests In directory sc8-pr-cvs1:/tmp/cvs-serv2262 Modified Files: TestSchool.py Log Message: Changed how I locate the examples/school directory from importing to just assuming its at ../examples/school. (Not good but might work better for brandon) Index: TestSchool.py =================================================================== RCS file: /cvsroot/pymerase/pymerase/tests/TestSchool.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TestSchool.py 3 Apr 2003 00:51:35 -0000 1.1 --- TestSchool.py 3 Apr 2003 01:15:53 -0000 1.2 *************** *** 48,53 **** """Initialize """ ! import examples.school ! self.school_dir = examples.school.__path__[0] unittest.TestCase.__init__(self, name) --- 48,52 ---- """Initialize """ ! self.school_dir = os.path.join(os.getcwd(), "../examples/school") unittest.TestCase.__init__(self, name) |
From: <de...@us...> - 2003-04-03 00:51:39
|
Update of /cvsroot/pymerase/pymerase/tests In directory sc8-pr-cvs1:/tmp/cvs-serv24932 Added Files: TestSchool.py Log Message: Moved TestSchool.py to pymerase/tests Also moved the database initialization into the test code instead of being seperate sql insert table statements. (So as to cut down on the number of places I need to keep updated for my test suite). Made a loop for testing two different name manglers for the database field and table names. Not all test cases pass yet, but I'm getting closer. --- NEW FILE: TestSchool.py --- #!/usr/bin/env python from __future__ import nested_scopes import copy import sys import os import string import unittest # CHANGE TO HOST RUNNING POSTGRESQL host='localhost' database='school_d0' # import components needed to build the sql & api # FIXME: need to set path to pymerase code #sys.path.append(os.path.abspath("..")) import pymerase from pymerase.util import NameMangling # import code to use api from mx import DateTime def getHouses(session): """Returns dictionary of houses indexed by house name """ houses_list = session.getAllObjects(session.Houses) houses = {} for h in houses_list: houses[string.lower(h.getHouseName())] = h return houses def getFaculty(session): """Returns dictionary of houses indexed by professor """ prof_list = session.getAllObjects(session.Faculty) faculty = {} for p in prof_list: faculty[string.lower(p.getGivenName())] = p return faculty def getEmployee(session, givenName): givenNameQuery = "%s = '%s'" % (givenNameFieldName, givenName) employees = session.getObjectsWhere(session.Employees, givenNameQuery) return employees class CreatePyGenexTestCases(unittest.TestCase): def __init__(self, name): """Initialize """ import examples.school self.school_dir = examples.school.__path__[0] unittest.TestCase.__init__(self, name) def setUp(self): """Perform setup """ self.current_dir = os.getcwd() os.chdir(self.school_dir) self.current_python_path = sys.path sys.path.append(self.school_dir) def tearDown(self): """Clean up after ourselves. """ os.chdir(self.current_dir) sys.path = self.current_python_path def resetDirectory(self): """Reset the environemnt for testing a different API """ # remove the generated API api_dir = os.path.join(self.school_dir, 'school') if os.path.isdir(api_dir): for file in os.listdir(api_dir): os.remove(os.path.join(api_dir,file)) os.rmdir(api_dir) sql_file = os.path.join(self.school_dir, 'school.sql') if os.path.isfile(sql_file): os.remove(sql_file) #os.system("sleep 10") def testCreate_underscore_API(self): """Test generating python api with the sql part using underscore_word. """ self.resetDirectory() # Figure out path information schema = os.path.abspath("./schema") api_output = os.path.abspath("./school") sql_output = os.path.abspath("./school.sql") # construct pymerase object translator = pymerase.Pymerase() translator.setDefaultPackage("school") # set mangler convetion #mangler = NameMangling.underscore_word() #translator.setNameMangler(mangler, 'CreateSQL') # do the translation classesInModel={} parsed_input = translator.read(schema, 'parseGenexSchemaXML', classesInModel) translator.write(parsed_input, api_output, 'CreateDBAPI') translator.write(parsed_input, sql_output, 'CreateSQL') # one of the later tests needs to know what the actual field name is global givenNameFieldName givenNameFieldName="given_name" global dataSourceName dataSourceName = "data.sql" def testCreateCapsAPI(self): """Test generating python api with the sql part using CapWord. """ self.resetDirectory() # Figure out path information schema = os.path.abspath("./schema") api_output = os.path.abspath("./school") sql_output = os.path.abspath("./school.sql") # construct pymerase object translator = pymerase.Pymerase() translator.setDefaultPackage("school") # set mangler convetion mangler = NameMangling.CapWord() translator.setNameMangler(mangler, 'CreateSQL') # do the translation classesInModel={} parsed_input = translator.read(schema, 'parseGenexSchemaXML', classesInModel) print "*** parsed_input: ",parsed_input translator.write(parsed_input, api_output, 'CreateDBAPI') translator.write(parsed_input, sql_output, 'CreateSQL') # one of the later tests needs to know what the actual field name is global givenNameFieldName givenNameFieldName='"GivenName"' global dataSourceName dataSourceName = "dataCapWord.sql" def testCreateDB(self): """Construct the set of commands needed to tell postgresql to load data """ createDBName = "createdb.sql" createdb = open(createDBName, "w") createDBText = [] createDBText.append("drop database school_d0;") createDBText.append("create database school_d0;") createDBText.append("\c school_d0") createDBText.append("\i school.sql") #createDBText.append("\i %s" % (dataSourceName)) createdb.write(string.join(createDBText, os.linesep)) createdb.close() exit = os.system("sleep 0 ; psql -h %s -f createdb.sql template1" % (host)) self.failUnless(exit == 0) #os.remove(createDBName) def testSimpleInsert(self): """Insert objects with all attributes manual initialized """ # also known as try to get rid of the using psql to load data import school s = school.DBSession(host, database) # define some faculty xavier = s.Faculty() xavier.setGivenName('Xavier') xavier.setFamilyName('Xal') xavier.setStatus('Associate') xavier.commit() yolanda = s.Faculty() yolanda.setGivenName('Yolanda') yolanda.setFamilyName('Yetti') yolanda.setStatus('Visiting') yolanda.commit() zaphod = s.Faculty() zaphod.setGivenName('Zaphod') zaphod.setFamilyName('Zim') zaphod.setStatus('Full') zaphod.commit() # define some houses for house_name in ('Blacker', 'Dabney', 'Flemming', 'Lloyd', 'Page', 'Ricketts', 'Ruddock'): house = s.Houses() house.setHouseName(house_name) house.commit() for student_values in [('Ann', 'Arbor', 1, 2), ('Ben', 'Blartfast', 2, 1), ('Charles', 'Cooper', 3, 3), ('Daria', 'Darwin', 4, 2),]: student = s.Students() student.setGivenName(student_values[0]) student.setFamilyName(student_values[1]) student.setHouseFk(student_values[2]) student.setAdvisorFk(student_values[3]) student.commit() courses_list = [('Bi/CS 164', 'Lecture, discussion, and projects in bioinformatics. Students will create, extend, and integrate bioinformatic software tools. Topics include genome-scale mRNA expression analysis, signal transduction pathway modeling, genome database analysis tools, and modeling morphogenesis from gene expression patterns. Each project will link into a larger Web application framework.'), ('Bi 188', 'Introduction to the genetics of humans. Subjects covered include human genome structure, genetic diseases and predispositions, the human genome project, forensic use of human genetic markers, human variability, and human evolution.') ] for course_value in courses_list: course = s.Courses() course.setCode(course_value[0]) course.setDescription(course_value[1]) course.commit() for class_values in [(1,1,'2002-04-01',3.3), (2,1,'2002-04-01',3.0), ]: c = s.Classes() c.setUidFk(class_values[0]) c.setCourseFk(class_values[1]) c.setTerm(class_values[2]) c.setGrade(class_values[3]) c.commit() for employee_value in [('diane', 'trout', 'code monkey'), ('kevin', 'cooper', 'lab tech'), ('jason', 'stewart', 'software consultant'), ('amanda', 'jones', 'music')]: employee = s.Employees() employee.setGivenName(employee_value[0]) employee.setFamilyName(employee_value[1]) #employee.setJobDescription(employee_value[2]) employee.commit() s.close() def testReadObject(self): import school s = school.DBSession(host, database) # grab by primary key and make sure it's our first example student ann = s.Students(4) self.failUnless(ann.getGivenName() == 'Ann') self.failUnless(ann.getFamilyName() == 'Arbor') self.failUnless(ann.getHouseFk() == 1) self.failUnless(ann.getAdvisorFk() == 2) # try to read inherited object via class factory zaphod = s.Faculty(3) self.failUnless(zaphod.getGivenName() == 'Zaphod') self.failUnless(zaphod.getFamilyName() == 'Zim') self.failUnless(zaphod.getStatus() == 'Full') # The initial load of data installs 4 example students print dir(school) print dir(school.school) student_list = s.getAllObjects(school.Students.Students) self.failUnless(len(student_list) == 4) s.close() def testReadOneToOneLink(self): import school s = school.DBSession(host, database) daria = s.Students(7) # FIXME: this should read advisor advisors = daria.getAdvisor() self.failUnless(len(advisors) == 1) self.failUnless(advisors[0].getUid() == 2) self.failUnless(advisors[0].getGivenName() == 'Yolanda') self.failUnless(advisors[0].getFamilyName() == 'Yetti') s.close() def testReadManyToOneLink(self): import school s = school.DBSession(host, database) houses = getHouses(s) darbs = houses['dabney'].getStudents() self.failUnless(len(darbs) == 1) self.failUnless(darbs[0].getGivenName() == "Ben") self.failUnless(darbs[0].getFamilyName() == "Blartfast") s.close() def testReadManyToManyLink(self): pass def testOneToOneInsert(self): import school s = school.DBSession(host, database) houses = getHouses(s) faculty = getFaculty(s) #erin = Students(db_session=s) erin = s.Students() erin.setGivenName("Erin") erin.setFamilyName("Ericsson") erin.setHouses(houses['page']) faculty['yolanda'].appendStudents(erin) faculty['yolanda'].commit() #erin_list = s.getObjectsWhere(s.Students, "\"GivenName\" = 'Erin'") givenNameQuery = "%s = 'Erin'" % ( givenNameFieldName ) erin_list = s.getObjectsWhere(s.Students, givenNameQuery) self.failUnless(len(erin_list) == 1) erin_loaded = erin_list[0] print erin.id(), erin_loaded.id() self.failUnless(erin.id() == erin_loaded.id()) self.failUnless(erin.getGivenName() == erin_loaded.getGivenName()) self.failUnless(erin.getFamilyName() == erin_loaded.getFamilyName()) self.failUnless(erin.getHouseFk() == erin_loaded.getHouseFk()) self.failUnless(erin.getAdvisorFk() == erin_loaded.getAdvisorFk()) frederick = s.Students() frederick.setGivenName("Frederick") frederick.setFamilyName("Fergison") frederick.setHouses(houses['ricketts']) faculty['zaphod'].appendStudents(frederick) faculty['zaphod'].commit() #frederick_list = s.getObjectsWhere(s.Students, # "\"GivenName\" = 'Frederick'") givenNameQuery = "%s = 'Frederick'" % (givenNameFieldName) frederick_list = s.getObjectsWhere(s.Students, givenNameQuery) self.failUnless(len(frederick_list) == 1) frederick_loaded = frederick_list[0] self.failUnless(frederick.id() == frederick_loaded.id(), "frederick primary key failure %s != %s" % (frederick.id(), frederick_loaded.id())) self.failUnless(frederick.getGivenName() == frederick_loaded.getGivenName()) self.failUnless(frederick.getFamilyName()==frederick_loaded.getFamilyName()) self.failUnless(frederick.getHouseFk() == frederick_loaded.getHouseFk()) self.failUnless(frederick.getAdvisorFk() == frederick_loaded.getAdvisorFk()) s.close() def testManyToOneInsert(self): import school s = school.DBSession(host, database) charles = s.Students(6) daria = s.Students(7) bi188 = s.Courses(2) classes = s.Classes() classes.setCourses(bi188) classes.setStudents(charles) classes.setTerm(DateTime.DateTime(2002,04,01)) classes.setGrade(3.3) classes.commit() classes = s.Classes() classes.setCourses(bi188) classes.setStudents(daria) classes.setTerm(DateTime.DateTime(2002,04,01)) classes.setGrade(3.7) classes.commit() s.close() def testTreeInsert(self): import school def checkEmployee(session, givenName): e = getEmployee(session, givenName) self.failUnless(len(e) == 1) return e[0] s = school.DBSession(host, database) diane = checkEmployee(s, "diane") kevin = checkEmployee(s, "kevin") jason = checkEmployee(s, "jason") amanda = checkEmployee(s, "amanda") yolanda = checkEmployee(s, "Yolanda") #yolanda.appendManaged(amanda) diane.setManager(yolanda) kevin.setManager(diane) amanda.setManager(yolanda) diane.commit() kevin.commit() jason.setManager(yolanda) jason.commit() amanda.commit() yolanda.commit() s.close() def testTreeRetrieval(self): import school s = school.DBSession(host, database) yolanda = getEmployee(s, "Yolanda")[0] managedList = yolanda.getManaged() self.failUnless(len(managedList) == 3) diane = filter(lambda x: x.getGivenName() == 'diane', managedList)[0] managedByDiane = diane.getManaged() self.failUnless(len(managedByDiane) == 1) kevin = managedByDiane[0] self.failUnless(kevin.getGivenName() == 'kevin') kevinManager = kevin.getManager()[0] self.failUnless(kevinManager.getGivenName() == diane.getGivenName()) amanda = filter(lambda x: x.getGivenName() == 'amanda', managedList)[0] amandaDirect = getEmployee(s, "amanda")[0] self.failUnless(amanda.getGivenName() == amandaDirect.getGivenName()) self.failUnless(amanda.getFamilyName() == amandaDirect.getFamilyName()) s.close() def suite(): suite = unittest.TestSuite() # run through test twice once for underscore_api and once for CapsAPI api_tests = [ CreatePyGenexTestCases("testCreate_underscore_API"), CreatePyGenexTestCases("testCreateCapsAPI"), ] for api in api_tests: suite.addTest(api) suite.addTest(CreatePyGenexTestCases("testCreateDB")) suite.addTest(CreatePyGenexTestCases("testSimpleInsert")) suite.addTest(CreatePyGenexTestCases("testReadObject")) suite.addTest(CreatePyGenexTestCases("testReadOneToOneLink")) suite.addTest(CreatePyGenexTestCases("testReadManyToOneLink")) suite.addTest(CreatePyGenexTestCases("testReadManyToManyLink")) suite.addTest(CreatePyGenexTestCases("testOneToOneInsert")) suite.addTest(CreatePyGenexTestCases("testManyToOneInsert")) suite.addTest(CreatePyGenexTestCases("testTreeInsert")) suite.addTest(CreatePyGenexTestCases("testTreeRetrieval")) return suite if __name__ == "__main__": unittest.main(defaultTest="suite") |
From: <ki...@us...> - 2003-04-03 00:47:17
|
Update of /cvsroot/pymerase/Docs/install In directory sc8-pr-cvs1:/tmp/cvs-serv23271a Added Files: Makefile Log Message: pretty pdf file generation --- NEW FILE: Makefile --- install.pdf: install.tex latex install.tex latex install.tex dvips -Ppdf install.dvi ps2pdf install.ps gv install.pdf |
From: <ki...@us...> - 2003-04-03 00:47:01
|
Update of /cvsroot/pymerase/Docs/install In directory sc8-pr-cvs1:/tmp/cvs-serv23173 Added Files: install.tex Log Message: Installation Docs in latex format --- NEW FILE: install.tex --- % Pymerase Docs - Template % Copyright (c) California Institute of Technology % % Authors: Brandon King % $Revision: 1.1 $ % Modified $Date: 2003/04/03 00:46:58 $ \documentclass{article} \usepackage{graphicx} \usepackage{color} \usepackage[margin=3cm,noheadfoot]{geometry} \setlength{\parindent}{0in} \setlength{\parskip}{2mm} %colors \newcommand{\cb}{\color{blue}} %new commands \newcommand{\pymlink}{http://pymerase.sf.net} %document \begin{document} %title page \begin{titlepage} \title{\cb Pymerase Docs - Installation} \author{Diane Trout \\ Copyright \copyright California Institute of Technology} \date{Version 0.1.1\\\today} \maketitle \thispagestyle{empty} \end{titlepage} \tableofcontents \thispagestyle{empty} \newpage %Document Body \setcounter{page}{1} \section{\cb Installation} \subsection{\cb How to install?} Pymerase depends on several components depending on what you'd like to do with it. \subsubsection{\cb GeneX Table Definition Format} Currently the GeneX Table definition format is the best supported file format (As it was the first mode I started developing against.) However the XMI format is coming along as well. At minimum it requires an XML parser. The default python XML parser is called expat, newer versions are available at http://sourceforge.net/projects/pyxml. Later versions of this might work with the current table.dtd 2003 Apr 02: default parser seems to work, so the steps to install pirxx \& xerces seem to be unnecessary. (But I'm leaving the section in just in case.) [Well, almost works, since the default xml parser couldn't find the table.dtd file without using a full URL instead of just a pathname] However the version of expat I was using didn't properly support entities with the XML files were using so I ended up using the xerces-c XML parser. A project called pirxx is providing the python wrapper for xerces-c. xerces-c: http://xml.apache.org/xerces-c/index.html pirxx: http://sourceforge.net/projects/pirxx END old instructions. \subsubsection{\cb XMI file format} The key thing for XMI files is you need to generate them somehow, ArgoUML is the tool we're currently using for testing. http://argouml.tigris.org The current XMI parser was written by Teemu Toivanen and is available from the MGED/Mage sourceforge site in the directory lib/Python/pyXMI. \subsubsection{\cb DB Support} The code generated by CreateDBAPI, needs the mxTools Date Time extension as well as the postgresql python db api module. The mx tools is available from: http://www.egenix.com/files/python/mxDateTime.html The database interface, pgdb, is distributed with postgresql (http://www.postgresql.org) Also, the SQL code generated by CreateSQL is using postgresql's sequence feature, and so is currently dependent on postgresql. \end{document} |
From: <ki...@us...> - 2003-04-03 00:45:31
|
Update of /cvsroot/pymerase/Docs/install In directory sc8-pr-cvs1:/tmp/cvs-serv22792/install Log Message: Directory /cvsroot/pymerase/Docs/install added to the repository |
From: <de...@us...> - 2003-04-03 00:43:21
|
Update of /cvsroot/pymerase/pymerase/tests In directory sc8-pr-cvs1:/tmp/cvs-serv22078 Modified Files: pymeraseTestSuite.py Log Message: Add TestSchool testsuite to the list of tests. Index: pymeraseTestSuite.py =================================================================== RCS file: /cvsroot/pymerase/pymerase/tests/pymeraseTestSuite.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** pymeraseTestSuite.py 26 Mar 2003 03:13:26 -0000 1.1 --- pymeraseTestSuite.py 3 Apr 2003 00:43:16 -0000 1.2 *************** *** 41,44 **** --- 41,45 ---- import TestImportAll #Import new test suites here + import TestSchool def suite(): *************** *** 50,53 **** --- 51,55 ---- suite = unittest.TestSuite() suite.addTest(TestImportAll.suite()) + suite.addTest(TestSchool.suite()) #add new suite.addTest(module.suite()) here |
From: <de...@us...> - 2003-04-03 00:42:52
|
Update of /cvsroot/pymerase/pymerase/tests In directory sc8-pr-cvs1:/tmp/cvs-serv21920 Modified Files: TestImportAll.py Log Message: For running under python the failure of importing parseXMI is expected, so if it succeeds we should generate an error. Index: TestImportAll.py =================================================================== RCS file: /cvsroot/pymerase/pymerase/tests/TestImportAll.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** TestImportAll.py 26 Mar 2003 03:25:06 -0000 1.3 --- TestImportAll.py 3 Apr 2003 00:42:49 -0000 1.4 *************** *** 53,58 **** def testInputParseXMI(self): ! from pymerase.input import parseXMI ! def testOutputCreateDBAPI(self): from pymerase.output import CreateDBAPI --- 53,64 ---- def testInputParseXMI(self): ! try: ! from pymerase.input import parseXMI ! except ImportError, e: ! return ! # FIXME: need to differentiate between ! # FIXME: python & jython ! self.fail("parseXMI should fail to import under python") ! def testOutputCreateDBAPI(self): from pymerase.output import CreateDBAPI |
From: <de...@us...> - 2003-04-03 00:41:53
|
Update of /cvsroot/pymerase/pymerase/examples/school In directory sc8-pr-cvs1:/tmp/cvs-serv21637 Removed Files: TestSchool.py Log Message: Moved TestSchool.py to pymerase/tests --- TestSchool.py DELETED --- |
From: <de...@us...> - 2003-04-03 00:40:07
|
Update of /cvsroot/pymerase/pymerase In directory sc8-pr-cvs1:/tmp/cvs-serv21171 Modified Files: INSTALL Log Message: updated install instructions to mention that the newer xml parser seems to work. Index: INSTALL =================================================================== RCS file: /cvsroot/pymerase/pymerase/INSTALL,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** INSTALL 13 Feb 2003 02:47:11 -0000 1.1 --- INSTALL 3 Apr 2003 00:40:03 -0000 1.2 *************** *** 19,30 **** work with the current table.dtd ! However the version of expat I was using didn't properly support ! entities with the XML files were using so I ended up using the ! xerces-c XML parser. ! A project called pirxx is providing the python wrapper for xerces-c. ! xerces-c: http://xml.apache.org/xerces-c/index.html ! pirxx: http://sourceforge.net/projects/pirxx ** XMI file format --- 19,38 ---- work with the current table.dtd ! 2003 Apr 02: default parser seems to work, so the steps to install ! pirxx & xerces seem to be unnecessary. (But I'm leaving the section in ! just in case.) [Well, almost works, since the default xml parser ! couldn't find the table.dtd file without using a full URL instead of ! just a pathname] ! However the version of expat I was using didn't properly support ! entities with the XML files were using so I ended up using the ! xerces-c XML parser. ! ! A project called pirxx is providing the python wrapper for xerces-c. ! ! xerces-c: http://xml.apache.org/xerces-c/index.html ! pirxx: http://sourceforge.net/projects/pirxx ! END old instructions. ** XMI file format |
From: <de...@us...> - 2003-04-02 23:26:42
|
Update of /cvsroot/pymerase/pymerase/pymerase/input In directory sc8-pr-cvs1:/tmp/cvs-serv27899 Modified Files: parseGenexSchemaXML.py Log Message: Remove dependency on pirxx as the default python xml parsers seem to be working now. Index: parseGenexSchemaXML.py =================================================================== RCS file: /cvsroot/pymerase/pymerase/pymerase/input/parseGenexSchemaXML.py,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** parseGenexSchemaXML.py 5 Feb 2003 23:04:15 -0000 1.25 --- parseGenexSchemaXML.py 2 Apr 2003 23:26:39 -0000 1.26 *************** *** 202,206 **** # create parser #print sax2exts.XMLParserFactory.get_parser_list() ! parser = sax2exts.make_parser('pirxx') parser.setFeature(feature_namespaces, 0) parser.setContentHandler(self) --- 202,207 ---- # create parser #print sax2exts.XMLParserFactory.get_parser_list() ! ! parser = sax2exts.make_parser() parser.setFeature(feature_namespaces, 0) parser.setContentHandler(self) |
From: <de...@us...> - 2003-04-02 23:25:37
|
Update of /cvsroot/pymerase/pymerase/pymerase/output/dbAPI In directory sc8-pr-cvs1:/tmp/cvs-serv27505 Modified Files: init.py Log Message: Fix bug where DBHOST wasn't actually being used as the environment variable to set the host name. Removed the woldlab testing data source defaults and try more reasonable general defaults. Index: init.py =================================================================== RCS file: /cvsroot/pymerase/pymerase/pymerase/output/dbAPI/init.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** init.py 1 Jul 2002 22:38:59 -0000 1.4 --- init.py 2 Apr 2003 23:25:32 -0000 1.5 *************** *** 28,39 **** """Manages creating and closing a database session. """ ! default_dsn = "thornvalley.caltech.edu" ! default_user = "diane" ! default_database = "genex2_d0" default_password=None def __init__(self, dsn=None, database=None, user=None, password=None): if dsn is None: ! self.dsn = os.environ.get('DBUSER', DBSession.default_dsn) else: self.dsn = dsn --- 28,39 ---- """Manages creating and closing a database session. """ ! default_dsn = "localhost" ! default_user = os.getlogin() ! default_database = None default_password=None def __init__(self, dsn=None, database=None, user=None, password=None): if dsn is None: ! self.dsn = os.environ.get('DBHOST', DBSession.default_dsn) else: self.dsn = dsn *************** *** 89,92 **** --- 89,96 ---- if self.db is not None: self.db.commit() + + def close(self): + if self.db is not None: + self.db.close() ############################ |
From: <de...@us...> - 2003-04-02 23:24:31
|
Update of /cvsroot/pymerase/pymerase/pymerase/output/dbAPI In directory sc8-pr-cvs1:/tmp/cvs-serv27101 Modified Files: dbAPI.py Log Message: For some reason sqlEscapeString was being called with things that weren't strings. So just return those without modification. Index: dbAPI.py =================================================================== RCS file: /cvsroot/pymerase/pymerase/pymerase/output/dbAPI/dbAPI.py,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** dbAPI.py 18 Mar 2003 02:49:42 -0000 1.20 --- dbAPI.py 2 Apr 2003 23:24:27 -0000 1.21 *************** *** 37,40 **** --- 37,41 ---- import os import pprint + import re import string import sys *************** *** 58,62 **** """Given a string escape any double quote marks \" """ ! return re.sub('"', '\"', s) class Field: --- 59,66 ---- """Given a string escape any double quote marks \" """ ! if type(s) == types.StringType or type(s) == types.UnicodeType: ! return re.sub('"', '\"', s) ! else: ! return s class Field: |
From: <de...@us...> - 2003-04-02 22:20:23
|
Update of /cvsroot/pymerase/pymerase/pymerase In directory sc8-pr-cvs1:/tmp/cvs-serv3137 Modified Files: __init__.py Log Message: Removed default parameters for the read & write api calls. This was to fix bug #714139, where multiple calls to read would accrete the contents of each schema being parsed. Index: __init__.py =================================================================== RCS file: /cvsroot/pymerase/pymerase/pymerase/__init__.py,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** __init__.py 26 Mar 2003 01:13:14 -0000 1.30 --- __init__.py 2 Apr 2003 22:20:17 -0000 1.31 *************** *** 258,262 **** ! def read(self, source, inputTranslator=None, classesInModel={}): """Given a translator and source of input, parse object definitions. """ --- 258,262 ---- ! def read(self, source, inputTranslator, classesInModel): """Given a translator and source of input, parse object definitions. """ *************** *** 273,277 **** return parsedInput ! def write(self, parsedInput, destination, outputTranslator=None): """Given parsed object definitions write output defined by an output_translator. --- 273,277 ---- return parsedInput ! def write(self, parsedInput, destination, outputTranslator): """Given parsed object definitions write output defined by an output_translator. |
From: <ki...@us...> - 2003-04-02 21:08:21
|
Update of /cvsroot/pymerase/Docs/running_pymerase In directory sc8-pr-cvs1:/tmp/cvs-serv5764 Modified Files: Makefile Log Message: Nice quality pdf generation. Index: Makefile =================================================================== RCS file: /cvsroot/pymerase/Docs/running_pymerase/Makefile,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Makefile 21 Mar 2003 02:53:21 -0000 1.2 --- Makefile 2 Apr 2003 21:08:11 -0000 1.3 *************** *** 1,5 **** Run_Pymerase.pdf: Run_Pymerase.tex latex Run_Pymerase.tex ! dvipdf Run_Pymerase.dvi gv Run_Pymerase.pdf --- 1,7 ---- Run_Pymerase.pdf: Run_Pymerase.tex latex Run_Pymerase.tex ! latex Run_Pymerase.tex ! dvips -Ppdf Run_Pymerase.dvi ! ps2pdf Run_Pymerase.ps gv Run_Pymerase.pdf |
From: <ki...@us...> - 2003-04-02 21:07:37
|
Update of /cvsroot/pymerase/Docs/template In directory sc8-pr-cvs1:/tmp/cvs-serv5545 Modified Files: Makefile Log Message: now generates nice quality pdf files. Index: Makefile =================================================================== RCS file: /cvsroot/pymerase/Docs/template/Makefile,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile 20 Mar 2003 20:55:26 -0000 1.1 --- Makefile 2 Apr 2003 21:07:33 -0000 1.2 *************** *** 2,5 **** latex template.tex latex template.tex ! dvipdf template.dvi template.pdf gv template.pdf --- 2,6 ---- latex template.tex latex template.tex ! dvips -Ppdf template.dvi ! ps2pdf template.ps gv template.pdf |
From: <ki...@us...> - 2003-04-02 21:04:30
|
Update of /cvsroot/pymerase/Docs/linkDB-tutorial In directory sc8-pr-cvs1:/tmp/cvs-serv4142 Modified Files: Makefile Log Message: nice quality pdf files. =o) Index: Makefile =================================================================== RCS file: /cvsroot/pymerase/Docs/linkDB-tutorial/Makefile,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile 7 Mar 2003 23:32:23 -0000 1.1 --- Makefile 2 Apr 2003 21:04:21 -0000 1.2 *************** *** 2,5 **** latex linkdb-tutorial.tex latex linkdb-tutorial.tex ! dvipdf linkdb-tutorial.dvi gv linkdb-tutorial.pdf --- 2,6 ---- latex linkdb-tutorial.tex latex linkdb-tutorial.tex ! dvips -Ppdf linkdb-tutorial.dvi ! ps2pdf linkdb-tutorial.ps gv linkdb-tutorial.pdf |
From: <ki...@us...> - 2003-04-02 21:03:45
|
Update of /cvsroot/pymerase/Docs/faq In directory sc8-pr-cvs1:/tmp/cvs-serv3813 Modified Files: Makefile Log Message: nice quality pdf generation. =o) Index: Makefile =================================================================== RCS file: /cvsroot/pymerase/Docs/faq/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Makefile 2 Apr 2003 19:23:09 -0000 1.3 --- Makefile 2 Apr 2003 21:03:41 -0000 1.4 *************** *** 1,5 **** faq.pdf: faq.tex latex faq.tex ! pdflatex faq.tex gv faq.pdf --- 1,7 ---- faq.pdf: faq.tex latex faq.tex ! latex faq.tex ! dvips -Ppdf faq.tex ! ps2pdf faq.ps gv faq.pdf |
From: <ki...@us...> - 2003-04-02 21:00:51
|
Update of /cvsroot/pymerase/Docs/argouml In directory sc8-pr-cvs1:/tmp/cvs-serv2482 Modified Files: Makefile Log Message: Finally generating nice PDF files. =o) Index: Makefile =================================================================== RCS file: /cvsroot/pymerase/Docs/argouml/Makefile,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile 20 Mar 2003 21:53:02 -0000 1.1 --- Makefile 2 Apr 2003 21:00:45 -0000 1.2 *************** *** 2,5 **** latex argouml.tex latex argouml.tex ! dvipdf argouml.dvi argo4pymerase.pdf gv argo4pymerase.pdf --- 2,6 ---- latex argouml.tex latex argouml.tex ! dvips -Ppdf argouml.dvi ! ps2pdf argouml.ps argo4pymerase.pdf gv argo4pymerase.pdf |
From: <ki...@us...> - 2003-04-02 19:23:14
|
Update of /cvsroot/pymerase/Docs/faq In directory sc8-pr-cvs1:/tmp/cvs-serv16576 Modified Files: Makefile Log Message: dvipdf produced bad pdf files, now using pdflatex. Index: Makefile =================================================================== RCS file: /cvsroot/pymerase/Docs/faq/Makefile,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Makefile 21 Mar 2003 02:58:42 -0000 1.2 --- Makefile 2 Apr 2003 19:23:09 -0000 1.3 *************** *** 1,7 **** ! pymerase-faq.pdf: faq.tex ! latex faq.tex latex faq.tex ! dvipdf faq.dvi pymerase-faq.pdf ! gv pymerase-faq.pdf html: --- 1,6 ---- ! faq.pdf: faq.tex latex faq.tex ! pdflatex faq.tex ! gv faq.pdf html: |