コード例 #1
0
ファイル: DBSearcher.py プロジェクト: hawkeye438/metpx
    def __init__(self, request, printout=True):
        self.today = dateLib.getTodayFormatted()
        self.yesterday = dateLib.getYesterdayFormatted()
        #self.today = '20060523'
        #self.yesterday = '20060522'
        
        self.printout = printout
        self.request = request    # Request before being parsed
        self.requestType = None   # 1 for fully qualified header, 2 for type + station(s)

        # Ex. of a fully qualified header request: FPCN11 CWTO
        self.ttaaii = None        # First word of a fully qualified header 
        self.tt = None            # Type extract from ttaaii
        self.center = None        # Second word of a fully qualified header
        self.header = None        # Fully qualified header (ex: "FPCN11 CWTO")
        self.country = None       # Country is obtained from the center (Only used for CA and US)

        # Ex. of a type + station(s) request: SA YUL YQB YZV
        self.type = None          # Must be in TYPES
        self.stations = []        # Between 1 and 5 stations 
        self.stationParser = None # Used to map a station to a fully qualified header
        self.debug = False

        self._parseRequest()      # Will determine the request's type
        #self.printInfos()
        self.results = self._search()  # Find what we search
コード例 #2
0
ファイル: DBSearcher.py プロジェクト: nourou6/Sundew
    def __init__(self, request, printout=True):
        self.today = dateLib.getTodayFormatted()
        self.yesterday = dateLib.getYesterdayFormatted()
        #self.today = '20060523'
        #self.yesterday = '20060522'

        self.printout = printout
        self.request = request  # Request before being parsed
        self.requestType = None  # 1 for fully qualified header, 2 for type + station(s)

        # Ex. of a fully qualified header request: FPCN11 CWTO
        self.ttaaii = None  # First word of a fully qualified header
        self.tt = None  # Type extract from ttaaii
        self.center = None  # Second word of a fully qualified header
        self.header = None  # Fully qualified header (ex: "FPCN11 CWTO")
        self.country = None  # Country is obtained from the center (Only used for CA and US)

        # Ex. of a type + station(s) request: SA YUL YQB YZV
        self.type = None  # Must be in TYPES
        self.stations = []  # Between 1 and 5 stations
        self.stationParser = None  # Used to map a station to a fully qualified header
        self.debug = False

        self._parseRequest()  # Will determine the request's type
        #self.printInfos()
        self.results = self._search()  # Find what we search
コード例 #3
0
ファイル: RequestReplyAFTN.py プロジェクト: hawkeye438/metpx
 def putBulletinInQueue(self):
     try:
         filename = 'reply.' + dateLib.getTodayFormatted('%Y%m%d%H%M%S')
         path = self.pxManager.getFlowQueueName(self.receiverName, self.drp)
         file = open(path + '/' + filename, 'w')
         file.write(self.bulletin)
         file.close()
     except:
         (type, value, tb) = sys.exc_info()
         self.logger.error('In putBulletinInQueue: Type = %s, Value = %s' % (type, value))
コード例 #4
0
ファイル: MessageManager.py プロジェクト: hawkeye438/metpx
    def resetCSN(self):
        hhmm = dateLib.getTodayFormatted('%H%M')
        hh = hhmm[:2]
        mm = hhmm[2:]

        if hh == '00' and mm <= '05' and not self.CSNJustReset:
            self.CSN = '0000'
            self.CSNJustReset = True
            self.logger.info('CSN has been reset to 0001')
        elif mm > '05':
            self.CSNJustReset = False
コード例 #5
0
    def resetCSN(self):
        hhmm = dateLib.getTodayFormatted('%H%M')
        hh = hhmm[:2]
        mm = hhmm[2:]

        if hh == '00' and mm <= '05' and not self.CSNJustReset:
            self.CSN = '0000'
            self.CSNJustReset = True
            self.logger.info('CSN has been reset to 0001')
        elif mm > '05':
            self.CSNJustReset = False
コード例 #6
0
ファイル: RequestReplyAFTN.py プロジェクト: nourou6/Sundew
 def putBulletinInQueue(self):
     try:
         filename = 'reply.' + dateLib.getTodayFormatted('%Y%m%d%H%M%S')
         path = self.pxManager.getFlowQueueName(self.receiverName, self.drp)
         file = open(path + '/' + filename, 'w')
         file.write(self.bulletin)
         file.close()
     except:
         (type, value, tb) = sys.exc_info()
         self.logger.error('In putBulletinInQueue: Type = %s, Value = %s' %
                           (type, value))
