You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@gump.apache.org by aj...@apache.org on 2004/01/21 22:26:02 UTC
cvs commit: jakarta-gump/python/gump/document resolver.py xdoc.py forrest.py
ajack 2004/01/21 13:26:02
Modified: python/gump/document resolver.py xdoc.py forrest.py
Log:
Work on statistics and xref.
Revision Changes Path
1.11 +1 -1 jakarta-gump/python/gump/document/resolver.py
Index: resolver.py
===================================================================
RCS file: /home/cvs/jakarta-gump/python/gump/document/resolver.py,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- resolver.py 9 Jan 2004 19:57:20 -0000 1.10
+++ resolver.py 21 Jan 2004 21:26:02 -0000 1.11
@@ -372,7 +372,7 @@
documentName += extn
location.setDocument(documentName)
return concatenate(self.rootUrl,location.serialize())
-
+
#
# Object stuff...
#
1.8 +1 -2 jakarta-gump/python/gump/document/xdoc.py
Index: xdoc.py
===================================================================
RCS file: /home/cvs/jakarta-gump/python/gump/document/xdoc.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- xdoc.py 9 Jan 2004 19:57:20 -0000 1.7
+++ xdoc.py 21 Jan 2004 21:26:02 -0000 1.8
@@ -210,7 +210,6 @@
def middle(self):
if not self.subpieces and not self.isEmptyOk():
log.warn('Empty [' + `self.__class__` + '] probably isn\'t good...')
- #raise RuntimeError, "Empty [' + self.__class__ + '] probably isn't good..."
self.displayOwnership()
for sub in self.subpieces:
@@ -560,7 +559,7 @@
def __init__(self,context,href,text=None):
XDocPiece.__init__(self,context)
self.href=href
- if text:
+ if text:
self.createText(text)
def start(self):
1.56 +176 -54 jakarta-gump/python/gump/document/forrest.py
Index: forrest.py
===================================================================
RCS file: /home/cvs/jakarta-gump/python/gump/document/forrest.py,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -r1.55 -r1.56
--- forrest.py 21 Jan 2004 18:52:30 -0000 1.55
+++ forrest.py 21 Jan 2004 21:26:02 -0000 1.56
@@ -1467,27 +1467,87 @@
overviewList=overviewSection.createList()
overviewList.createEntry('Modules: ', stats.wguru.modulesInWorkspace)
overviewList.createEntry('Projects: ', stats.wguru.projectsInWorkspace)
- overviewList.createEntry('Avg Projects Per Module: ', stats.wguru.averageProjectsPerModule)
+ overviewList.createEntry('Avg Projects Per Module: ', stats.wguru.averageProjectsPerModule)
+
+
+ mstatsSection=document.createSection('Module Statistics')
+ mstatsTable=mstatsSection.createTable(['Page','Description'])
+
+ # Modules By Elapsed Time
+ mByE=self.documentModulesByElapsed(stats, run, workspace, gumpSet)
+ mstatsRow=mstatsTable.createRow()
+ mstatsRow.createData().createLink(mByE, 'Modules By Elapsed Time')
+ mstatsRow.createData('Time spent working on this module.')
+
+ # Modules By Project #
+ mByP=self.documentModulesByProjects(stats, run, workspace, gumpSet)
+ mstatsRow=mstatsTable.createRow()
+ mstatsRow.createData().createLink(mByP, 'Modules By Project #')
+ mstatsRow.createData('Number of projects within the module.')
+
+ # Modules By Dependencies
+ mByDep=self.documentModulesByDependencies(stats, run, workspace, gumpSet)
+ mstatsRow=mstatsTable.createRow()
+ mstatsRow.createData().createLink(mByDep, 'Modules By Dependencies #')
+ mstatsRow.createData('Number of dependencies within the module.')
+
+ # Modules By Dependees
+ mByDepees=self.documentModulesByDependees(stats, run, workspace, gumpSet)
+ mstatsRow=mstatsTable.createRow()
+ mstatsRow.createData().createLink(mByDepees, 'Modules By Dependees #')
+ mstatsRow.createData('Number of dependees on the module.')
+
+ # Modules By FOG Factor
+ mByFOG=self.documentModulesByFOGFactor(stats, run, workspace, gumpSet)
+ mstatsRow=mstatsTable.createRow()
+ mstatsRow.createData().createLink(mByFOG, 'Modules By FOG Factor')
+ mstatsRow.createData('Friend of Gump (FOG) Factor. A measure of dependability (for other Gumpers).')
- document.serialize()
+ # Modules By Last Updated
+ mByLU=self.documentModulesByLastUpdated(stats, run, workspace, gumpSet)
+ mstatsRow=mstatsTable.createRow()
+ mstatsRow.createData().createLink(mByLU, 'Modules By Last Updated')
+ mstatsRow.createData('Best guess at last code change (in source control).')
+
+ pstatsSection=document.createSection('Project Statistics')
+ pstatsTable=pstatsSection.createTable(['Page','Description'])
+
+ # Projects By Elapsed
+ pByE=self.documentProjectsByElapsed(stats, run, workspace, gumpSet)
+ pstatsRow=pstatsTable.createRow()
+ pstatsRow.createData().createLink(pByE, 'Projects By Elapsed Time')
+ pstatsRow.createData('Time spent working on this project.')
+
+ # Projects By Dependencies
+ pByDep=self.documentProjectsByDependencies(stats, run, workspace, gumpSet)
+ pstatsRow=pstatsTable.createRow()
+ pstatsRow.createData().createLink(pByDep, 'Projects By Dependencies')
+ pstatsRow.createData('Number of dependencies for the project.')
+
+ # Projects By Dependees
+ pByDepees=self.documentProjectsByDependees(stats, run, workspace, gumpSet)
+ pstatsRow=pstatsTable.createRow()
+ pstatsRow.createData().createLink(pByDepees, 'Projects By Dependees')
+ pstatsRow.createData('Number of dependees for the project.')
+
+ # Projects By FOG Factor
+ pByFOG=self.documentProjectsByFOGFactor(stats, run, workspace, gumpSet)
+ pstatsRow=pstatsTable.createRow()
+ pstatsRow.createData().createLink(pByFOG, 'Projects By FOG Factor')
+ pstatsRow.createData('Friend of Gump (FOG) Factor. A measure of dependability (for other Gumpers).')
+
+ # Projects By Sequence
+ pBySeq=self.documentProjectsBySequenceInState(stats, run, workspace, gumpSet)
+ pstatsRow=pstatsTable.createRow()
+ pstatsRow.createData().createLink(pBySeq, 'Projects By duration in state')
+ pstatsRow.createData('Duration in current state.')
- # Individual Pages...
- self.documentModulesByElapsed(stats, run, workspace, gumpSet)
- self.documentModulesByProjects(stats, run, workspace, gumpSet)
- self.documentModulesByDependencies(stats, run, workspace, gumpSet)
- self.documentModulesByDependees(stats, run, workspace, gumpSet)
- self.documentModulesByFOGFactor(stats, run, workspace, gumpSet)
- self.documentModulesByLastUpdated(stats, run, workspace, gumpSet)
- # Individual Pages...
- self.documentProjectsByElapsed(stats, run, workspace, gumpSet)
- self.documentProjectsByDependencies(stats, run, workspace, gumpSet)
- self.documentProjectsByDependees(stats, run, workspace, gumpSet)
- self.documentProjectsByFOGFactor(stats, run, workspace, gumpSet)
- self.documentProjectsBySequenceInState(stats, run, workspace, gumpSet)
+ document.serialize()
def documentModulesByElapsed(self,stats,run,workspace,gumpSet):
- document=XDocDocument('Modules By Elapsed Time', \
- self.resolver.getFile(stats,'module_elapsed.xml'))
+ fileName='module_elapsed'
+ file=self.resolver.getFile(stats,fileName)
+ document=XDocDocument('Modules By Elapsed Time', file)
elapsedTable=document.createTable(['Modules By Elapsed'])
for module in stats.modulesByElapsed:
@@ -1497,10 +1557,13 @@
elapsedRow.createData(secsToElapsedString(module.getElapsedSecs()))
document.serialize()
+
+ return fileName + '.html'
def documentModulesByProjects(self,stats,run,workspace,gumpSet):
- document=XDocDocument('Modules By Project Count', \
- self.resolver.getFile(stats,'module_projects.xml'))
+ fileName='module_projects'
+ file=self.resolver.getFile(stats,fileName)
+ document=XDocDocument('Modules By Project Count', file)
mprojsTable=document.createTable(['Modules By Project Count'])
for module in stats.modulesByProjectCount:
@@ -1520,10 +1583,13 @@
# mprojsRow.createData(projectsString)
document.serialize()
+
+ return fileName + '.html'
def documentModulesByDependencies(self,stats,run,workspace,gumpSet):
- document=XDocDocument('Modules By Dependency Count', \
- self.resolver.getFile(stats,'module_dependencies.xml'))
+ fileName='module_dependencies'
+ file=self.resolver.getFile(stats,fileName)
+ document=XDocDocument('Modules By Dependency Count', file)
dependenciesTable=document.createTable(['Module','Full Dependency Count'])
for module in stats.modulesByTotalDependencies:
@@ -1539,11 +1605,14 @@
#dependenciesRow.createData(projectsString)
document.serialize()
+
+ return fileName + '.html'
def documentModulesByDependees(self,stats,run,workspace,gumpSet):
- document=XDocDocument('Modules By Dependee Count',
- self.resolver.getFile(stats,'module_dependees.xml'))
+ fileName='module_dependees'
+ file=self.resolver.getFile(stats,fileName)
+ document=XDocDocument('Modules By Dependee Count', file)
dependeesTable=document.createTable(['Module','Full Dependee Count'])
for module in stats.modulesByTotalDependees:
@@ -1560,9 +1629,12 @@
document.serialize()
+ return fileName + '.html'
+
def documentModulesByFOGFactor(self,stats,run,workspace,gumpSet):
- document=XDocDocument('Modules By FOG Factor', \
- self.resolver.getFile(stats,'module_fogfactor.xml'),)
+ fileName='module_fogfactor'
+ file=self.resolver.getFile(stats,fileName)
+ document=XDocDocument('Modules By FOG Factor', file)
fogTable=document.createTable(['Module','FOG Factor'])
for module in stats.modulesByFOGFactor:
if not gumpSet.inModules(module): continue
@@ -1571,10 +1643,13 @@
fogRow.createData(round(module.getFOGFactor(),2))
document.serialize()
+
+ return fileName + '.html'
def documentModulesByLastUpdated(self,stats,run,workspace,gumpSet):
- document=XDocDocument('Modules By Last Updated', \
- self.resolver.getFile(stats,'module_updated.xml'),)
+ fileName='module_updated'
+ file=self.resolver.getFile(stats,fileName)
+ document=XDocDocument('Modules By Last Updated', file)
updTable=document.createTable(['Module','Last Updated'])
for module in stats.modulesByLastUpdated:
if not gumpSet.inModules(module): continue
@@ -1583,10 +1658,13 @@
updRow.createData(secsToDate(module.getLastUpdated()))
document.serialize()
+
+ return fileName + '.html'
def documentProjectsByElapsed(self,stats,run,workspace,gumpSet):
- document=XDocDocument('Projects By Elapsed Time', \
- self.resolver.getFile(stats,'project_elapsed.xml'))
+ fileName='project_elapsed'
+ file=self.resolver.getFile(stats,fileName)
+ document=XDocDocument('Projects By Elapsed Time', file)
elapsedTable=document.createTable(['Projects By Elapsed'])
for project in stats.projectsByElapsed:
@@ -1596,10 +1674,13 @@
elapsedRow.createData(secsToElapsedString(project.getElapsedSecs()))
document.serialize()
+
+ return fileName + '.html'
def documentProjectsByDependencies(self,stats,run,workspace,gumpSet):
- document=XDocDocument('Projects By Dependency Count', \
- self.resolver.getFile(stats,'project_dependencies.xml'))
+ fileName='project_dependencies'
+ file=self.resolver.getFile(stats,fileName)
+ document=XDocDocument('Projects By Dependency Count', file)
dependenciesTable=document.createTable(['Project','Direct Dependency Count', 'Full Dependency Count'])
for project in stats.projectsByTotalDependencies:
@@ -1616,11 +1697,14 @@
#dependenciesRow.createData(projectsString)
document.serialize()
+
+ return fileName + '.html'
def documentProjectsByDependees(self,stats,run,workspace,gumpSet):
- document=XDocDocument('Projects By Dependee Count',
- self.resolver.getFile(stats,'project_dependees.xml'))
+ fileName='project_dependees'
+ file=self.resolver.getFile(stats,fileName)
+ document=XDocDocument('Projects By Dependee Count', file)
dependeesTable=document.createTable(['Project','Direct Dependee Count', 'Full Dependee Count'])
for project in stats.projectsByTotalDependees:
@@ -1638,9 +1722,12 @@
document.serialize()
+ return fileName + '.html'
+
def documentProjectsByFOGFactor(self,stats,run,workspace,gumpSet):
- document=XDocDocument('Projects By FOG Factor', \
- self.resolver.getFile(stats,'project_fogfactor.xml'),)
+ fileName='project_fogfactor'
+ file=self.resolver.getFile(stats,fileName)
+ document=XDocDocument('Projects By FOG Factor', file)
fogTable=document.createTable(['Project','Successes','Failures','Preq-Failures','FOG Factor'])
for project in stats.projectsByFOGFactor:
if not gumpSet.inSequence(project): continue
@@ -1656,9 +1743,12 @@
document.serialize()
+ return fileName + '.html'
+
def documentProjectsBySequenceInState(self,stats,run,workspace,gumpSet):
- document=XDocDocument('Projects By Duration In State', \
- self.resolver.getFile(stats,'project_durstate.xml'),)
+ fileName='project_durstate'
+ file=self.resolver.getFile(stats,fileName)
+ document=XDocDocument('Projects By Duration In State', file)
durTable=document.createTable(['Project','Duration\nIn State','State'])
for project in stats.projectsBySequenceInState:
if not gumpSet.inSequence(project): continue
@@ -1671,6 +1761,8 @@
durRow.createData(stateName(pstats.currentState))
document.serialize()
+
+ return fileName + '.html'
#####################################################################
@@ -1684,22 +1776,44 @@
document=XDocDocument('Cross Reference',self.resolver.getFile(xref))
document.createParagraph("""
- Gump is about relationships, and this section shows relationship.
- See side menu for choices.
+ Obscure views into projects/modules...
""")
-
- document.serialize()
-
- # Individual Pages...
- self.documentModulesByRepository(xref, run, workspace, gumpSet)
- self.documentModulesByPackage(xref, run, workspace, gumpSet)
-
- self.documentProjectsByPackage(xref, run, workspace, gumpSet)
+
+ ##################################################################3
+ # Modules ...........
+ mxrefSection=document.createSection('Module Cross Reference')
+ mxrefTable=mxrefSection.createTable(['Page','Description'])
+
+ # Modules By Repository
+ mByR=self.documentModulesByRepository(xref, run, workspace, gumpSet)
+ mxrefRow=mxrefTable.createRow()
+ mxrefRow.createData().createLink(mByR, 'Modules By Repository')
+ mxrefRow.createData('The repository that contains the module.')
+
+ # Modules By Package
+ mByP=self.documentModulesByPackage(xref, run, workspace, gumpSet)
+ mxrefRow=mxrefTable.createRow()
+ mxrefRow.createData().createLink(mByP, 'Modules By Package')
+ mxrefRow.createData('The package(s) contained in the module.')
+
+ ##################################################################3
+ # Projects ...........
+
+ pxrefSection=document.createSection('Project Cross Reference')
+ pxrefTable=pxrefSection.createTable(['Page','Description'])
+
+ # Modules By Package
+ pByP=self.documentProjectsByPackage(xref, run, workspace, gumpSet)
+ pxrefRow=pxrefTable.createRow()
+ pxrefRow.createData().createLink(pByP, 'Projects By Package')
+ pxrefRow.createData('The package(s) contained in the project.')
+ document.serialize()
def documentModulesByRepository(self,xref,run,workspace,gumpSet):
- document=XDocDocument('Modules By Repository', \
- self.resolver.getFile(xref,'repo_module.xml'))
+ fileName='repo_module'
+ file=self.resolver.getFile(xref,fileName)
+ document=XDocDocument('Modules By Repository', file)
repoMap=xref.getRepositoryToModuleMap()
repoList=createOrderedList(repoMap.keys())
@@ -1721,9 +1835,12 @@
document.serialize()
+ return fileName + '.html'
+
def documentModulesByPackage(self,xref,run,workspace,gumpSet):
- document=XDocDocument('Modules By Package', \
- self.resolver.getFile(xref,'package_module.xml'))
+ fileName='package_module'
+ file=self.resolver.getFile(xref,fileName)
+ document=XDocDocument('Modules By Package', file)
packageTable=document.createTable(['Modules By Package'])
@@ -1749,9 +1866,12 @@
document.serialize()
+ return fileName + '.html'
+
def documentProjectsByPackage(self,xref,run,workspace,gumpSet):
- document=XDocDocument('Projects By Package', \
- self.resolver.getFile(xref,'package_project.xml'))
+ fileName='package_project'
+ file=self.resolver.getFile(xref,fileName)
+ document=XDocDocument('Projects By Package', file)
packageTable=document.createTable(['Projects By Package'])
@@ -1776,6 +1896,8 @@
projectData.createText(' ')
document.serialize()
+
+ return fileName + '.html'