#encoding = utf8 import logging from action_handler.ppt import PPTController from eventbus import EventBus logger = logging.getLogger(__name__) class PPTAction: def __init__(self): self.ppt_controller = None EventBus().register("ppt_open", self.open) EventBus().register("ppt_goto", self.goto) EventBus().register("ppt_next", self.goto) EventBus().register("ppt_pre", self.goto) def __del__(self): EventBus().unregister("ppt_open", self.open) EventBus().unregister("ppt_goto", self.goto) EventBus().unregister("ppt_next", self.goto) EventBus().unregister("ppt_pre", self.goto) del self.ppt_controller def open(self, *args, **kwargs): path = args[0] if path is None or len(path) == 0: logger.warning('path is empty') return if self.ppt_controller is not None: del self.ppt_controller self.ppt_controller = PPTController() self.ppt_controller.open(path) self.ppt_controller.full_screen() def goto(self, *args, **kwargs): page = args[0] if page is None or self.ppt_controller is None: logger.warning('page is none or ppt controller is none') return self.ppt_controller.goto_slide(page) def next(self, *args, **kwargs): if self.ppt_controller is None: logger.warning('page is none or ppt controller is none') return self.ppt_controller.next_page() def pre(self, *args, **kwargs): if self.ppt_controller is None: logger.warning('page is none or ppt controller is none') return self.ppt_controller.pre_page()