首页 > 其他分享 >状态栏消息处理

状态栏消息处理

时间:2023-08-24 22:13:57浏览次数:28  
标签:bar 状态栏 parameters 处理 self number 消息 message id

代码实现:

 

class SapMessageType(enum.Enum):
    SUCCESS = "S"
    WARNING = "W"
    ERROR = "E"
    ABORT = "A"
    INFORMATION = "I"


class SapStatusMessage:
    def __init__(self, message_as_popup, message_type, message_text, message_id, message_number, message_parameters):
        self.message_as_popup = message_as_popup
        self.message_type = SapMessageType(message_type)
        self.message_text = message_text
        self.message_id = message_id
        self.message_number = message_number
        self.message_parameters = message_parameters


class SapStatusBar:

    def __new__(cls, *args, **kwargs):
        if not hasattr(cls, 'instance'):
            cls.instance = super().__new__(cls, *args, **kwargs)
        return cls.instance

    @staticmethod
    def get_message(session, status_bar):
        message = None
        if session and status_bar:
            try:
                bar = session.findById(status_bar)
                message_type = bar.MessageType.strip()
                if message_type:
                    message_as_popup = bar.MessageAsPopup
                    message_text = bar.Text.strip()
                    message_id = bar.MessageId.strip()
                    message_number = bar.MessageNumber.strip()
                    parameters = SAP_MESSAGES.get(message_id + message_number, [str(i) for i in range(8)])
                    message_parameters = {name: bar.MessageParameter(i).strip() for i, name in enumerate(parameters)}
                    message = SapStatusMessage(
                        message_as_popup, message_type, message_text,
                        message_id, message_number, message_parameters
                    )
            except Exception as _:
                pass
        return message


# 标识SAP的消息信息,提取需要的数据。
#
# 名称: [ID][NUMBER]
# 对应的参数含义。
SAP_MESSAGES = {
    'F5149': ('date',)
}


class SapMessages:
    """
    标识SAP的消息信息,提取需要的数据。

    名称: [ID][NUMBER]
    对应的参数含义。
    """
    F5149 = ('date')

  

https://blog.csdn.net/chenguangqi/article/details/125524474?spm=1001.2014.3001.5502

 

标签:bar,状态栏,parameters,处理,self,number,消息,message,id
From: https://www.cnblogs.com/pythonClub/p/17655269.html

相关文章

  • 超时处理@Timeout注解
    importorg.junit.jupiter.api.BeforeEach;importorg.junit.jupiter.api.Test;importorg.junit.jupiter.api.Timeout;importstaticjava.lang.Thread.sleep;classTimeoutExampleTest{@Test@Timeout(7)voidtimeoutDemo1()throwsInterruptedExceptio......
  • 如何使用缓存 | 热点Key处理
    热点Key当热点key缓存失效后,会有大量线程进行缓存重建。有的热点key不能再短时间内完成,可能需要复杂的计算,多次IO等。在缓存失效的瞬间,有大量线程来重建缓存,也就是会直接访问到后端,这会造成后端负载加大,严重的甚至可能导致应用崩溃,也就是-缓存击穿。解决方案1.分布式锁加......
  • 【图像处理】图像处理常用操作
    去除背景色参考文章:Python3,4行代码实现去除图片背景色,从此告别PS!!_python去除图片背景色_Carl_奕然的博客-CSDN博客在线抠图软件_图片去除背景|remove.bg–remove.bg修改图像尺寸参考文章:如何缩小图片,降低图片kb-知乎(zhihu.com)对于纯无底色的白色图片,用画图工具res......
  • Pandas处理excel
    基本使用pandas是一个用于数据处理和分析的python库,提供了许多数据结构,其中最常用的是DataFrame和Series。创建DataFrame:可以使用字典或二维数组来创建Forexample: importpandasaspd data={'A':[1,2,3],'B':[4,5,6]} df=pd.DataFrame(data)读取和写入......
  • golang init函数、defer函数、匿名函数、错误处理
    1.init每一个源文件都可以包含一个init函数,该函数会在main函数执行前,被Go运行框架调用,也就是说init会在main函数前被调用,当有全局变量跟main函数init函数同时出现的时候执行的顺序是全局函数==》init函数==》main函数packagemainimport"fmt"functest()string{ r......
  • 法研杯 生成式文本摘要赛题处理
    赛题分析统计信息样本预览建模思路 抽取模型抽取模型的思路是先通过规则将原始的生成式语料转化为序列标注式语料。(将文本转换为文本向量)基于深度学习的抽取式摘要,是有监督的文本摘要,可以建模为序列标注任务或句子排序任务。建模为序列标注任务,就是为原文中......
  • Ubuntu22隐藏上方的状态栏(hide top bar):安装hide top bar这个GNOME插件
    参考链接:https://techithings.hashnode.dev/ubuntu-how-to-hide-top-bar-and-side-bar具体步骤1.安装extensionmanger这个软件sudoapt-getupdatesudoapt-getinstallgnome-shell-extension-manager-y2.打开软件extension-manager3.点击browse,搜索hidetopbar这个插......
  • 消息队列 & RabbitMQ
    消息队列&RabbitMQ使用总结1.消息队列定义:messagequeue是消息传递过程中一种存储数据的结构。2.特点:先进先出,可以设置优先级用于大客户优先发货,持久化,消息确认,延时队列用于订单30分钟未支付取消。3.作用:应用解耦,肖峰填谷,异步提高响应速度4.RabbitMQ:四种交换机直接交换......
  • kafka发送超大消息
    kafka发送超大消息设置 最近开发一cdc框架,为了测试极端情况,需要kafka传递100万条数据过去,1个G左右,由于其他环节限制,不便进行拆包(注:测下来,大包走kafka不一定性能更好,甚至可能更低)。测试百万以上的变更数据时,报消息超过kafkabroker允许的最大值,因此需要修改如下参数,......
  • Spring Boot + Spring Batch 实现批处理任务,保姆级教程!(场景实战)
    来源:blog.csdn.net/qq_35387940/article/details/108193473前言概念词就不多说了,我简单地介绍下,springbatch是一个方便使用的较健全的批处理框架。为什么说是方便使用的,因为这是基于spring的一个框架,接入简单、易理解、流程分明。为什么说是较健全的,因为它提供了往......