ajack       2004/05/27 07:35:28

  Modified:    .        gumpy.py
               python/gump/utils __init__.py
               python/gump/document/xdocs documenter.py
  Log:
  1) Added runlog

  2) Modified 'run details' page to show start and end date/time

  3) Re-organized 'run details' page to three sections
  
  Revision  Changes    Path
  1.37      +39 -6     gump/gumpy.py
  
  Index: gumpy.py
  ===================================================================
  RCS file: /home/cvs/gump/gumpy.py,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -u -r1.36 -r1.37
  --- gumpy.py  25 May 2004 14:15:20 -0000      1.36
  +++ gumpy.py  27 May 2004 14:35:28 -0000      1.37
  @@ -41,7 +41,7 @@
   

   LINE=' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GUMP'

   

  -GUMPY_VERSION='2.0.2-alpha-0002'

  +GUMPY_VERSION='2.0.2-alpha-0003'

   

   def ignoreHangup(signum):

       pass

  @@ -133,6 +133,27 @@
           

       except Exception, details:

           print 'Failed to send mail: ' + str(details)

  +        

  +def writeRunLogEntry(entry):

  +    # Enable a run log

  +    runlogFileName='gumpy_runlog.txt'

  +    runlogFile=os.path.abspath(runlogFileName)

  +    runlog=None

  +    try:

  +        runlog=open(runlogFile,'a',0) # Unbuffered...

  +        try:

  +            runlog.write(time.strftime('%d %b %y %H:%M:%S'))

  +            runlog.write(' : ')

  +            runlog.write(`os.getpid()`)

  +            runlog.write(' : ')

  +            runlog.write(entry)

  +            runlog.write('\n')

  +        except Exception, details:

  +            print 'Failed to write to runlog : ' + str(details)

  +    finally:

  +        if runlog:

  +            runlog.close()

  +    

   

               

   def establishLock(lockFile):

  @@ -157,6 +178,8 @@
           lock=open(lockFile,'w')

               

       if failed:

  +        writeRunLogEntry('False Start. The lock file [%s] exists%s' % (lockFile, 
info))

  +        

           print """The lock file [%s] exists%s. 

   Either Gump is still running, or it terminated very abnormally.    

   Please resolve this (waiting or removing the lock file) before retrying.

  @@ -222,7 +245,11 @@
   

   def tailFileToString(file,lines,eol=None,marker=None):

       return "".join(tailFile(file,lines,eol,marker))

  -    

  +

  +

  +# Starting up...

  +writeRunLogEntry('Gump Start-up. Arguments [%s]' % sys.argv)

  +

   # Allow a lock    

   lockFile=os.path.abspath('gumpy.lock')

   lock=establishLock(lockFile)        

  @@ -241,8 +268,6 @@
   logFile=os.path.abspath(logFileName)

   log=open(logFile,'w',0) # Unbuffered...

   

  -result=0

  -

   hostname='Unknown'

   workspaceName='Unknown'

           

  @@ -254,6 +279,10 @@
   logdir=None

           

   args=sys.argv

  +result=0

  +cvsExit = -1

  +integrationExit = -1

  +        

   try:

   

       try:

  @@ -262,7 +291,8 @@
           hostname = socket.gethostname()

   

           log.write('- GUMP run on host   : ' + hostname + '\n')

  -        log.write('- GUMP run @         : ' + time.strftime('%d %b %y %H:%M:%S', 
time.gmtime()) + '\n')

  +        log.write('- GUMP run @         : ' + time.strftime('%d %b %y %H:%M:%S', 
time.localtime()) + '\n')

  +        log.write('- GUMP run @  UTC    : ' + time.strftime('%d %b %y %H:%M:%S', 
time.gmtime()) + '\n')

           log.write('- GUMP run by Python : ' + `sys.version` + '\n')

           log.write('- GUMP run by Gumpy  : ' + GUMPY_VERSION + '\n')

           log.write('- GUMP run on OS     : ' + `os.name` + '\n')

  @@ -344,7 +374,6 @@
           #

           # Update Gump from CVS

           #    

  -        cvsExit = 0

           if not os.environ.has_key('GUMP_NO_CVS_UPDATE'):

               cvsroot=':pserver:[EMAIL PROTECTED]:/home/cvspublic'

               os.environ['CVSROOT']=cvsroot

  @@ -352,6 +381,7 @@
               cvsExit = runCommand('cvs -q update -dP')

           else:

               log.write('CVS update skipped per environment setting.\n')

  +            cvsExit=0

           if cvsExit:

               result=1

               

  @@ -468,6 +498,9 @@
               

           else:

               print 'Unable to mail failure report : ' + 
`[mailserver,mailport,mailto,mailfrom]`

  +            

  +            

  +    writeRunLogEntry('Complete [%s cvs:%s,run:%s]' % (result, cvsExit, 
integrationExit))

   

   # bye!

   sys.exit(result)

  
  
  
  1.42      +2 -2      gump/python/gump/utils/__init__.py
  
  Index: __init__.py
  ===================================================================
  RCS file: /home/cvs/gump/python/gump/utils/__init__.py,v
  retrieving revision 1.41
  retrieving revision 1.42
  diff -u -r1.41 -r1.42
  --- __init__.py       21 May 2004 23:15:06 -0000      1.41
  +++ __init__.py       27 May 2004 14:35:28 -0000      1.42
  @@ -431,8 +431,8 @@
           if marker:
               message=' @ '
               message+=marker
  -        log.debug('Objects Tracked by GC %s : %s' \
  -                % (message,  `tracked`))
  +        #log.debug('Objects Tracked by GC %s : %s' \
  +        #        % (message,  `tracked`))
       except:
           pass  
       return tracked
  
  
  
  1.8       +20 -17    gump/python/gump/document/xdocs/documenter.py
  
  Index: documenter.py
  ===================================================================
  RCS file: /home/cvs/gump/python/gump/document/xdocs/documenter.py,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- documenter.py     26 May 2004 23:31:22 -0000      1.7
  +++ documenter.py     27 May 2004 14:35:28 -0000      1.8
  @@ -359,36 +359,41 @@
           
           definitionSection=document.createSection('Run Details')    
           
  -        definitionSection.createNote('This install runs Python Gump, not 
Traditional Gump.') 
  -        
           definitionTable=definitionSection.createTable()
           definitionTable.createEntry('Gump Run GUID', self.run.getRunGuid())
           definitionTable.createEntry('Gump Run (Hex) GUID', self.run.getRunHexGuid())
           definitionTable.createEntry('Gump Version', setting.version)
  -        definitionTable.createEntry('Java Command', 
self.run.getEnvironment().javaCommand)
           definitionTable.createEntry('Python', str(sys.version))
           definitionTable.createEntry('Operating System (Name)', str(os.name))
  -        definitionTable.createEntry('@@DATE@@', str(default.date))
  -        definitionTable.createEntry('Start Date/Time (UTC)', 
self.workspace.getStartDateTimeUtc())
  -        definitionTable.createEntry('Start Date/Time', 
self.workspace.getStartDateTime())
  -        definitionTable.createEntry('Timezone', self.workspace.timezone)
  -
  -        javaproperties=self.run.getEnvironment().getJavaProperties()
  -        for name in ['java.vendor', 'java.version', 'os.name', 'os.arch', 
'os.version']:
  -            if name in javaproperties:
  -                definitionTable.createEntry(name, javaproperties[name])        
  -
  +        
           tracked=inspectGarbageCollection()
           if tracked:
               definitionTable.createEntry('Garbage Collector Tracked', tracked)    
               
           rssSyndRow=definitionTable.createRow()
  -        rssSyndRow.createData('Syndication')
  +        rssSyndRow.createData().createStrong('Syndication')
           rssSyndRow.createData().createFork('rss.xml','RSS')
           atomSyndRow=definitionTable.createRow()
  -        atomSyndRow.createData('Syndication')
  +        atomSyndRow.createData().createStrong('Syndication')
           atomSyndRow.createData().createFork('atom.xml','Atom')
                   
  +        dtSection=document.createSection('Dates/Times')            
  +        dtTable=dtSection.createTable()        
  +        dtTable.createEntry('@@DATE@@', str(default.date))
  +        dtTable.createEntry('Start Date/Time (UTC)', 
self.workspace.getStartDateTimeUtc())
  +        dtTable.createEntry('End Date/Time (UTC)', 
self.workspace.getEndDateTimeUtc())
  +        dtTable.createEntry('Timezone', self.workspace.timezone)
  +        dtTable.createEntry('Start Date/Time', self.workspace.getStartDateTime())
  +        dtTable.createEntry('End Date/Time', self.workspace.getEndDateTime())
  +
  +        javaSection=document.createSection('Java Information')            
  +        javaTable=javaSection.createTable()
  +        javaTable.createEntry('Java Command', self.run.getEnvironment().javaCommand)
  +        javaproperties=self.run.getEnvironment().getJavaProperties()
  +        for name in ['java.vendor', 'java.version', 'os.name', 'os.arch', 
'os.version']:
  +            if name in javaproperties:
  +                javaTable.createEntry(name, javaproperties[name])      
  +
           if not self.gumpSet.isFull():
               notice=definitionSection.createWarning()
               
  @@ -405,11 +410,9 @@
                   notice.createText(project.name)
                   notice.createText(' ')
                               
  -        
           self.documentSummary(document,self.workspace.getProjectSummary())        
           self.documentAnnotations(document,self.run)
       
  -     
           document.serialize()    
           document=None
           
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to