当前位置: 首页>>代码示例>>Python>>正文


Python MessageParser.getServiceType方法代码示例

本文整理汇总了Python中MessageParser.MessageParser.getServiceType方法的典型用法代码示例。如果您正苦于以下问题:Python MessageParser.getServiceType方法的具体用法?Python MessageParser.getServiceType怎么用?Python MessageParser.getServiceType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在MessageParser.MessageParser的用法示例。


在下文中一共展示了MessageParser.getServiceType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: _writeMessageToSocket

# 需要导入模块: from MessageParser import MessageParser [as 别名]
# 或者: from MessageParser.MessageParser import getServiceType [as 别名]

#.........这里部分代码省略.........

                elif mm.type == 'PRI_DESTADD_TEXT':
                    mm.destAddress = mp.destAddress
                    if mm.destAddress:
                        mm.priority = mp.priority
                        mm.setFilingTime()
                        mm.nextCSN()
                        messageAFTN = MessageAFTN(self.logger, mp.text, mm.stationID, mm.address, mm.priority, mm.destAddress, mm.CSN, mm.filingTime, mm.dateTime)
                    else:
                        if mm.isFromDisk():
                            try:
                                self.logger.warning("%s has been erased (no valid destination address)", os.path.basename(self.dataFromFiles[0][1]))
                                os.unlink(self.dataFromFiles[0][1])
                            except OSError, e:
                                (type, value, tb) = sys.exc_info()
                                self.logger.error("Unable to unlink %s ! Type: %s, Value: %s" % (self.dataFromFiles[0][1], type, value))
                            del self.dataFromFiles[0]
                            mm.clearPartsToSend()
                        continue

                else:
                    # True if mm.header is in the routing table with destination addresses
                    #if mm.header == None: mm.header = 'SACN31 CWAO'
                    if mm.setInfos(mm.header, rewrite):
                        messageAFTN = MessageAFTN(self.logger, data[index], mm.stationID, mm.address, mm.priority,
                                              mm.destAddress, mm.CSN, mm.filingTime, mm.dateTime)
                    else:
                        if mm.isFromDisk():
                            try:
                                self.logger.warning("%s has been erased", os.path.basename(self.dataFromFiles[0][1]))
                                os.unlink(self.dataFromFiles[0][1])
                            except OSError, e:
                                (type, value, tb) = sys.exc_info()
                                self.logger.error("Unable to unlink %s ! Type: %s, Value: %s" % (self.dataFromFiles[0][1], type, value))
                            del self.dataFromFiles[0]
                            mm.clearPartsToSend()

                        continue
                        
                # If it is the first time we sent this message, we archive it.
                #if not rewrite:
                self.logger.debug('Message as it will be sent:')
                self.logger.debug('\n' + messageAFTN.message)
                messageAFTN.setLogger(None)
                mm.archiveObject(self.archivePath + mm.CSN, messageAFTN)

                nbBytesToSend = len(messageAFTN.message)

                while nbBytesToSend > 0:
                    nbBytesSent = self.socket.send(messageAFTN.message)
                    # This sleep is machiavelic! It permits to see many potential problems
                    #if self.subscriber:
                    #    time.sleep(5)
                    messageAFTN.message = messageAFTN.message[nbBytesSent:]
                    nbBytesToSend = len(messageAFTN.message)
                    self.totBytes += nbBytesSent

                mm.setWaitingForAck(messageAFTN.getTransmitID())
                mm.incrementSendingInfos()

                # Archive State
                mm.state.fill(mm)
                mm.archiveObject(AFTNPaths.STATE, mm.state)
                self.logger.debug("State has been archived")

                # Log the fact that the message has been sent 
                if not rewrite:
                    if mm.isFromDisk():
                        mm.filenameToSend = os.path.basename(self.dataFromFiles[0][1])
                        mm.filenameToErase = self.dataFromFiles[0][1]
                    else:
                        if mp.type == 'SVC':
                            mm.filenameToSend = mp.getServiceName(mp.getServiceType())
                        elif mp.type in MessageParser.REPLY_TYPES:
                            mm.filenameToSend = ''
                        else:
                            # We should never go here
                            self.logger.error("Unknown message type has just been sent. See code!")

                    self.logger.info("(%5d Bytes) Message %s %s (%s/%s) has been sent => delivered" % (self.totBytes, getWord(mm.type), 
                                       mm.filenameToSend, mm.nextPart+1, mm.numberOfParts))
                else:
                    self.logger.info("(%5d Bytes) Message %s %s (%s/%s) has been resent => delivered" % (self.totBytes, getWord(mm.type), 
                                       mm.filenameToSend, mm.nextPart+1, mm.numberOfParts))

                # Reset byte count
                self.totBytes = 0
                
                # If the last part of a message (big or not) has been sent, erase the file.
                # We do this even if we have not yet received the ack. At this point, we have already
                # archived all the parts with their CSN as filename.
                if mm.isLastPart(): 
                    if mm.isFromDisk() and not rewrite:
                        try:
                            os.unlink(self.dataFromFiles[0][1])
                            self.logger.debug("%s has been erased", os.path.basename(self.dataFromFiles[0][1]))
                        except OSError, e:
                            (type, value, tb) = sys.exc_info()
                            self.logger.error("Unable to unlink %s ! Type: %s, Value: %s" % (self.dataFromFiles[0][1], type, value))
                        del self.dataFromFiles[0]
开发者ID:hawkeye438,项目名称:metpx,代码行数:104,代码来源:TransceiverAFTN.py


注:本文中的MessageParser.MessageParser.getServiceType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。