51 lines
1.2 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""布局模块"""
from .base import BaseLayout
from .hero_bottom import HeroBottomLayout
from .overlay_center import OverlayCenterLayout
from .overlay_bottom import OverlayBottomLayout
from .split_vertical import SplitVerticalLayout
from .card_float import CardFloatLayout
# 布局注册表
LAYOUTS = {
"hero_bottom": HeroBottomLayout,
"overlay_center": OverlayCenterLayout,
"overlay_bottom": OverlayBottomLayout,
"split_vertical": SplitVerticalLayout,
"card_float": CardFloatLayout,
}
# 布局别名
LAYOUT_ALIASES = {
"景点": "hero_bottom",
"攻略": "overlay_center",
"美食": "overlay_bottom",
"探店": "overlay_bottom",
"酒店": "card_float",
"民宿": "split_vertical",
}
def get_layout(name: str) -> type:
"""获取布局类"""
# 先检查别名
if name in LAYOUT_ALIASES:
name = LAYOUT_ALIASES[name]
return LAYOUTS.get(name, HeroBottomLayout)
__all__ = [
'BaseLayout',
'HeroBottomLayout',
'OverlayCenterLayout',
'OverlayBottomLayout',
'SplitVerticalLayout',
'CardFloatLayout',
'LAYOUTS',
'LAYOUT_ALIASES',
'get_layout',
]