ajack       2004/03/02 13:11:40

  Modified:    python/gump/results resulter.py loader.py
               python/gump check.py engine.py
               .        gumpy.py
               python/gump/output nag.py
               python/gump/test nagging.py
  Log:
  1) Bug fixes to gumpy.py

  2) Bug fixes to results.xml (and downloading, visualizing)

  3) Bug fixes to gump/check.py [that checks a workspace]
  
  Revision  Changes    Path
  1.8       +15 -6     gump/python/gump/results/resulter.py
  
  Index: resulter.py
  ===================================================================
  RCS file: /home/cvs/gump/python/gump/results/resulter.py,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- resulter.py       1 Mar 2004 21:28:00 -0000       1.7
  +++ resulter.py       2 Mar 2004 21:11:39 -0000       1.8
  @@ -110,7 +110,7 @@
                       elif isinstance(object,Project):

                           result=serverResults.getProjectResult(name)

                       else:

  -                        raise RuntimeError('Not understood')

  +                        raise RuntimeError('Object [' + object.__class__.__name__ + 
'] NOT understood for Results')

                   

               if result:

                   results[server] = result

  @@ -118,21 +118,30 @@
           return results

               

       def loadResultsForServers(self):

  +                

  +        if self.serversLoaded: return

  +            

           for server in self.workspace.getServers():       

               if not server in self.serverResults:

                   results=None

                   try:

  -                    results=loadResultsForServer(server)            

  -                except:

  -                    pass

  +                    results=self.loadResultsForServer(server)            

  +                except Exception, details:

  +                    log.warn('Failed to load results for [' + str(server) + '] : ' \

  +                            + str(details), exc_info=1)

  +                            

                   if results:

  +                    self.workspace.addInfo('Loaded results for server [' + 
str(server) + ']')

                       self.serverResults(server, results)

  +                    

  +        self.serversLoaded=1

               

       def loadResultsForServer(self, server):

  -        return loadResults(server.getUrl() + '/results.xml')

  +        return self.loadResults(server.getUrl() + '/results.xml')

           

       def loadResults(self, url):    

  -        loader =  WorkspaceResultLoader()        

  +        loader =  WorkspaceResultLoader()

  +        log.debug('Load results from URL : [' + url + ']')        

           return loader.loadFromUrl(url)

           

       def gatherResults(self):

  
  
  
  1.3       +1 -0      gump/python/gump/results/loader.py
  
  Index: loader.py
  ===================================================================
  RCS file: /home/cvs/gump/python/gump/results/loader.py,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- loader.py 28 Feb 2004 00:08:49 -0000      1.2
  +++ loader.py 2 Mar 2004 21:11:39 -0000       1.3
  @@ -69,6 +69,7 @@
   from gump.results.model import WorkspaceResult

   

   from gump.utils.note import transferAnnotations, Annotatable

  +from gump.utils.http import cacheHTTP

   from gump.utils import dump

   from gump.config import gumpPath

   

  
  
  
  1.37      +4 -4      gump/python/gump/check.py
  
  Index: check.py
  ===================================================================
  RCS file: /home/cvs/gump/python/gump/check.py,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -u -r1.36 -r1.37
  --- check.py  5 Feb 2004 05:43:56 -0000       1.36
  +++ check.py  2 Mar 2004 21:11:39 -0000       1.37
  @@ -112,7 +112,7 @@
       result = GumpEngine().check(run)
   
       #
  -    log.info('Gump Integration complete. Exit code:' + str(result))
  +    log.info('Gump Check complete. Exit code:' + str(result))
             
       # bye!
       sys.exit(result)
  
  
  
  1.69      +17 -2     gump/python/gump/engine.py
  
  Index: engine.py
  ===================================================================
  RCS file: /home/cvs/gump/python/gump/engine.py,v
  retrieving revision 1.68
  retrieving revision 1.69
  diff -u -r1.68 -r1.69
  --- engine.py 1 Mar 2004 21:28:00 -0000       1.68
  +++ engine.py 2 Mar 2004 21:11:39 -0000       1.69
  @@ -208,6 +208,14 @@
           self.preprocess(run, 0)
     
           #
  +        # Load the statistics (so we can use them during
  +        # other operations).
  +        #
  +        logResourceUtilization('Before load statistics')
  +        self.loadStatistics(run)        
  +        
  +        
  +        #
           # Check the metadata
           #
           self.checkWorkspace(run)
  @@ -396,14 +404,21 @@
           repository=run.getOutputsRepository()
   
           # build all projects this project depends upon, then the project itself
  +        projectCount=len(list)
  +        projectNo=1
           for project in list:  
  +        
  +            log.info(' ------ Project: #[' + `projectNo` + '] of [' + 
`projectCount` + '] : ' + project.getName())
  +        
  +        
               if project.isPackaged(): continue
               
  +                
               # Do this even if not ok
               self.performPreBuild( run, project )
   
               if project.okToPerformWork():        
  -                log.debug(' ------ Building: ' + project.getName())
  +                log.debug(' ------ Building: [' + `projectNo` + '] ' + 
project.getName())
   
                   cmd=project.getBuildCommand()
   
  @@ -429,7 +444,7 @@
               self.performPostBuild( run, project, repository )
       
               if not project.okToPerformWork():
  -                log.warn('Failed to build project [' + project.getName() + '], 
state:' \
  +                log.warn('Failed to build project #[' + `projectNo` + '] [' + 
project.getName() + '], state:' \
                           + project.getStateDescription())
   
   
  
  
  
  1.8       +5 -11     gump/gumpy.py
  
  Index: gumpy.py
  ===================================================================
  RCS file: /home/cvs/gump/gumpy.py,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- gumpy.py  1 Mar 2004 21:56:23 -0000       1.7
  +++ gumpy.py  2 Mar 2004 21:11:39 -0000       1.8
  @@ -182,7 +182,7 @@
   

   # Enable a log

   logFile=os.path.abspath('gumpy.log')

  -log=open(logFile,'w')

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

   

   result=0

           

  @@ -210,8 +210,7 @@
           

           workspaceName = hostname + '.xml'

           if os.environ.has_key('GUMP_WORKSPACE'):        

  -            workspaceName = os.environ['GUMP_WORKSPACE'] + '.xml'

  -        

  +            workspaceName = os.environ['GUMP_WORKSPACE'] + '.xml'        

           workspacePath = os.path.abspath(workspaceName)

               

           projectsExpr='all'

  @@ -285,14 +284,9 @@
           if not result:

               #

               #

  -            # Process command line

  -            #

  -            args=''

  -            for arg in sys.argv[1:]:

  -                if args: args += ' '

  -                args += arg    

  -        

  -            iargs = '-w ../' + workspaceName + ' ' + projectsExpr + args

  +            # Process/build command line

  +            #        

  +            iargs = '-w ../' + workspaceName + ' ' + projectsExpr + ' ' + ' 
