Udělejte si ze svého počítače kukačky

PhDr. Mgr. Jeroným Klimeš, Ph.D. 2022-03-13

Potřebuji se naučit základy Pythonu, tak jsem si napsal tuto blbinu. Prostě počítač mi teď kuká, co čtvrt hodiny. Jsem zvědavý, kdy mě z toho klepne... :-)

Lidé dřív měli hodiny s kukačkou, protože v noci neměli světlo. Žárovky nebyly, tak když nemohli spát, čekali na zvuk hodin - kostelních nebo svých kukaček. Podle bití pak poznali, kolik je hodin. Čtvrt, půl, tři čtvrtě celá, pověz mi rafičko, kolik to dělá...

Zde jsou všechny tři soubory v jednom archivu.
#!/usr/bin/python
# coding: utf-8
## -*- coding: latin-1 -*-

#quit() # Pokud nechcete, aby Vam kukačky kukaly, tak zde odstraňte komentář. Cron pak tady skončí.


adresar="/home/username/cesta_ke_kukackam/"
# tady se nastavuje cesta ke zvukovym souborum


kukacka_hodiny=adresar+"kukacka_jaro_jednou.mp3"
kukacka_ctvrthodiny=adresar+"kukacka_indianska_jednou.mp3"
	#https://www.soundsnap.com/tags/cuckoo

import time
import datetime
import os
import sys 

def kukni_mp3_cron(cas=""):
	time_now = datetime.datetime.today()
	if cas != "": 	
		time_now=time_now.replace(hour=int(cas.split(':')[0]), minute= int(cas.split(':')[1]))
	
	hodin=time_now.hour
	if hodin >12: hodin=hodin-12
	
	kolikrat=int(time_now.minute/15) 
	if kolikrat == 0: kolikrat = 4
	print(str(time_now) + " kolikrat: " + str(kolikrat) + " hodin: " + str(hodin))
	
	if kolikrat < 4: 
		os.system("mpv "+ (kukacka_ctvrthodiny + " " )*kolikrat  )
	else:	
		os.system("mpv "+ (kukacka_ctvrthodiny + " " )*4) #  + "   &> /dev/null; clear "  
		os.system("mpv  "+ (kukacka_hodiny + " " )*hodin) 
		print(str(hodin)+"krát")

def help():
	print "Kukačky - hodiny"
	print "----------------"
	print 
	print "Kostelní hodiny napřed na malý zvonek odbíjejí čtvrt - jednou, půl - dvakrát, tři čtvrtě - třikrát, celá - čtyřikrát. Pokud je celá hodina, pak po odbití čtyřech vyšších tónů, začínají odbíjet hodinu (1-12). Tuto logiku imitují i tyto kukačky, které místo zvonů kukají."
	print 
	print "Kukání s testovacím časem se spouští příkazem:"
	print "		kukacky_hodiny_cron.py 18:35"
	print "Musí být instalovan přehrávač mpv"
	print 
	print "Takto se to instaluje v Cronu"
	print "Toto spustit v Bash terminálu (Linux):"
	print "		crontab -e "
	print "Do souboru vložit tuto řádku:"
	print "*/15 * * * * env DISPLAY=:0 /home/username/cesta_ke_kukackam/kukacky_hodiny_cron.py"
	print 
	print "Kontakt na autora: PhDr. Mgr. Jeroným Klimeš, Ph.D., http://www.klimes.us"
	print 

#kukni_mp3_cron()
#kukni_mp3_cron("18:10") # příkazy pro testování

if len(sys.argv) == 2: 
	if (sys.argv[1] == "-h") or (sys.argv[1] == "--help"): 
		help()
	else: 
		kukni_mp3_cron(sys.argv[1]) # $1 z prikazove radky
else:
	kukni_mp3_cron()

quit()