human/action_handler/ppt/ppt_action.py

56 lines
1.7 KiB
Python
Raw Normal View History

2024-12-23 23:37:03 +00:00
#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)
2025-01-07 13:52:15 +00:00
self.ppt_controller.full_screen()
2024-12-23 23:37:03 +00:00
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()