IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 33500


Ignore:
Timestamp:
Mar 13, 2012, 10:48:09 AM (14 years ago)
Author:
rhenders
Message:

some improvements to exitProgram and printUsage methods; removed some unecessary imports

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippToPsps/jython/ipptopsps.py

    r33350 r33500  
    1111from pslogger import PSLogger
    1212from ipptopspsdb import IppToPspsDb
    13 from dxlayer import DXLayer
    14 from datastore import Datastore
    15 from dvo import Dvo
    16 from odm import Odm
    17 
    1813
    1914'''
    2015Abstract base class for all ippToPsps programs
    21 handle command-line args, setting up of Config and logger objects, clean exiting etc
     16Handles command-line args, setting up of Config and logger objects, clean exiting etc
    2217'''
    2318class IppToPsps(object):
     
    5853        self.logger.infoSeparator()
    5954        self.logger.infoTitle("ippToPsps '" + self.PROGNAME + "' started")
     55        self.logger.infoPair("Host", self.HOST)
     56        self.logger.infoPair("PID", "%d" % self.PID)
     57        self.logger.infoPair("Config", self.CONFIGNAME)
    6058
    6159    '''
     
    7068        except:
    7169            pass
    72 
    7370
    7471    '''
     
    9390    Prints usage to stdout
    9491    '''
    95     def printUsage(self):
    96         # using sys.stdout to avoid newline in case sub-classes need to add further args
    97         sys.stdout.write("** Usage: " + sys.argv[0] + " <configPath>")
     92    def printUsage(self, extra=""):
     93
     94        # write message to log or stdout if no logger set up
     95        msg = sys.argv[0] + " <configPath> " + extra
     96        try:
     97            self.logger.errorPair("Usage:", msg)
     98        except:
     99            print "*** Usage: " + msg
    98100
    99101
     
    109111    def checkClientStatus(self):
    110112
    111         self.ippToPspsDb.updateClient(self.PROGNAME, self.HOST, self.PID, self.config.name)
     113        self.ippToPspsDb.updateClient(self.PROGNAME, self.HOST, self.PID)
    112114
    113115        if self.ippToPspsDb.isKilled(self.HOST, self.PID):
     
    115117       
    116118        # this loop pauses the process if we have no config or we have set it to pause
     119        firstTimeIn = True
    117120        while not self.refreshConfig() or self.ippToPspsDb.isPaused(self.HOST, self.PID):
    118121
    119             self.ippToPspsDb.updateClient(self.PROGNAME, self.HOST, self.PID,  self.config.name)
    120             if self.ippToPspsDb.isKilled(self.HOST, self.PID): self.exitProgram("killed while paused")
    121             self.logger.infoPair("Paused. Will check again in", "%d secs" % self.PAUSEPERIOD)
     122            self.ippToPspsDb.updateClient(self.PROGNAME, self.HOST, self.PID)
     123            if self.ippToPspsDb.isKilled(self.HOST, self.PID):
     124                self.exitProgram("killed while paused")
     125            if firstTimeIn: self.logger.infoPair("Paused. Will check again every", "%d secs" % self.PAUSEPERIOD)
     126            firstTimeIn = False
    122127            time.sleep(self.PAUSEPERIOD)
    123128
     
    134139    Exits the program cleanly, removes info from ipptopsps database
    135140    '''
    136     def exitProgram(self, exitReason):
     141    def exitProgram(self, exitReason="quit"):
    137142
    138143        # write message to log or stdout if no logger set up
     
    140145            self.logger.infoPair("Program exited", exitReason)
    141146        except:
    142             print "** program exited: " + exitReason
     147            print "*** Program exited: " + exitReason
    143148
    144149        # remove from database if possible
Note: See TracChangeset for help on using the changeset viewer.