-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
92 lines (69 loc) · 2.57 KB
/
Copy pathmain.py
File metadata and controls
92 lines (69 loc) · 2.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
"""Astrología Completa — Natal + Tránsitos + Horaria (KivyMD)."""
import os
import sys
# Asegurar que el directorio del proyecto esté en sys.path
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
from kivy.lang import Builder
from kivymd.app import MDApp
from core.cities import CityDatabase
from core.charts_db import ChartsDatabase
from ui.screens.natal_screen import NatalScreen
from ui.screens.transit_screen import TransitScreen
from ui.screens.horary_screen import HoraryScreen
KV = """
MDScreen:
md_bg_color: app.theme_cls.bg_darkest
MDBoxLayout:
orientation: "vertical"
MDTopAppBar:
title: "Astrología"
elevation: 4
md_bg_color: app.theme_cls.primary_color
MDBottomNavigation:
id: bottom_nav
panel_color: app.theme_cls.bg_dark
selected_color_background: app.theme_cls.primary_dark
text_color_active: app.theme_cls.primary_color
MDBottomNavigationItem:
name: "natal"
text: "Natal"
icon: "account-circle"
NatalScreen:
id: natal_screen
MDBottomNavigationItem:
name: "transits"
text: "Tránsitos"
icon: "orbit"
TransitScreen:
id: transit_screen
MDBottomNavigationItem:
name: "horary"
text: "Horaria"
icon: "clock-outline"
HoraryScreen:
id: horary_screen
"""
class AstroApp(MDApp):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.title = "Astrología Completa"
self.theme_cls.theme_style = "Dark"
self.theme_cls.primary_palette = "DeepPurple"
self.theme_cls.accent_palette = "Amber"
self._city_db = None
self._charts_db = None
def build(self):
return Builder.load_string(KV)
def on_start(self):
self._city_db = CityDatabase()
self._charts_db = ChartsDatabase()
root = self.root
if self._city_db.is_available():
root.ids.natal_screen.ids.city_search.city_db = self._city_db
root.ids.transit_screen.ids.natal_city_search.city_db = self._city_db
root.ids.horary_screen.ids.city_search.city_db = self._city_db
# Inyectar base de datos de cartas guardadas
root.ids.natal_screen.charts_db = self._charts_db
root.ids.transit_screen.charts_db = self._charts_db
if __name__ == "__main__":
AstroApp().run()