zum hintergrund: es soll eine art "taskplaner" entstehen - so wie das ding in windows. unserer soll per xml konfigurierbar sein
die xml struktur ist fest vorgegeben und schaut so aus:
Code: Alles auswählen
<?xml version="1.0" encoding="windows-1250"?>
<scheduler>
<module>
<name>blaa</name>
<active>1</active>
<exec>C:\foo.py</exec>
<time>
<type>interval</type>
<val>30</val>
</time>
</module>
<module>
<name>doing</name>
<active>1</active>
<exec>C:\doing.py</exec>
<time>
<mon>
<val>09:20</val>
<val>13:18</val>
</mon>
<wed>
<val>14:30</val>
</wed>
</time>
</module>
</scheduler>
so wieder zum allgemeinen...
ich weiss meinen jetzigen zeitpunkt, dazu gehört der wochentag, die stunde und die minute (auf gut deutsch - die uhrzeit) und anhand der xml weiss ich vom nächsten zeitpunkt ebenfalls wochentag, stunde und minute.
beispiel vom modul doing: nächster montag 9:20
meine vorgehensweise ist nun
1. minuten bis ende der aktuellen stunde ermitteln
2. stunden bis ende des aktuellen tages ermitteln
3. tage bis ende der aktuellen woche ermitteln
diese drei werte ergeben die zeit-bis-zum-ende-der-woche.
für unseren zeitpunkt hab ich ja schon alles:
0 tage (montag...)
9 stunden (9:uhr...)
15 minuten(:15 minuten...)
nun ist ja zeit-bis-zum-ende-der-woche + 0,9,15 = zeit bis zu dem zeitpunkt von dem ich bislang immer ausgehe, dass er in der nächsten woche ist.
wenn nun das was ich rausbekommen hab größer ist wie die gesamte anzahl in sek einer woche, weiss ich, dass ich mich quasi einmal selber "überrannt" habe und ziehe einfach eine woche in sekunden von meinem ergebnis ab...
ich hoff des war einigermaßen verständlich
nochmal @ BlackJack: weil ichs gerade gelesen hab:
mag sein, dass es eleganter geht (deswegen bin ich hier und frag nach ), aber als übung für unsre azubis hier wie man logisch / händisch an sowas ranzugehen hat, geh ich den weg auch gerne mal zu fuß ... wenn mir nun noch ein spezl hier eine "2-zeilen-mega-schick" lösung präsentieren kann - nur her damit, dann kann ich auch ein "so" & "so nicht" zeigen
vielen dank auf jeden fall für eure mühe und die superschnellen antworten
Edit (BlackJack): Der Highlighter kann zwar nicht viel, aber XML kennt er -> Highlighting von Python auf XML umgestellt.