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: <de...@us...> - 2003-09-09 21:50:23
|
Update of /cvsroot/pymerase/pymerase/pymerase/input
In directory sc8-pr-cvs1:/tmp/cvs-serv25406
Modified Files:
parseXMI.py
Log Message:
Attempt to handle one to one links
Index: parseXMI.py
===================================================================
RCS file: /cvsroot/pymerase/pymerase/pymerase/input/parseXMI.py,v
retrieving revision 1.25
retrieving revision 1.26
diff -C2 -d -r1.25 -r1.26
*** parseXMI.py 25 Jul 2003 00:41:07 -0000 1.25
--- parseXMI.py 9 Sep 2003 21:50:15 -0000 1.26
***************
*** 266,284 ****
otherEndType = otherEnd.getType()
if thisEnd.getMultiplicity() != fkeyTypes.OneToOne and otherEnd.getMultiplicity() != fkeyTypes.OneToOne:
err = "Pymerase doesn't support Many To Many relationships"+ os.linesep
err += "please add a linking table"
warn(err, RuntimeWarning)
- elif thisEnd.getMultiplicity() != fkeyTypes.OneToOne:
- # put the key in this end
- # FIXME: should we use the association name or the primary key name?
- #fkeyName = otherEndType.getRootClass().getName(None) + "_fk"
- fkeyName = otherEnd.getType().getName(None) + "_fk"
- #fkeyName = thisEnd.getAssociation().getName(None) +"_fk"
- if thisEndType.getAttributeByName(fkeyName, None) is None:
- foreignKey = constructForeignKey(pymeraseConfig,
- classesInModel,
- fkeyName)
- thisEndType.addAttribute(foreignKey)
elif otherEnd.getMultiplicity() != fkeyTypes.OneToOne:
# put the key in the other end
#fkeyName = thisEndType.getRootClass().getName(None) + "_fk"
--- 266,275 ----
otherEndType = otherEnd.getType()
if thisEnd.getMultiplicity() != fkeyTypes.OneToOne and otherEnd.getMultiplicity() != fkeyTypes.OneToOne:
+ # Handle: (or at least faily informatively about many to many)
err = "Pymerase doesn't support Many To Many relationships"+ os.linesep
err += "please add a linking table"
warn(err, RuntimeWarning)
elif otherEnd.getMultiplicity() != fkeyTypes.OneToOne:
+ # Handle: one to many
# put the key in the other end
#fkeyName = thisEndType.getRootClass().getName(None) + "_fk"
***************
*** 293,297 ****
otherEndType.addAttribute(foreignKey)
else:
! raise SyntaxError("Unrecognized multiplicity")
--- 284,298 ----
otherEndType.addAttribute(foreignKey)
else:
! # Handel: many to one or one to one
! # put the key in this end
! # FIXME: should we use the association name or the primary key name?
! #fkeyName = otherEndType.getRootClass().getName(None) + "_fk"
! fkeyName = otherEnd.getType().getName(None) + "_fk"
! #fkeyName = thisEnd.getAssociation().getName(None) +"_fk"
! if thisEndType.getAttributeByName(fkeyName, None) is None:
! foreignKey = constructForeignKey(pymeraseConfig,
! classesInModel,
! fkeyName)
! thisEndType.addAttribute(foreignKey)
|
|
From: <mas...@us...> - 2003-08-22 04:14:20
|
Update of /cvsroot/pymerase/pymerase/examples/umlExamples In directory sc8-pr-cvs1:/tmp/cvs-serv28046/umlExamples Log Message: Directory /cvsroot/pymerase/pymerase/examples/umlExamples added to the repository |
|
From: <ki...@us...> - 2003-08-22 03:49:54
|
Update of /cvsroot/pymerase/pymerase/pymweb/cgi
In directory sc8-pr-cvs1:/tmp/cvs-serv14305
Modified Files:
pymweb.py
Log Message:
Fix for bug# 792162
Index: pymweb.py
===================================================================
RCS file: /cvsroot/pymerase/pymerase/pymweb/cgi/pymweb.py,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** pymweb.py 8 Aug 2003 01:54:35 -0000 1.16
--- pymweb.py 20 Aug 2003 20:40:09 -0000 1.17
***************
*** 63,67 ****
cd %s
if [ -e %s ] ; then
! zip %s.zip %s > /dev/null
else
cat %s.bs
--- 63,67 ----
cd %s
if [ -e %s ] ; then
! zip -r %s.zip %s > /dev/null
else
cat %s.bs
|
|
From: <mas...@us...> - 2003-08-21 23:51:29
|
Update of /cvsroot/pymerase/pymerase/examples/umlExamples In directory sc8-pr-cvs1:/tmp/cvs-serv28660/umlExamples Added Files: Automobile.zargo EstrogenExp.zargo README animal.zargo animal2.zargo author.zargo board.zargo bookshelf.zargo car.zargo computer.zargo house.zargo shoe.zargo Log Message: Various UML examples testing multiplicity. --- NEW FILE: Automobile.zargo --- (This appears to be a binary file; contents omitted.) --- NEW FILE: EstrogenExp.zargo --- (This appears to be a binary file; contents omitted.) --- NEW FILE: README --- simple Test Cases: Multiplicity Name Labeled Ends? author.zargo 0..* -> 1..* with label automobile.zargo none none //Have not tried testing board.zargo 0..1 -> 0..1 with label //Has problem reported bug bookshelf.zargo 1..* -> 0..1 with label car.zargo 1 -> 0..* without label computer.zargo 1..* -> 1 with label house.zargo 1 -> 1 without label //Has problem reported bug shoe.zargo 1 -> 0..1 with label //Had problem Complex Cases: Multiplicity Name Labeled Ends? animal.zargo 1..* -> 0..* with label //Has typing error animal2.zargo 1..* -> 0..* with label estrogen.zargo with label --- NEW FILE: animal.zargo --- (This appears to be a binary file; contents omitted.) --- NEW FILE: animal2.zargo --- (This appears to be a binary file; contents omitted.) --- NEW FILE: author.zargo --- (This appears to be a binary file; contents omitted.) --- NEW FILE: board.zargo --- (This appears to be a binary file; contents omitted.) --- NEW FILE: bookshelf.zargo --- (This appears to be a binary file; contents omitted.) --- NEW FILE: car.zargo --- (This appears to be a binary file; contents omitted.) --- NEW FILE: computer.zargo --- (This appears to be a binary file; contents omitted.) --- NEW FILE: house.zargo --- (This appears to be a binary file; contents omitted.) --- NEW FILE: shoe.zargo --- (This appears to be a binary file; contents omitted.) |
|
From: <ki...@us...> - 2003-08-14 00:21:50
|
Update of /cvsroot/pymerase/Docs/dev_road_map
In directory sc8-pr-cvs1:/tmp/cvs-serv11771
Modified Files:
dev_road_map.tex
Log Message:
Updated non-implemented features
Index: dev_road_map.tex
===================================================================
RCS file: /cvsroot/pymerase/Docs/dev_road_map/dev_road_map.tex,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** dev_road_map.tex 8 Aug 2003 21:34:59 -0000 1.1
--- dev_road_map.tex 14 Aug 2003 00:06:02 -0000 1.2
***************
*** 28,32 ****
\author{Brandon King and Diane Trout \\
Copyright \copyright~ California Institute of Technology}
! \date{Version 0.1.1\\\today}
\maketitle
\thispagestyle{empty}
--- 28,32 ----
\author{Brandon King and Diane Trout \\
Copyright \copyright~ California Institute of Technology}
! \date{Version 0.1.2\\\today}
\maketitle
\thispagestyle{empty}
***************
*** 76,83 ****
\bf RFE\# & \bf BUG\# & \bf Title & \bf Priority & \bf Sig. of Change & \bf Project Support \\ \hline
& 785597 & Fix Type System & 7 & ! & A \\ \hline
785599 & & Support More of UML & 5 & ! & SM \\ \hline
693319 & & SSUML I-Module & 5 & - & S \\ \hline
! 785600 & & Java OM O-Module & & & \\ \hline
! & & & & & \\ \hline
\end{tabular}
--- 76,96 ----
\bf RFE\# & \bf BUG\# & \bf Title & \bf Priority & \bf Sig. of Change & \bf Project Support \\ \hline
& 785597 & Fix Type System & 7 & ! & A \\ \hline
+ 769919 & & SeperateOM/Persist. Layer & 7 & ! & A \\ \hline
785599 & & Support More of UML & 5 & ! & SM \\ \hline
+ 769916 & & OO-Query & 5 & ! & A \\ \hline
+ 785608 & & XML Serialization & 4 & ! & M \\ \hline
+ 785614 & & OJB via Corba Serial & 8 & & S \\ \hline
+ 785600 & & Java OM O-Module & 6 & - & S \\ \hline
693319 & & SSUML I-Module & 5 & - & S \\ \hline
! 785601 & & IDL O-Module & 5 & - & S \\ \hline
! 693238 & & Single Sequence Support & 4 & - & G \\ \hline
! 693245 & & View Based Security & 4 & & G \\ \hline
! 693247 & & Sratch/Dynamic Support & 4 & & G \\ \hline
! 693243 & & Cursor Support & 4 & & G \\ \hline
! 742064 & & IDL I-Module & 1 & - & B \\ \hline
! 785611 & & Shelve Serialization & 1 & - & B\\ \hline
! 785616 & & Ouput module setup.py & 1 & - & B\\ \hline
! 769917 & & RDF Support & 1 & ? & B\\ \hline
!
\end{tabular}
|
|
From: <mas...@us...> - 2003-08-13 23:25:15
|
Update of /cvsroot/pymerase/Docs/install
In directory sc8-pr-cvs1:/tmp/cvs-serv4973
Modified Files:
install.tex
Log Message:
Spelling/Grammar Corrections
Index: install.tex
===================================================================
RCS file: /cvsroot/pymerase/Docs/install/install.tex,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** install.tex 7 May 2003 23:57:58 -0000 1.5
--- install.tex 13 Aug 2003 23:21:16 -0000 1.6
***************
*** 28,32 ****
\author{Diane Trout \\
Copyright \copyright California Institute of Technology}
! \date{Version 0.1.5\\\today}
\maketitle
\thispagestyle{empty}
--- 28,32 ----
\author{Diane Trout \\
Copyright \copyright California Institute of Technology}
! \date{Version 0.1.6\\\today}
\maketitle
\thispagestyle{empty}
***************
*** 62,66 ****
UML support is reasonably well supported now.
! At minimum pymerase 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
--- 62,66 ----
UML support is reasonably well supported now.
! At minimum, pymerase 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
***************
*** 95,99 ****
Parsing UML files depends on the SMW library. Currently you'll need to
! download it from the SMW site and add then add the package to your
python path.
--- 95,99 ----
Parsing UML files depends on the SMW library. Currently you'll need to
! download it from the SMW site and add the package to your
python path.
***************
*** 115,117 ****
feature, and so is currently dependent on postgresql.
! \end{document}
\ No newline at end of file
--- 115,117 ----
feature, and so is currently dependent on postgresql.
! \end{document}
|
|
From: <mas...@us...> - 2003-08-13 23:21:22
|
Update of /cvsroot/pymerase/Docs/pymweb
In directory sc8-pr-cvs1:/tmp/cvs-serv4630
Modified Files:
ChangeLog pymweb-install.tex pymweb-manual.tex
Log Message:
Spelling/Grammar Correction
Index: ChangeLog
===================================================================
RCS file: /cvsroot/pymerase/Docs/pymweb/ChangeLog,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** ChangeLog 30 May 2003 02:44:47 -0000 1.2
--- ChangeLog 13 Aug 2003 23:19:35 -0000 1.3
***************
*** 1,2 ****
--- 1,3 ----
+ 2003-08-13 - Corrected minor grammatical errors
2003-05-29 - Pymweb Manual:
Added Debugging Information
***************
*** 8,10 ****
Removed coming soon notice
Added some URLs
! Minor wording changes
\ No newline at end of file
--- 9,11 ----
Removed coming soon notice
Added some URLs
! Minor wording changes
Index: pymweb-install.tex
===================================================================
RCS file: /cvsroot/pymerase/Docs/pymweb/pymweb-install.tex,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** pymweb-install.tex 30 May 2003 02:40:18 -0000 1.3
--- pymweb-install.tex 13 Aug 2003 23:19:35 -0000 1.4
***************
*** 28,32 ****
\author{Brandon King \\
Copyright \copyright ~2003 California Institute of Technology}
! \date{Version 0.1.3\\\today}
\maketitle
\thispagestyle{empty}
--- 28,32 ----
\author{Brandon King \\
Copyright \copyright ~2003 California Institute of Technology}
! \date{Version 0.1.4\\\today}
\maketitle
\thispagestyle{empty}
***************
*** 135,139 ****
\end{verbatim}
! Once you have made the change, you will need to restart apache. You
can do so by running the following command on a Debian system:
--- 135,139 ----
\end{verbatim}
! Once you have made the changes, you will need to restart apache. You
can do so by running the following command on a Debian system:
***************
*** 160,162 ****
questions or need help debuging.
! \end{document}
\ No newline at end of file
--- 160,162 ----
questions or need help debuging.
! \end{document}
Index: pymweb-manual.tex
===================================================================
RCS file: /cvsroot/pymerase/Docs/pymweb/pymweb-manual.tex,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** pymweb-manual.tex 30 May 2003 02:40:18 -0000 1.3
--- pymweb-manual.tex 13 Aug 2003 23:19:35 -0000 1.4
***************
*** 28,32 ****
\author{Brandon King \\
Copyright \copyright ~2003 California Institute of Technology}
! \date{Version 0.1.3\\\today}
\maketitle
\thispagestyle{empty}
--- 28,32 ----
\author{Brandon King \\
Copyright \copyright ~2003 California Institute of Technology}
! \date{Version 0.1.4\\\today}
\maketitle
\thispagestyle{empty}
***************
*** 43,48 ****
\subsection{\cb Description}
Pymweb is a web front end for Pymerase. The goal of Pymweb is to
! provide a method of allowing multiple people to use Pymerase without
! having to install Pymerase on their computer.
\subsection{\cb Installation}
--- 43,48 ----
\subsection{\cb Description}
Pymweb is a web front end for Pymerase. The goal of Pymweb is to
! provide a method for allowing multiple people to use Pymerase without
! having to install Pymerase onto their computer.
\subsection{\cb Installation}
***************
*** 64,69 ****
In Figure 1, you will find a screenshot of the Pymweb which you can
! reference as I briefly describe it's use. I will go into more detail
! in subsequent sections. There a five things you need to provide for
Pymerase to work properly. First, you need to provide a
schema. Second, choose which input module you would like to
--- 64,69 ----
In Figure 1, you will find a screenshot of the Pymweb which you can
! reference as I briefly describe its use. I will go into more detail
! in subsequent sections. There are five things you need to provide for
Pymerase to work properly. First, you need to provide a
schema. Second, choose which input module you would like to
***************
*** 74,83 ****
destination file name or directory name depending on the output module
you choose. And last but not least, you should choose what type of
! compression do you want Pymweb to use on your output file.
\subsection{\cb Schema}
In Pymerase, there are currently two methods you can use for defining
! a schema; UML or XML.
\subsubsection{\cb UML/XMI}\label{xmi}
--- 74,83 ----
destination file name or directory name depending on the output module
you choose. And last but not least, you should choose what type of
! compression you want Pymweb to use on your output file.
\subsection{\cb Schema}
In Pymerase, there are currently two methods you can use for defining
! a schema: UML or XML.
\subsubsection{\cb UML/XMI}\label{xmi}
***************
*** 98,102 ****
\subsubsection{\cb table.dtd XML}\label{table.dtd}
If you have decided to use the table.dtd XML format, things will be a
! little bit more complicate when using Pymweb, but it's still
manageable.
--- 98,102 ----
\subsubsection{\cb table.dtd XML}\label{table.dtd}
If you have decided to use the table.dtd XML format, things will be a
! little bit more complicated when using Pymweb, but it's still
manageable.
***************
*** 108,113 ****
called 'schema.tar.gz'.
! In case I have managed to confuse some people, here is a ficitious
! directory tree that I will us as an example.
\begin{verbatim}
--- 108,113 ----
called 'schema.tar.gz'.
! In case I have managed to confuse some people, here is a fictitious
! directory tree that I will use as an example.
\begin{verbatim}
***************
*** 162,180 ****
\subsection{\cb Output File/Dir Name}
Every output module has a different type of output, so you need to
! give a proper output name for them work correctly. If you take a look
at the 'Output' format column in section \ref{output}, you will see
what type of output each module generates. This table should by mostly
! sufficiant in guiding you in choosing a File or Directory
name. Although a few output modules are a little sensitive to the
! names you choose. Below is more information you will need to know
about the output modules and their output.
\subsubsection{\cb CreateDBAPI}
! CreateDBAPI creates a Python package (directory of python files) that
need to know about the name of their package.
If you are using UML/XMI, it's currently defined as the namespace, or
package. So, if you followed 'Pymerase Docs - ArgoUML for Pymerase',
! there is a step where you change the name of the namespace. What ever
you entered as the name of the namespace, is the name you should use
as the output directory name in Pymweb. If you do not do this, you
--- 162,180 ----
\subsection{\cb Output File/Dir Name}
Every output module has a different type of output, so you need to
! give a proper output name for them to work correctly. If you take a look
at the 'Output' format column in section \ref{output}, you will see
what type of output each module generates. This table should by mostly
! sufficient in guiding you to choosing a File or Directory
name. Although a few output modules are a little sensitive to the
! names you choose, below is more information you will need to know
about the output modules and their output.
\subsubsection{\cb CreateDBAPI}
! CreateDBAPI creates a Python package (directory of python files) that you
need to know about the name of their package.
If you are using UML/XMI, it's currently defined as the namespace, or
package. So, if you followed 'Pymerase Docs - ArgoUML for Pymerase',
! there is a step where you change the name of the namespace. Whatever
you entered as the name of the namespace, is the name you should use
as the output directory name in Pymweb. If you do not do this, you
***************
*** 210,214 ****
implemented in the current CreatePyTkDBWidgets. One-to-many and
many-to-many associations need to be implemented before it will be
! complete. I can still be useful in it's current state, and you can
always sub-class the Entry library files to implement your own
features.
--- 210,214 ----
implemented in the current CreatePyTkDBWidgets. One-to-many and
many-to-many associations need to be implemented before it will be
! complete. It can still be useful in it's current state, and you can
always sub-class the Entry library files to implement your own
features.
***************
*** 225,229 ****
Tar \& Gzip is most common on Linux/Unix based systems. Zip is most
! common on Windows systems. None is offered to make downloads easier
for single file downloads, and for debuging.
--- 225,229 ----
Tar \& Gzip is most common on Linux/Unix based systems. Zip is most
! common on Windows systems. Option None is offered to make downloads easier
for single file downloads, and for debuging.
***************
*** 280,282 ****
it to this documentation.
! \end{document}
\ No newline at end of file
--- 280,282 ----
it to this documentation.
! \end{document}
|
|
From: <mas...@us...> - 2003-08-13 23:17:16
|
Update of /cvsroot/pymerase/Docs/linkDB-tutorial
In directory sc8-pr-cvs1:/tmp/cvs-serv4010
Modified Files:
linkdb-tutorial.tex
Log Message:
Spelling/Grammar Corrections
Index: linkdb-tutorial.tex
===================================================================
RCS file: /cvsroot/pymerase/Docs/linkDB-tutorial/linkdb-tutorial.tex,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** linkdb-tutorial.tex 30 Apr 2003 23:45:44 -0000 1.7
--- linkdb-tutorial.tex 13 Aug 2003 23:16:35 -0000 1.8
***************
*** 33,37 ****
\author{Brandon King \\
Copyright \copyright 2003 California Institute of Technology}
! \date{Version 0.1.7\\\today}
\maketitle
\thispagestyle{empty}
--- 33,37 ----
\author{Brandon King \\
Copyright \copyright 2003 California Institute of Technology}
! \date{Version 0.1.8\\\today}
\maketitle
\thispagestyle{empty}
***************
*** 49,53 ****
simple application to help us with the task of updating keywords on a
webpage with links. Why might we want to create such a program? For
! example, you might be writting a webpage about all your favorate Python
modules and what you've done with them. If you decide you want to
create a link to http://www.python.org/ every time the word 'Python'
--- 49,53 ----
simple application to help us with the task of updating keywords on a
webpage with links. Why might we want to create such a program? For
! example, you might be writting a webpage about all your favorite Python
modules and what you've done with them. If you decide you want to
create a link to http://www.python.org/ every time the word 'Python'
***************
*** 130,135 ****
\section{\cb Tutorial: LinkDB Schema}
\subsection{\cb Description}\label{linkdb-desc}
! Now that we know what we want to do we have to design the
! schema. If you haven't read section \ref{the_goal}, you may want to do
so now. There are two ways that currently exist in Pymerase. An XML
format defined by table.dtd. If you decide to use this format, you
--- 130,135 ----
\section{\cb Tutorial: LinkDB Schema}
\subsection{\cb Description}\label{linkdb-desc}
! Now that we know what we want to do we have to design that schema. If you
! haven't read section \ref{the_goal}, you may want to do
so now. There are two ways that currently exist in Pymerase. An XML
format defined by table.dtd. If you decide to use this format, you
***************
*** 361,365 ****
\subsection{\cb CreateSQL}
! Time to create the sql for the database. Executed the following
command.
--- 361,365 ----
\subsection{\cb CreateSQL}
! Time to create the sql for the database. Execute the following
command.
***************
*** 426,430 ****
\subsection{\cb CreatePyTkWidgets}
! Excute the following command to generate the Python Tkinter Widget
library for your schema.
--- 426,430 ----
\subsection{\cb CreatePyTkWidgets}
! Execute the following command to generate the Python Tkinter Widget
library for your schema.
***************
*** 452,456 ****
All \emph{allOther}Widget.py files can be executed to see if they were
! contstructed properly. They don't do much in this state, but the have
functions for getting and setting the ValiditingEntrys. Each of
widgets can be subclassed and given save() and load() functions which
--- 452,456 ----
All \emph{allOther}Widget.py files can be executed to see if they were
! constructed properly. They don't do much in this state, but they have
functions for getting and setting the ValiditingEntrys. Each of
widgets can be subclassed and given save() and load() functions which
***************
*** 465,469 ****
The widgets will need a copy of the LinkAPI package you generated in
section \ref{linkapi}. You can copy, move, or create a symbolic link
! for this purpose. Excute the following command to copy the pakage from
your tutorial directory into the widget directory.
--- 465,469 ----
The widgets will need a copy of the LinkAPI package you generated in
section \ref{linkapi}. You can copy, move, or create a symbolic link
! for this purpose. Execute the following command to copy the package from
your tutorial directory into the widget directory.
***************
*** 472,477 ****
\end{verbatim}
! \subsection{\cb CreatePyTkDBWidgets}\label{pytkdb}
! Excute the following command to generate the Python Tkinter Database
Widget library for your schema.
--- 472,477 ----
\end{verbatim}
! \subsection{\cb CreaetePyTkDBWidgets}\label{pytkdb}co
! Execute the following command to generate the Python Tkinter Database
Widget library for your schema.
***************
*** 486,490 ****
your widget directory. Each of these programs can be executed upon
creation. Each one if hooked up to the generic DB connection widget
! and will prompt for infomation neccisary to connect to the
database. It can become annoying sometimes when you have to enter that
information every time you want to connect to the same database. So,
--- 486,490 ----
your widget directory. Each of these programs can be executed upon
creation. Each one if hooked up to the generic DB connection widget
! and will prompt for infomation necessary to connect to the
database. It can become annoying sometimes when you have to enter that
information every time you want to connect to the same database. So,
***************
*** 525,531 ****
\end{verbatim}
! If you get the message 'CREATE DATABASE', the command succeded. Next
you need to feed the SQL statements into the database to generate the
! proper tables. User the following command.
\begin{verbatim}
--- 525,531 ----
\end{verbatim}
! If you get the message 'CREATE DATABASE', the command succeeded. Next
you need to feed the SQL statements into the database to generate the
! proper tables. Use the following command.
\begin{verbatim}
***************
*** 548,552 ****
\subsection{\cb Input Data Using DB Widgets}
Now that we have our database, lets put some data in it for us to
! use. Goto the widgets directory in your tutorial directory. Execute
the following command.
--- 548,552 ----
\subsection{\cb Input Data Using DB Widgets}
Now that we have our database, lets put some data in it for us to
! use. Go to the widgets directory in your tutorial directory. Execute
the following command.
***************
*** 624,632 ****
file included in the linkDB example included with Pymerase, or you can
reference the same program in the appendix on page
! \pageref{cmdline}. Or if your really daring, you can right it yourself
from scratch.
If you decide to use the appendix or example code provided, the python
! code is commented and should be fairly self explanitory. If you don't
agree or you run into problems, post to the mailing list mentioned in
section \ref{pymdevel} are always welcome.
--- 624,632 ----
file included in the linkDB example included with Pymerase, or you can
reference the same program in the appendix on page
! \pageref{cmdline}. Or if you're really daring, you can write it yourself
from scratch.
If you decide to use the appendix or example code provided, the python
! code is commented and should be fairly self explanatory. If you don't
agree or you run into problems, post to the mailing list mentioned in
section \ref{pymdevel} are always welcome.
***************
*** 645,649 ****
and replaces them with a link.
! Useage:
linker.py [options] -g group -f file
--- 645,649 ----
and replaces them with a link.
! Usage:
linker.py [options] -g group -f file
***************
*** 666,670 ****
\subsection{\cb Prepare the HTML File}
! Before we can test the program we need an html file to use. Create a
new text file called 'tutorial.html' and paste in the html
code below.
--- 666,670 ----
\subsection{\cb Prepare the HTML File}
! Before we can test the program we need a html file to use. Create a
new text file called 'tutorial.html' and paste in the html
code below.
***************
*** 703,707 ****
'tutorial.html' file in a file called 'tutorial.html.bak'.
! The end result if everything went well should look like the following.
\begin{verbatim}
--- 703,707 ----
'tutorial.html' file in a file called 'tutorial.html.bak'.
! The end result, if everything went well, should look like the following:
\begin{verbatim}
***************
*** 723,727 ****
\subsection{\cb How You Can Help}
! If you have an questions, comments, ideas, spelling corrections etc.,
please voice your comments. Open Source projects strive on feedback
from the community. If you would like to contibute to any part of the
--- 723,727 ----
\subsection{\cb How You Can Help}
! If you have any questions, comments, ideas, spelling corrections etc.,
please voice your comments. Open Source projects strive on feedback
from the community. If you would like to contibute to any part of the
***************
*** 970,972 ****
\end{document}
! %\printindex
\ No newline at end of file
--- 970,972 ----
\end{document}
! %\printindex
|
|
From: <ki...@us...> - 2003-08-12 23:12:48
|
Update of /cvsroot/pymerase/htdocs/images In directory sc8-pr-cvs1:/tmp/cvs-serv6705 Added Files: pymerase-runpymweb.jpg pymerase-wiki.jpg Log Message: added two new buttons --- NEW FILE: pymerase-runpymweb.jpg --- (This appears to be a binary file; contents omitted.) --- NEW FILE: pymerase-wiki.jpg --- (This appears to be a binary file; contents omitted.) |
|
From: <ki...@us...> - 2003-08-12 23:11:10
|
Update of /cvsroot/pymerase/htdocs/menus
In directory sc8-pr-cvs1:/tmp/cvs-serv7330
Modified Files:
docs_menu.shtml main_menu.shtml
Log Message:
updated menus with wiki and pymweb
Index: docs_menu.shtml
===================================================================
RCS file: /cvsroot/pymerase/htdocs/menus/docs_menu.shtml,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** docs_menu.shtml 8 May 2003 01:18:10 -0000 1.8
--- docs_menu.shtml 12 Aug 2003 23:04:52 -0000 1.9
***************
*** 36,41 ****
--- 36,46 ----
<a href="http://sourceforge.net/mail/?group_id=63836">
<img border="0" src="http://pymerase.sf.net/images/pymerase-mail_lists.jpg" width="108" height="31"></a><br>
+ <a href="http://pymerase.caltech.edu/">
+ <img border="0" src="http://pymerase.sf.net/images/pymerase-runpymweb.jpg"></a><br>
<a href="http://pymerase.sf.net/sysreq/">
<img border="0" src="http://pymerase.sf.net/images/pymerase-sysreq.jpg"></a><br>
+
+ <a href="http://pymerase.caltech.edu/PymeraseWiki/">
+ <img border="0" src="http://pymerase.sf.net/images/pymerase-wiki.jpg"></a><br>
<!--#include virtual="/projhtml.cache" -->
Index: main_menu.shtml
===================================================================
RCS file: /cvsroot/pymerase/htdocs/menus/main_menu.shtml,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** main_menu.shtml 28 May 2003 20:07:38 -0000 1.10
--- main_menu.shtml 12 Aug 2003 23:04:52 -0000 1.11
***************
*** 22,27 ****
--- 22,31 ----
<a href="http://sourceforge.net/mail/?group_id=63836">
<img border="0" src="http://pymerase.sf.net/images/pymerase-mail_lists.jpg" width="108" height="31"></a><br>
+ <a href="http://pymerase.caltech.edu/">
+ <img border="0" src="http://pymerase.sf.net/images/pymerase-runpymweb.jpg"></a><br>
<a href="http://pymerase.sf.net/sysreq/">
<img border="0" src="http://pymerase.sf.net/images/pymerase-sysreq.jpg"></a><br>
+ <a href="http://pymerase.caltech.edu/PymeraseWiki/">
+ <img border="0" src="http://pymerase.sf.net/images/pymerase-wiki.jpg"></a><br>
<table border=0 width="100%" bgcolor="#6C8AFF">
|
|
From: <ki...@us...> - 2003-08-11 18:09:08
|
Update of /cvsroot/pymerase/pymerase/pymweb/www
In directory sc8-pr-cvs1:/tmp/cvs-serv14386
Modified Files:
pymweb.html
Log Message:
updated web interface to include link to bug report page, etc.
Index: pymweb.html
===================================================================
RCS file: /cvsroot/pymerase/pymerase/pymweb/www/pymweb.html,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** pymweb.html 22 Jul 2003 00:54:01 -0000 1.11
--- pymweb.html 11 Aug 2003 17:57:28 -0000 1.12
***************
*** 3,14 ****
<html>
<head>
! <title>Pymerase Web</title>
</head>
<body>
<table>
<tr>
<td>
<div align="center">
! <img src="/images/pymerase-title.jpg" alt="Pymerase v0.1">
<form action="cgi-bin/pymweb.py" method="POST" enctype="multipart/form-data"><br>
<table>
--- 3,68 ----
<html>
<head>
! <title>Pymweb - Pymerase Web Interface</title>
</head>
<body>
+ <div align="center">
<table>
<tr>
<td>
<div align="center">
! <a href="http://pymerase.sf.net/">
! <img src="/images/pymerase-title.jpg" border=0 alt="Pymerase">
! </a>
! <h2>Welcome to Pymweb</h2>
! <p>
! If you find and bugs in Pymerase or Pymweb, <a
! href="http://sourceforge.net/tracker/?atid=505345&group_id=63836&func=browse">
! click here</a> to file a bug report.
! </p>
! <p>
! <table>
!
! <tr>
! <td>
! <b>Resource</b>
! </td>
! <td>
! <b>Description</b>
! </td>
! </tr>
!
! <tr>
! <td>
! <a href="http://pymerase.sourceforge.net/docs/pymweb/">
! Pymweb Docs</a>
! </td>
! <td>
! Pymweb Install & User Manuals
! </td>
!
! </tr>
! <tr>
! <td>
! <a href="http://pymerase.sourceforge.net">
! Pymerase</a>
! </td>
! <td>
! Home Page of Pymerase
! </td>
!
! </tr>
! <tr>
! <td>
! <a href="http://woldlab.caltech.edu">
! Wold Lab</a>
! </td>
! <td>
! Origional location of Pymerase Developement
! </td>
!
! </tr>
! </table>
! </p>
! <h2>Use the form below to run Pymerase via Pymweb</h2>
<form action="cgi-bin/pymweb.py" method="POST" enctype="multipart/form-data"><br>
<table>
***************
*** 58,61 ****
--- 112,116 ----
</tr>
</table>
+ </div>
</body>
</html>
|
|
From: <ki...@us...> - 2003-08-08 21:35:03
|
Update of /cvsroot/pymerase/Docs/dev_road_map
In directory sc8-pr-cvs1:/tmp/cvs-serv8551
Added Files:
dev_road_map.tex
Log Message:
Dev Road Map, start
--- NEW FILE: dev_road_map.tex ---
% Pymerase Docs - Template
% Copyright (c) California Institute of Technology
%
% Authors: Brandon King
% $Revision: 1.1 $
% Modified $Date: 2003/08/08 21:34:59 $
\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 - Development Road Map}
\author{Brandon King and 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 Development Road Map}
\subsection{\cb Milestones}
\begin{tabular}{c|l}
\bf Milestone Number & \bf Requirements \\ \hline
v0.2.0 & Fix remaining major bugs \\ \hline
v0.2.* & Misc bug fixes and enhancements \\ \hline
v0.3.0 & Fix type system \\
& Seperate Object Model and Persistance Layer \\
& Add additional UML support \\ \hline
\end{tabular}
\subsection{\cb Non-implemented Pymerase Features}
Key - Significance of Change
\begin{tabular}{c|c}
\bf Symbol & \bf Meaning \\ \hline
! & Major \\ \hline
- & Minor \\ \hline
? & Unknown \\ \hline
\end{tabular}
Key - Project Support
\begin{tabular}{c|c}
\bf Symbol & \bf Meaning \\ \hline
A & All/General \\ \hline
M & MAGE \\ \hline
S & Sigmoid \\ \hline
G & GeneX \\ \hline
B & Bonus \\ \hline
\end{tabular}
\begin{tabular}{c|c|c|c|c|c}
\bf RFE\# & \bf BUG\# & \bf Title & \bf Priority & \bf Sig. of Change & \bf Project Support \\ \hline
& 785597 & Fix Type System & 7 & ! & A \\ \hline
785599 & & Support More of UML & 5 & ! & SM \\ \hline
693319 & & SSUML I-Module & 5 & - & S \\ \hline
785600 & & Java OM O-Module & & & \\ \hline
& & & & & \\ \hline
\end{tabular}
\end{document}
|
|
From: <ki...@us...> - 2003-08-08 21:34:28
|
Update of /cvsroot/pymerase/Docs/dev_road_map In directory sc8-pr-cvs1:/tmp/cvs-serv8457 Added Files: Makefile Log Message: for generating pdf file --- NEW FILE: Makefile --- dev_road_map.pdf: dev_road_map.tex rubber --pdf dev_road_map.tex gv dev_road_map.pdf |
|
From: <ki...@us...> - 2003-08-08 21:33:24
|
Update of /cvsroot/pymerase/Docs/dev_road_map In directory sc8-pr-cvs1:/tmp/cvs-serv8278/dev_road_map Log Message: Directory /cvsroot/pymerase/Docs/dev_road_map added to the repository |
|
From: <ki...@us...> - 2003-08-08 01:54:41
|
Update of /cvsroot/pymerase/pymerase/pymweb/cgi
In directory sc8-pr-cvs1:/tmp/cvs-serv21134
Modified Files:
pymweb.py
Log Message:
Added links bug reports, support requests, feature requests, patches, and mailing lists.
Index: pymweb.py
===================================================================
RCS file: /cvsroot/pymerase/pymerase/pymweb/cgi/pymweb.py,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** pymweb.py 30 May 2003 02:00:50 -0000 1.15
--- pymweb.py 8 Aug 2003 01:54:35 -0000 1.16
***************
*** 232,235 ****
--- 232,255 ----
print text
html += text
+
+ text = "<b>Report Bug:</b> <a href=\"http://sourceforge.net/tracker/?atid=505345&group_id=63836&func=browse\">click here</a><br>\n"
+ print text
+ html += text
+
+ text = "<b>Support Request:</b> <a href=\"http://sourceforge.net/tracker/?group_id=63836&atid=505346\">click here</a><br>\n"
+ print text
+ html += text
+
+ text = "<b>Feature Request:</b> <a href=\"http://sourceforge.net/tracker/?group_id=63836&atid=505348\">click here</a><br>\n"
+ print text
+ html += text
+
+ text = "<b>Patches:</b> <a href=\"http://sourceforge.net/tracker/?group_id=63836&atid=505347\">click here</a><br>\n"
+ print text
+ html += text
+
+ text = "<b>Mailing Lists:</b> <a href=\"http://sourceforge.net/mail/?group_id=63836\">click here</a><br><br>\n\n"
+ print text
+ html += text
form = cgi.FieldStorage()
|
|
From: <mas...@us...> - 2003-08-07 22:38:03
|
Update of /cvsroot/pymerase/pymerase/tests/pymerase/util
In directory sc8-pr-cvs1:/tmp/cvs-serv23073/util
Added Files:
TestNameMangling.py
Log Message:
Tests NameMangling
--- NEW FILE: TestNameMangling.py ---
#!/usr/bin/env python2.2
from __future__ import nested_scopes
import copy
import re
import os
import sys
import string
import types
import unittest
import pymerase
from pymerase.util import NameMangling
class TestNameMangling(unittest.TestCase):
def testNullMangler(self):
#tests mangle
nullMangler = NameMangling.nullMangler()
self.failUnless(nullMangler.mangle("test") == "test", "Mangle: test didn't equal test")
#tests createGetter
self.failUnless(nullMangler.createGetter("createGetter") == "getcreateGetter", "CreateGetter didn't equal")
self.failUnless(nullMangler.createGetter("**createGetter") == "get**createGetter", "CreateGetter didn't equal")
#tests createSetter
self.failUnless(nullMangler.createSetter("createSetter") == "setcreateSetter", "CreateSetter didn't equal")
self.failUnless(nullMangler.createSetter("**createSetter") == "set**createSetter", "CreateSetter didn't equal")
#tests createAppender
self.failUnless(nullMangler.createAppender("createAppender") == "appendcreateAppender", "CreateAppender didn't equal")
self.failUnless(nullMangler.createAppender("**createAppender") == "append**createAppender", "CreateAppender didn't equal")
def testCapWord(self):
capword= NameMangling.CapWord()
#tests lower -> uppercase
self.failUnless(capword.mangle("checkinguppercase") == "Checkinguppercase")
self.failUnless(capword.mangle("1upperCase") == "1upperCase")
#test CapWord()
self.failUnless(capword.mangle("upper_case") == "UpperCase")
self.failUnless(capword.mangle("with spaces_Are Cool_") == "WithSpacesAreCool")
self.failUnless(capword.mangle("_upper_ caSe") == "UpperCaSe")
self.failUnless(capword.mangle("**upper_ 3case") == "**upper3case")
self.failUnless(capword.mangle("3upper_3case") == "3upper3case")
def testUnderscore_word(self):
underscore = NameMangling.underscore_word()
#tests for underscore words
self.failUnless(underscore.mangle("Under_Scored_Word_") == "under_scored_word")
self.failUnless(underscore.mangle("UNDER SCORE WORD") == "under_scored_word")
self.failUnless(underscore.mangle("Under_3Scored") == "under_3_scored")
self.failUnless(underscore.mangle("under_scored_word") == "under_scored_word")
self.failUnless(underscore.mangle("UnderScoreWord") == "under_score_word")
self.failUnless(underscore.mangle("3Upper 3Case") == "3_upper_3_Case")
def testEnglishWord(self):
english = NameMangling.EnglishWord()
#tests English words
self.failUnless(english.mangle("capitalized_words") == "Capitalized words")
self.failUnless(english.mangle("CapitalizeWords") == "Capitalize words")
self.failUnless(english.mangle("Capitalize_2_words") == "Capitalize 2 words")
self.failUnless(english.mangle("tHIS is english") == "This is english")
self.failUnless(english.mangle("3Upper_3case") == "3 upper 3case")
def testLowercaseword(self):
lowercase = NameMangling.lowercaseword()
#tests Lowercasewords
self.failUnless(lowercase.mangle("*$LOWER_case") == "*$lower_case")
self.failUnless(lowercase.mangle("WITH_SPACES_LOWER") == "with_spaces_lower")
self.failUnless(lowercase.mangle("Lower_3Case") == "lower_3case")
self.failUnless(lowercase.mangle("THIS IS SPACED") == "this is spaced")
self.failUnless(lowercase.mangle("3Upper_3CaSe") == "3upper_3case")
def testRelationalKey(self):
relation = NameMangling.RelationalKey()
#test primaryKey
self.failUnless(cmp(map(relation.getPrimaryKey, re.split(", ", "helpk, JOHNK, PuNPK, Pumpkin, pkorn, popPk")), re.split(", ", "helpk, JOHNK_pk, PuNPK, Pumpkin_pk, pkorn_pk, popPk")) == 0)
self.failUnless(cmp(map(relation.getPrimaryKey, re.split(", ", "fkab, houseFK, fake, helpfK, popPk")), re.split (", ", "fkab_pk, housepk, fake_pk, helppk, popPk")) == 0)
#test foreighKey
self.failUnless(cmp(map(relation.getForeignKey, re.split(", ", "helpk, JOHNK, PuNPK, Pumpkin, pkorn, popPk")), re.split("," , "helpfk, JOHNK_fk, PuNfk, Pumpkin_fk, pkorn_fk, popfk")) == 0)
self.failUnless(cmp(map(relation.getForeignKey, re.split(", ", "fkab, houseFK, fake, helpfK, popPk")), re.split(", ", "fkab_fk, houseFK, fake_fk, helpfK, popfk")) == 0)
def suite():
return unittest.defaultTestLoader.loadTestsFromTestCase(TestNameMangling)
if __name__ == "__main__":
unittest.main(defaultTest="suite")
|
|
From: <mas...@us...> - 2003-08-07 22:36:19
|
Update of /cvsroot/pymerase/pymerase/tests/pymerase/util In directory sc8-pr-cvs1:/tmp/cvs-serv22931/util Log Message: Directory /cvsroot/pymerase/pymerase/tests/pymerase/util added to the repository |
|
From: <de...@us...> - 2003-08-04 18:42:23
|
Update of /cvsroot/pymerase/pymerase/tests/pymerase
In directory sc8-pr-cvs1:/tmp/cvs-serv22262/pymerase
Added Files:
TestClassMembers.py
Log Message:
Add some unit tests
--- NEW FILE: TestClassMembers.py ---
#!/usr/bin/env python2.2
from __future__ import nested_scopes
import copy
import os
import re
import string
import sys
import types
import unittest
import pymerase
from pymerase import ClassMembers
import pymerase.util.PymeraseType
import pymerase.util.NameMangling
#from pymerase.util import NameMangling
class ClassMemberTestCases(unittest.TestCase):
def setUp(self):
self.config = pymerase.PymeraseConfig()
nullMangler = pymerase.util.NameMangling.nullMangler()
self.config.setNameMangler(nullMangler)
def tearDown(self):
self.config = None
def testModelElement(self):
"""Test all the various functions of the ModelElement class
"""
# can we be named
me = ClassMembers.ModelElement(self.config, "testModelElement")
self.failUnless(me.getName(None) == "testModelElement")
# does the friendly name default properly?
self.failUnless(me.getFriendlyName() == "testModelElement")
me.setFriendlyName("test the model")
self.failUnless(me.getFriendlyName() == "test the model")
# get description
me.setDescription("this is a description")
self.failUnless(me.getDescription() == "this is a description")
# also get a minor test of PymeraseType
me.setType(pymerase.util.PymeraseType.PymeraseType('integer'))
self.failUnless(me.getType().getPythonTypeStr() == 'types.IntType')
# cannot set a uuid to none
try:
me.setUUID(None)
except RuntimeError, e:
pass
else:
self.fail("me.setUUID(None) didn't fail")
# get uuid
me.setUUID('12345')
self.failUnless(me.getUUID()=='12345')
# make sure location list is maintained correctly
self.failUnless(len(me.getLocations())==0)
me.appendLocation('testCaseMembers: line 1234')
self.failUnless(me.getLocations()[0] == 'testCaseMembers: line 1234')
# does isDefined have the correct default?
self.failUnless(not me.getDefined())
me.setDefined(1)
self.failUnless(me.getDefined())
# test naming utilities
self.failUnless(me.getGetterName(None) == 'gettestModelElement')
self.failUnless(me.getSetterName(None) == 'settestModelElement')
self.failUnless(me.getAppenderName(None) == 'appendtestModelElement')
def testClassAttribute(self):
"""I bet you guessed this function tests the capabilities of ClassAttribute
"""
ca = ClassMembers.ClassAttribute(self.config, "testClassAttribute")
# isRequired test
self.failUnless(not ca.isRequired())
ca.setRequired(1)
self.failUnless(ca.isRequired())
# isUnique
self.failUnless(not ca.isUnique())
ca.setUnique(1)
self.failUnless(ca.isUnique())
# is indexed?
self.failUnless(not ca.isIndexed())
ca.setIndexed(1)
self.failUnless(ca.isIndexed())
# does isKey start as false?
self.failUnless(not ca.isKey())
# try setting as primary key
self.failUnless(not ca.isPrimaryKey())
ca.setPrimaryKey(1)
self.failUnless(ca.isPrimaryKey())
self.failUnless(ca.isKey())
# can't be both primary and foreign key? (I don't know if that should be
# true, but I decided to code that)
try:
ca.setForeignKey(1)
except ValueError, e:
pass
else:
self.fail("a key cannot be both a primary and foreign key")
# reset primary key to false to test foreign key
ca.setPrimaryKey(0)
self.failUnless(not ca.isPrimaryKey())
# test foreign key
self.failUnless(not ca.isForeignKey())
ca.setForeignKey(1)
self.failUnless(ca.isKey())
try:
ca.setPrimaryKey(1)
except ValueError, e:
pass
else:
self.fail("a key cannot be both a primary and foreign key")
def testAssociationEnd(self):
"""Test parts of an AssociationEnd that doesn't depend on being in an Association
"""
ae = ClassMembers.AssociationEnd(self.config, "testAssociationEnd")
ae.setAttributeName('attribute')
self.failUnless(ae.getAttributeName(None) == 'attribute')
cmi = ClassMembers.ClassMetaInfo(self.config, 'ClassMetaInfo')
ae.setType(cmi)
self.failUnless(ae.getType() == cmi)
self.failUnless(ae.getClassName(None) == 'ClassMetaInfo')
self.failUnless(ae.getMultiplicity() is None)
ae.setMultiplicity(1)
self.failUnless(ae.getMultiplicity() == 1)
self.failUnless(not ae.isNavigable())
ae.setNavigable(1)
self.failUnless(ae.isNavigable())
self.failUnless(ae.getGetterName(None) == 'gettestAssociationEnd')
self.failUnless(ae.getSetterName(None) == 'settestAssociationEnd')
self.failUnless(ae.getAppenderName(None) == 'appendtestAssociationEnd')
def testAssociation(self):
"""Test Association and AssociationEnd components that work in an association
"""
leftAE = ClassMembers.AssociationEnd(self.config, 'leftAssociationEnd')
rightAE = ClassMembers.AssociationEnd(self.config, 'rightAssociationEnd')
leftAE.setAttributeName('left')
rightAE.setAttributeName('right')
leftCMI = ClassMembers.ClassMetaInfo(self.config, 'leftCMI')
rightCMI = ClassMembers.ClassMetaInfo(self.config, 'rightCMI')
leftAE.setType(leftCMI)
rightAE.setType(rightCMI)
A = ClassMembers.createAssociation(self.config, leftAE, rightAE, "ends")
self.failUnless(A.getName(None) == "ends")
self.failUnless(len(A) == 2)
self.failUnless(leftAE.getAssociation() == A)
self.failUnless(rightAE.getAssociation() == A)
self.failUnless(leftAE.getOppositeEnd() == rightAE)
self.failUnless(rightAE.getOppositeEnd() == leftAE)
A.removeAssociationEnd(leftAE)
A.removeAssociationEnd(rightAE)
self.failUnless(len(A) == 0)
self.failUnless(leftAE.getAssociation() is None)
self.failUnless(rightAE.getAssociation() is None)
# test name construction
A = ClassMembers.createAssociation(self.config, leftAE, rightAE)
self.failUnless(A.getName(None) == 'leftAssociationEndrightAssociationEnd')
def testClassMetaInfo(self):
root1 = ClassMembers.ClassMetaInfo(self.config, "root1")
root1Attrib = ClassMembers.ClassAttribute(self.config, 'root1Attrib')
root2 = ClassMembers.ClassMetaInfo(self.config, "root2")
root2Attrib = ClassMembers.ClassAttribute(self.config, 'root2Attrib')
cmi = ClassMembers.ClassMetaInfo(self.config, "testClassMetaInfo")
cmi.setFilename("/a/b/c/d")
self.failUnless(cmi.getFilename() == "/a/b/c/d")
self.failUnless(not cmi.getAbstract())
cmi.setAbstract(1)
self.failUnless(cmi.getAbstract())
# FIXME: test adding an association end?
attrib1 = ClassMembers.ClassAttribute(self.config, 'attrib1')
attrib2 = ClassMembers.ClassAttribute(self.config, 'attrib2')
self.failUnless(len(cmi.getAttributes() == 0))
cmi.addAttribute(attrib1)
cmi.addAttribute(attrib2)
self.failUnless(len(cmi.getAttributes() == 2))
self.failUnless(cmi.getAttributeByName('attrib1') == attrib1)
self.failUnless(len(cmi.getAttributeNames()) == 2)
self.failUnless('attrib1' in cmi.getAttributeNames())
cmi.appendBaseClass(root1)
cmi.appendBaseClass(root2)
self.failUnless(root1 in cmi.getBaseClasses())
self.failUnless('root1' in cmi.getBaseClassNames(None))
self.failUnless(root2 in cmi.getBaseClasses())
self.failUnless('root2' in cmi.getBaseClassNames(None))
self.failUnless(len(cmi.getBaseClasses()) == 2)
self.failUnless(len(cmi.getBaseClassNames()) == 2)
self.failUnless(not cmi.isRootClass())
self.failUnless(root1.isRootClass())
self.failUnless(root2.isRootClass())
self.failUnless(cmi.getRootClass() == root1)
self.failUnless(cmi.getBasePrimaryKeyName(None) == 'root1Attrib_pk')
self.failUnless(smi.getForeignKeyName(None) == 'testClassMetaInfo_fk')
def suite():
return unittest.defaultTestLoader.loadTestsFromTestCase(ClassMemberTestCases)
if __name__ == "__main__":
unittest.main(defaultTest="suite")
|
|
From: <de...@us...> - 2003-08-04 18:42:23
|
Update of /cvsroot/pymerase/pymerase/tests In directory sc8-pr-cvs1:/tmp/cvs-serv22262 Added Files: .cvsignore Log Message: Add some unit tests --- NEW FILE: .cvsignore --- *.pyc *.class |
|
From: <de...@us...> - 2003-08-04 18:30:35
|
Update of /cvsroot/pymerase/pymerase/tests/pymerase In directory sc8-pr-cvs1:/tmp/cvs-serv20439/pymerase Log Message: Directory /cvsroot/pymerase/pymerase/tests/pymerase added to the repository |
|
From: <ki...@us...> - 2003-07-25 02:18:38
|
Update of /cvsroot/pymerase/pymerase/pymerase/output
In directory sc8-pr-cvs1:/tmp/cvs-serv20874
Modified Files:
CreateDbTableBrowser.py
Log Message:
Defaulted to loading all object, otherwise error is thrown.
Index: CreateDbTableBrowser.py
===================================================================
RCS file: /cvsroot/pymerase/pymerase/pymerase/output/CreateDbTableBrowser.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** CreateDbTableBrowser.py 25 Jul 2003 02:03:20 -0000 1.3
--- CreateDbTableBrowser.py 25 Jul 2003 02:18:35 -0000 1.4
***************
*** 248,252 ****
#FIXME: Need to have some way of overriding these values!
! dbs = DBSession('localhost', 'arab_oligo', 'king')
if query is not None and field is not None:
--- 248,252 ----
#FIXME: Need to have some way of overriding these values!
! dbs = DBSession('localhost', 'tabdata', 'king')
if query is not None and field is not None:
***************
*** 271,279 ****
objList = dbs.getObjectsWhere(dbs.%CLASS_NAME%, '%s' % (sqlSearch))
else:
! #objList = dbs.getAllObjects(dbs.%CLASS_NAME%)
! tmpObj = dbs.%CLASS_NAME%()
! objList = dbs.getObjectsWhere(dbs.%CLASS_NAME%,
! '%s BETWEEN %s AND %s ORDER BY %s%s' % \\
! (tmpObj.getPrimaryKeyName(), 1, 50, getField(sortField), sortDirect))
return objList
--- 271,281 ----
objList = dbs.getObjectsWhere(dbs.%CLASS_NAME%, '%s' % (sqlSearch))
else:
! objList = dbs.getAllObjects(dbs.%CLASS_NAME%)
! #NOTE: Comment out the line above if number of objects is too large
! # Then uncomment the 4 lines below
! #tmpObj = dbs.%CLASS_NAME%()
! #objList = dbs.getObjectsWhere(dbs.%CLASS_NAME%,
! # '%s BETWEEN %s AND %s ORDER BY %s%s' % \\
! # (tmpObj.getPrimaryKeyName(), 1, 50, getField(sortField), sortDirect))
return objList
|
|
From: <ki...@us...> - 2003-07-25 02:03:23
|
Update of /cvsroot/pymerase/pymerase/pymerase/output
In directory sc8-pr-cvs1:/tmp/cvs-serv18807
Modified Files:
CreateDbTableBrowser.py
Log Message:
overlaping fields.pickle file... fixed
Index: CreateDbTableBrowser.py
===================================================================
RCS file: /cvsroot/pymerase/pymerase/pymerase/output/CreateDbTableBrowser.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** CreateDbTableBrowser.py 25 Jul 2003 01:58:19 -0000 1.2
--- CreateDbTableBrowser.py 25 Jul 2003 02:03:20 -0000 1.3
***************
*** 541,550 ****
rec = dbs.%CLASS_NAME%()
try:
! f = open(os.path.abspath('./data/fields.pickle'), 'r')
FLD_LIST = pickle.load(f)
f.close()
except:
FLD_LIST = rec.fields.values()
! f = open(os.path.abspath('./data/fields.pickle'), 'w')
pickle.dump(FLD_LIST, f)
f.close()
--- 541,550 ----
rec = dbs.%CLASS_NAME%()
try:
! f = open(os.path.abspath('./data/%PACKAGE_NAME%%CLASS_NAME%Fields.pickle'), 'r')
FLD_LIST = pickle.load(f)
f.close()
except:
FLD_LIST = rec.fields.values()
! f = open(os.path.abspath('./data/%PACKAGE_NAME%%CLASS_NAME%Fields.pickle'), 'w')
pickle.dump(FLD_LIST, f)
f.close()
|
|
From: <ki...@us...> - 2003-07-25 01:58:23
|
Update of /cvsroot/pymerase/pymerase/pymerase/output
In directory sc8-pr-cvs1:/tmp/cvs-serv17884
Modified Files:
CreateDbTableBrowser.py
Log Message:
error generating cfg file name
Index: CreateDbTableBrowser.py
===================================================================
RCS file: /cvsroot/pymerase/pymerase/pymerase/output/CreateDbTableBrowser.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** CreateDbTableBrowser.py 19 Jul 2003 00:34:16 -0000 1.1
--- CreateDbTableBrowser.py 25 Jul 2003 01:58:19 -0000 1.2
***************
*** 114,118 ****
#CONFIG FILE PATH
! CONFIG_FILE = os.path.abspath('./%PACKAGE_NAME%_%CLASS_NAME%.cfg')
#DEFAULT DIRS
--- 114,118 ----
#CONFIG FILE PATH
! CONFIG_FILE = os.path.abspath('./%PACKAGE_NAME%%CLASS_NAME%.cfg')
#DEFAULT DIRS
|
|
From: <ki...@us...> - 2003-07-25 01:49:29
|
Update of /cvsroot/pymerase/pymerase/pymerase/output
In directory sc8-pr-cvs1:/tmp/cvs-serv16841
Modified Files:
CreateTabDelimitedParser.py
Log Message:
made better defaults
Index: CreateTabDelimitedParser.py
===================================================================
RCS file: /cvsroot/pymerase/pymerase/pymerase/output/CreateTabDelimitedParser.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** CreateTabDelimitedParser.py 8 Jul 2003 00:49:41 -0000 1.3
--- CreateTabDelimitedParser.py 25 Jul 2003 01:49:25 -0000 1.4
***************
*** 278,283 ****
if len(sys.argv) > 1:
fileName = sys.argv[1]
! parser = %CLASSNAME%Parser()
! obj = parser.parse(fileName)
print 'Data Parsed and returned', obj
else:
--- 278,283 ----
if len(sys.argv) > 1:
fileName = sys.argv[1]
! parser = %CLASSNAME%Parser(%CLASSNAME%DbMaster)
! obj = parser.parse(fileName, startLine=1)
print 'Data Parsed and returned', obj
else:
|
|
From: <de...@us...> - 2003-07-25 00:41:10
|
Update of /cvsroot/pymerase/pymerase/pymerase/input
In directory sc8-pr-cvs1:/tmp/cvs-serv6376/pymerase/input
Modified Files:
parseXMI.py
Log Message:
Add support for tracking to see if something is a foreign key reference
Index: parseXMI.py
===================================================================
RCS file: /cvsroot/pymerase/pymerase/pymerase/input/parseXMI.py,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** parseXMI.py 23 Jul 2003 01:53:09 -0000 1.24
--- parseXMI.py 25 Jul 2003 00:41:07 -0000 1.25
***************
*** 363,366 ****
--- 363,367 ----
fkey = ClassAttribute(pymeraseConfig, attributeName)
fkey.setType(PymeraseType('int'))
+ fkey.setForeignKey(1)
return fkey
|