def preview(addon: xbmcaddon.Addon, timerid: int, player: 'xbmc.Player') -> None: addon_dir = xbmcvfs.translatePath(addon.getAddonInfo('path')) timer = Timer.init_from_settings(timerid) if timer._is_playing_media_timer(): icon_file = os.path.join( addon_dir, "resources", "assets", "icon.png") xbmcgui.Dialog().notification(addon.getLocalizedString( 32027), addon.getLocalizedString(32110) % addon.getLocalizedString(32004 + timerid), icon=icon_file) if is_script(timer.s_path): run_addon(timer.s_path) elif timer.s_mediatype == PICTURE: play_slideshow(timer.s_path, shuffle=timer.b_shuffle) else: playlist = build_playlist(path=timer.s_path, label=timer.s_label) player.play(playlist) else: xbmcgui.Dialog().notification(addon.getLocalizedString( 32027), addon.getLocalizedString(32109))
def _get_timer_preselection(self, timerid: int, label: str, path: str) -> 'tuple[Timer,bool]': timer = Timer.init_from_settings(timerid) timer.s_label = label timer.i_fade = FADE_OFF is_epg = False if pvr_utils.get_current_epg_view(): pvr_channel_path = pvr_utils.get_pvr_channel_path( pvr_utils.get_current_epg_view(), xbmc.getInfoLabel("ListItem.ChannelNumberLabel")) if pvr_channel_path: is_epg = True timer.s_label = "%s | %s" % ( xbmc.getInfoLabel("ListItem.ChannelName"), label) timer.s_path = pvr_channel_path startDate = datetime_utils.parse_xbmc_shortdate( xbmc.getInfoLabel("ListItem.Date").split(" ")[0]) timer.days = [startDate.weekday()] timer.s_start = xbmc.getInfoLabel("ListItem.StartTime") duration = xbmc.getInfoLabel("ListItem.Duration") timer.s_duration = "00:%s" % duration[:2] if len( duration) == 5 else duration[:5] if not is_epg: if TIMER_WEEKLY not in timer.days: dt_now, td_now = datetime_utils.get_now() timer.days = [dt_now.weekday()] if vfs_utils.is_favourites(path): timer.s_path = vfs_utils.get_favourites_target(path) else: timer.s_path = path timer.s_duration = timer.get_duration() timer.s_end = datetime_utils.format_from_seconds( (datetime_utils.parse_time(timer.s_start) + datetime_utils.parse_time(timer.s_duration)).seconds) if vfs_utils.is_script(timer.s_path): timer.s_mediatype = "script" else: timer.s_mediatype = vfs_utils.get_media_type(timer.s_path) return timer, is_epg