def __init__(self, logger=None, sourlient=None, reloadMode=False): AFTNPaths.normalPaths(sourlient.name) PXPaths.normalPaths() self.logger = logger # Logger object self.sourlient = sourlient # Sourlient object self.name = sourlient.name # Transceiver's name self.stationID = sourlient.stationID # Value read from config. file self.otherStationID = sourlient.otherStationID # Provider (MHS) Station ID self.address = sourlient.address # 8-letter group identifying the message originator (CYHQUSER) self.otherAddress = sourlient.otherAddress # 8-letter group identifying the provider's address (CYHQMHSN) self.routingTable = sourlient.routingTable # Routing table name self.subscriber = sourlient.subscriber # Boolean indicating if this is a subscriber or a provider self.bullManager = bulletinManager(PXPaths.RXQ + self.name, self.logger, PXPaths.RXQ + self.name, 9999, '\n', self.sourlient.extension, self.routingTable, None, self.sourlient, True) self.drp = self.bullManager.drp self.sp = StationParser(PXPaths.STATION_TABLE, logger) self.sp.parse() self.priorities = {'1':'FF', '2':'FF', '3':'GG', '4':'GG', '5':'GG'} if not reloadMode: self.afterInit()
def __init__(self, sourlient): AFTNPaths.normalPaths(sourlient.name) PXPaths.normalPaths() self.sysman = SystemManager() # General system manager self.sourlient = sourlient # Sourlient (Source/Client) object containing configuration infos. self.logger = sourlient.logger # Logger object self.subscriber = sourlient.subscriber # Determine if it will act like a subscriber or a provider(MHS) self.host = sourlient.host # Remote host (name or ip) self.portR = sourlient.portR # Receiving port self.portS = sourlient.portS # Sending port self.batch = sourlient.batch # Number of files we read in a pass (20) self.timeout = sourlient.timeout # Timeout time in seconds (default = 10 seconds) self.sleepBetweenConnect = int('10') # Time (in seconds) between connection trials self.slow = sourlient.slow # Sleeps are added when we want to be able to decrypt log entries self.igniter = None # Igniter object (link to pid) self.writePath = AFTNPaths.RECEIVED # Where we write messages we receive self.archivePath = AFTNPaths.SENT # Where we put sent messages self.specialOrdersPath = AFTNPaths.SPECIAL_ORDERS # Where we put special orders # Paths creation self.sysman.createDir(PXPaths.TXQ + self.sourlient.name) self.sysman.createDir(self.writePath) self.sysman.createDir(self.archivePath) self.sysman.createDir(self.specialOrdersPath) self.mm = MessageManager(self.logger, self.sourlient) # AFTN Protocol is implemented in MessageManager Object self.remoteAddress = None # Remote address (where we will connect()) self.socket = None # Socket object self.dataFromFiles = [] # A list of tuples (content, filename) obtained from a DiskReader self.reader = DiskReader(PXPaths.TXQ + self.sourlient.name, self.sourlient.batch, self.sourlient.validation, self.sourlient.diskReaderPatternMatching, self.sourlient.mtime, True, self.logger, eval(self.sourlient.sorter), self.sourlient) self.debug = True # Debugging switch self.justConnect = False # Boolean that indicates when a connexion just occur self.totBytes = 0 #self.printInitInfos() self.makeConnection()
def __init__(self, logger=None, sourlient=None, reloadMode=False): AFTNPaths.normalPaths(sourlient.name) PXPaths.normalPaths() self.logger = logger # Logger object self.sourlient = sourlient # Sourlient object self.name = sourlient.name # Transceiver's name self.stationID = sourlient.stationID # Value read from config. file self.otherStationID = sourlient.otherStationID # Provider (MHS) Station ID self.address = sourlient.address # 8-letter group identifying the message originator (CYHQUSER) self.otherAddress = sourlient.otherAddress # 8-letter group identifying the provider's address (CYHQMHSN) self.routingTable = sourlient.routingTable # Routing table name self.subscriber = sourlient.subscriber # Boolean indicating if this is a subscriber or a provider self.bullManager = bulletinManager(PXPaths.RXQ + self.name, self.logger, PXPaths.RXQ + self.name, 9999, '\n', self.sourlient.extension, self.routingTable, None, self.sourlient, True) self.drp = self.bullManager.drp self.sp = StationParser(PXPaths.STATION_TABLE, logger) self.sp.parse() self.priorities = { '1': 'FF', '2': 'FF', '3': 'GG', '4': 'GG', '5': 'GG' } if not reloadMode: self.afterInit()