'.join(sys.argv[1:])

     

               #

               # Run the main Gump...

  
  
  
  1.19      +55 -11    gump/python/gump/output/nag.py
  
  Index: nag.py
  ===================================================================
  RCS file: /home/cvs/gump/python/gump/output/nag.py,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- nag.py    29 Feb 2004 19:16:19 -0000      1.18
  +++ nag.py    2 Mar 2004 21:11:39 -0000       1.19
  @@ -78,7 +78,8 @@
   from gump.net.mailer import *
   from gump.utils import *
   
  -LINE='-  -  -  -  - -- -- ------------------------------------ G U M P'
  +LINE     ='-  -  -  -  - -- -- ------------------------------------ G U M P'
  +SEPARATOR='******************************************************** G U M P'
   
   class AddressPair:
       def __init__(self,toAddr,fromAddr):
  @@ -102,8 +103,12 @@
           self.gumpSet=run.getGumpSet()
       
           self.unsent=''
  -        self.unwanted=''
  +        self.unsentSubjects=''
  +        self.unsents=0
           
  +        self.unwanted=''
  +        self.unwantedSubjects=''
  +        self.unwanteds=0
           
       def nag(self):
       
  @@ -155,11 +160,14 @@
               log.info('We have some unwanted\'s to send to list...')
               
               self.sendEmail(self.workspace.mailinglist,self.workspace.email,  \
  -                        'All dressed up, with nowhere to go...',self.unwanted)
  +                        'BATCH: All dressed up, with nowhere to go...',\
  +                        self.getUnwantedContent())
                           
               # A bit paranoid, ought just rely upon object being
               # destroyed,
  -            self.unwanted=''      
  +            self.unwanted=''  
  +            self.unwantedSubjects=''
  +            self.unwanteds=0    
           else:
               log.info('No unwanted nags.')
                   
  @@ -167,30 +175,66 @@
           if self.hasUnsent():
               log.info('We have some unsented\'s to send to list...')    
               self.sendEmail(self.workspace.mailinglist,self.workspace.email,  \
  -                        'Unable to send...',self.unsent)
  +                        'BATCH: Unable to send...',self.unsent)
                           
               # A bit paranoid, ought just rely upon object being
               # destroyed,
               self.unsent=''
  +            self.unsentSubjects=''
  +            self.unsents=0
           else:
               log.info('No unsent nags.')
                   
       def addUnwanted(self,subject,content):
           if self.unwanted:
  -            self.unwanted += 
'-------------------------------------------------------------\n'
  +            self.unwanted += SEPARATOR
  +            self.unwanted += '\n'
           self.unwanted += subject
           self.unwanted += '\n'
           self.unwanted += content
           self.unwanted += '\n'
  +        
  +        self.unwantedSubjects += subject
  +        self.unwanteds += 1
       
       def addUnsent(self,subject,content):
           if self.unsent:
  -            self.unsent += 
'-------------------------------------------------------------\n'
  +            self.unsent += SEPARATOR
  +            self.unsent += '\n'
           self.unsent += subject
           self.unsent += '\n'
           self.unsent += content
           self.unsent += '\n'
  -                    
  +        
  +        self.unsentSubjects += subject
  +        self.unsents += 1
  +        
  +    def getUnwantedContent(self):
  +        content = ''
  +        
  +        if self.unwanteds:
  +            plural=''
  +            if self.unwanted > 0:
  +                plural='s'
  +                
  +            content = """Dear Gumpmeisters,
  +            
  +The following %s nag%s could have been sent (if requested)
  +
  +""" % (`self.unwanteds`, plural)
  +            
  +            content += SEPARATOR
  +            content += '\n'
  +            
  +            content += self.unwantedSubjects
  +            
  +            content += SEPARATOR
  +            content += '\n'
  +            
  +            content += self.unwanted
  +            
  +        return content
  +            
       def hasUnwanted(self):
           if self.unwanted: return 1
           return 0
  
  
  
  1.5       +3 -0      gump/python/gump/test/nagging.py
  
  Index: nagging.py
  ===================================================================
  RCS file: /home/cvs/gump/python/gump/test/nagging.py,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- nagging.py        17 Feb 2004 21:54:21 -0000      1.4
  +++ nagging.py        2 Mar 2004 21:11:39 -0000       1.5
  @@ -144,6 +144,9 @@
                               'Test Subject', \

                               'Test Content')       

                       #print str(email)

  +                    

  +        nagger.getUnwantedContent()

  +        nagger.getSentContent()

                   

       def testNag(self):  

           nag(self.run)

  
  
  

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

Reply via email to