Files
traccar_animation/main.py
2025-07-07 12:20:16 +03:00

58 lines
2.2 KiB
Python

import kivy
from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen
import os
import json
from kivy.clock import Clock
from kivy.properties import StringProperty, ListProperty
from py_scripts.utils import (
generate_key, load_key, encrypt_data, decrypt_data,
check_server_settings, save_server_settings,
test_connection, get_devices_from_server, save_route_to_file, fetch_positions_for_selected_day
)
from datetime import date
from kivy.uix.popup import Popup
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
from threading import Thread
from kivy.clock import mainthread
from kivy.uix.image import Image
from kivy.uix.behaviors import ButtonBehavior
from kivy.uix.progressbar import ProgressBar
import webbrowser
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from PIL import Image
import time
from screens.home_screen import HomeScreen
from screens.login_screen import LoginScreen
from screens.get_trip_from_server import GetTripFromServer
from screens.create_animation_screen import CreateAnimationScreen
from screens.settings_screen import SettingsScreen
from screens.settings_screen import RegisterScreen
from screens.pause_edit_screen_improved import PauseEditScreen
from config import RESOURCES_FOLDER
kivy.require("2.0.0")
from kivy.core.window import Window
Window.size = (360, 780)
class TraccarApp(App):
def build(self):
if not os.path.exists(RESOURCES_FOLDER):
os.makedirs(RESOURCES_FOLDER)
generate_key()
sm = ScreenManager()
sm.add_widget(LoginScreen(name="login"))
sm.add_widget(HomeScreen(name="home"))
sm.add_widget(GetTripFromServer(name="get_trip_from_server"))
sm.add_widget(SettingsScreen(name="settings"))
sm.add_widget(RegisterScreen(name="register"))
sm.add_widget(CreateAnimationScreen(name="create_animation"))
sm.add_widget(PauseEditScreen(name="pause_edit"))
print("Screens added to ScreenManager:", [screen.name for screen in sm.screens])
return sm
if __name__ == "__main__":
TraccarApp().run()