|
2013-10-26
, 22:24
|
Posts: 49 |
Thanked: 8 times |
Joined on Oct 2013
|
#1012
|
|
2013-10-27
, 16:57
|
|
Posts: 1,391 |
Thanked: 4,272 times |
Joined on Sep 2007
@ Vienna, Austria
|
#1013
|
The Following User Says Thank You to thp For This Useful Post: | ||
|
2013-10-27
, 19:52
|
Posts: 58 |
Thanked: 19 times |
Joined on Jan 2012
@ Finland
|
#1014
|
EDIT 6:
One probably has to install python and python-dbus (apt-get install python python-dbus) to use this.
EDIT 3: Works as it should now. Finds even 'No alarms'
After a lot of trial and error, I managed to write this horrible mess based on thp's script to find out the next enabled alarm. It's ugly but it works:
I got excited about python, so I made a "script" to show the week number, too.Code:#!/usr/bin/python # List upcoming alarms on MeeGo 1.2 Harmattan # Thanks to slarti on TMO for figuring out the D-Bus methods # Thomas Perl <thp.io/about>; 2012-06-13 # Horribly mangled by slarti to find only the next alarm # (set from clock application); 2012-06-19 import dbus from datetime import datetime, timedelta import time bus = dbus.SystemBus() time_obj = bus.get_object('com.nokia.time', '/com/nokia/time') time_intf = dbus.Interface(time_obj, 'com.nokia.time') cookies = time_intf.get_cookies_by_attributes({'enabled': '1'}) today = datetime.now() tomorrow = today + timedelta(days=1) def list_queued_alarms(): for cookie in cookies: attributes = time_intf.query_attributes(cookie) alarmtime = attributes['alarmtime'] if attributes['STATE'] == 'QUEUED': if 'recurrence' in attributes: days = tuple(attributes['recurrence']) else: if datetime.time(datetime.strptime(alarmtime, ("%H:%M"))) > datetime.time(datetime.now()): days = time.strftime("%w") else: days = tomorrow.strftime("%w") weekdays = dict([(day, time.strptime((day + " " + alarmtime),'%w %H:%M' )) for day in days]) for day in days: yield ' '.join((day,time.strftime('%a %H:%M',weekdays[day]),attributes['TITLE'])) findme_list = [' '.join((time.strftime('%w %a %H:%M'),'findme'))] L = list(list_queued_alarms()) + findme_list L.sort() findme_string = ' '.join((time.strftime('%w %a %H:%M'),'findme')) findme_int = L.index(findme_string) if len(L) == 1: next_alarm = 'xxNo alarms' else: if findme_int == (len(L) - 1): next_alarm = L[0] else: next_alarm = L[findme_int + 1] print next_alarm[2:].encode('utf-8')
Edit 4:Code:import time print ' '.join(['Week',time.strftime("%W")])
Add .encode('latin1') to the last line in the text file to show for example letters צהו.
Has to do with this: http://talk.maemo.org/showpost.php?p...&postcount=293
Edit 5:
Change back to UTF-8 once Billboard 1.0.7 is out.
|
2013-10-27
, 23:29
|
Posts: 49 |
Thanked: 8 times |
Joined on Oct 2013
|
#1015
|
|
2013-10-28
, 13:40
|
Posts: 277 |
Thanked: 319 times |
Joined on Jan 2010
|
#1016
|
Is there a way of localizing day names, or is the output always in english like "Mon" ,"Tue" etc. ?
The Following User Says Thank You to slarti For This Useful Post: | ||
|
2013-10-28
, 14:19
|
Posts: 58 |
Thanked: 19 times |
Joined on Jan 2012
@ Finland
|
#1017
|
|
2013-10-28
, 17:45
|
Posts: 58 |
Thanked: 19 times |
Joined on Jan 2012
@ Finland
|
#1018
|
|
2013-10-28
, 17:52
|
|
Posts: 645 |
Thanked: 519 times |
Joined on Apr 2012
@ Finland
|
#1019
|
|
2013-10-28
, 19:14
|
Posts: 58 |
Thanked: 19 times |
Joined on Jan 2012
@ Finland
|
#1020
|
This might be the problem. But I don't know how to fix it.