import kivy
kivy.require('1.10.1')
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.behaviors import ButtonBehavior
from kivy.uix.image import Image
from kivy.core.text import LabelBase
from kivy.properties import StringProperty,  NumericProperty
from kivy.clock import Clock
from kivy.core.window import Window
from kivy.core.audio import SoundLoader
from kivy.uix.screenmanager import Screen, ScreenManager


from time import strftime
import time
import os

class WindowManager(Screen):
    pass

class WakeCall(Screen):
    pass

class SleepOn(Screen):
    pass

# set sound env
os.environ['KIVY_VIDEO'] = 'ffpyplayer'

class ImageButton(ButtonBehavior, Image):
    pass

class clockLabel(Label):
    current_time = StringProperty(strftime('%H:%M:%S'))
    timer = NumericProperty()

    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.sound = SoundLoader.load('bells.mp3')
        self.main_clock = Clock.schedule_interval(self.update_time, 1)

    def update_time(self, dt):
        self.current_time = strftime('%H:%M:%S')
        self.curr_sec =  int(strftime('%S'))
        if self.curr_sec == 0:
            print("time is:", strftime('%H:%M:%S'))
            self.sound.play()

    def cancel_time(self):
        self.main_clock.cancel()


class ClockApp(App):
    def build(self):
        return Builder.load_file("./clock.kv")


if __name__ == "__main__":
    ClockApp().run()