コード例 #7
0
ファイル: TAFParser.py プロジェクト: khosrow/metpx
    """

    import os, sys
    import PXPaths, dateLib
    from StationFileCreator import StationFileCreator

    # root1 = '/apps/px/db/20060522/FC/'
    # root2 = '/apps/px/db/20060522/FT/'
    # root3 = '/apps/px/db/20060523/FC/'
    # root4 = '/apps/px/db/20060523/FT/'

    PXPaths.normalPaths()

    root1 = PXPaths.DB + "%s/FC/" % dateLib.getYesterdayFormatted()
    root2 = PXPaths.DB + "%s/FT/" % dateLib.getYesterdayFormatted()
    root3 = PXPaths.DB + "%s/FC/" % dateLib.getTodayFormatted()
    root4 = PXPaths.DB + "%s/FT/" % dateLib.getTodayFormatted()

    try:
        receivers1 = os.listdir(root1)
    except OSError:
        receivers1 = []

    try:
        receivers2 = os.listdir(root2)
    except OSError:
        receivers2 = []

    try:
        receivers3 = os.listdir(root3)
    except OSError:
コード例 #8
0
ファイル: SAParser.py プロジェクト: hawkeye438/metpx
    A cron call this to create /apps/px/etc/stations_SA.conf
    """
    import os, sys
    import PXPaths, dateLib
    from StationFileCreator import StationFileCreator

    excludedSources = ['collecteur']
    

    #root1 = '/apps/px/db/20060522/SA/'
    #root2 = '/apps/px/db/20060523/SA/'

    PXPaths.normalPaths()

    root1 = PXPaths.DB + '%s/SA/' % dateLib.getYesterdayFormatted()
    root2 = PXPaths.DB + '%s/SA/' % dateLib.getTodayFormatted()

    try:
        receivers1 = os.listdir(root1)
    except OSError:
        receivers1 = []

    for source in excludedSources:
        if source in receivers1:
            receivers1.remove(source)

    try:
        receivers2 = os.listdir(root2)
    except OSError:
        receivers2 = []
コード例 #9
0
ファイル: FDParser.py プロジェクト: nourou6/Sundew
if __name__ == '__main__':
    """
    A cron call this to create etc/stations_FD.conf
    """

    import os, sys
    import PXPaths, dateLib
    from StationFileCreator import StationFileCreator

    #root1 = '/apps/px/db/20060522/FD/'
    #root2 = '/apps/px/db/20060523/FD/'

    PXPaths.normalPaths()

    root1 = PXPaths.DB + '%s/FD/' % dateLib.getYesterdayFormatted()
    root2 = PXPaths.DB + '%s/FD/' % dateLib.getTodayFormatted()

    try:
        receivers1 = os.listdir(root1)
    except OSError:
        receivers1 = []

    try:
        receivers2 = os.listdir(root2)
    except OSError:
        receivers2 = []

    #print receivers1
    #print receivers2

    receivers = [root1 + receiver for receiver in receivers1] + [ root2 + receiver for receiver in receivers2] 
コード例 #10
0
ファイル: TAFParser.py プロジェクト: nourou6/Sundew
    """

    import os, sys
    import PXPaths, dateLib
    from StationFileCreator import StationFileCreator

    #root1 = '/apps/px/db/20060522/FC/'
    #root2 = '/apps/px/db/20060522/FT/'
    #root3 = '/apps/px/db/20060523/FC/'
    #root4 = '/apps/px/db/20060523/FT/'

    PXPaths.normalPaths()

    root1 = PXPaths.DB + '%s/FC/' % dateLib.getYesterdayFormatted()
    root2 = PXPaths.DB + '%s/FT/' % dateLib.getYesterdayFormatted()
    root3 = PXPaths.DB + '%s/FC/' % dateLib.getTodayFormatted()
    root4 = PXPaths.DB + '%s/FT/' % dateLib.getTodayFormatted()

    try:
        receivers1 = os.listdir(root1)
    except OSError:
        receivers1 = []

    try:
        receivers2 = os.listdir(root2)
    except OSError:
        receivers2 = []

    try:
        receivers3 = os.listdir(root3)
    except OSError: