
EventCalendar
Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net
This is a Screenlet which displays calendar events - such as birthdays or public holidays - using the Linux command-line tool pal.
Some users experience a bug that prevents the Screenlet from starting. However, I cannot reproduce this problem on my system. Please help me with tracking it down if you can. Thanks a lot!
11 years ago
version 0.18
* first public release
version 0.19 alpha 1
* few changes, but hopefully helps me to squash that bug
11 years ago
version 0.18
* first public release
version 0.19 alpha 1
* few changes, but hopefully helps me to squash that bug
mzuther
11 years ago
As I cannot reproduce the above bug on my system, you'll have to help me a little. It would be most helpful if you ran EventDatabase.py from the command line and sent me the complete output. You can find an email address on my homepage...
Martin
Report
hexium
11 years ago
ctx.mask_surface(group_pattern.get_surface(), \
shadow_x_offset, shadow_y_offset)
Specifically group_pattern.get_surface()
I'm not sure what went wrong but in my distro (Ubuntu) since the last version (Karmic) there's some changes in librsvg and python-rsvg that might have caused the issue.
For the users, edit the file EventCalendarScreenlet.py and comment out those two lines by adding the symbol # at the beggining of each line (you can also delete them):
#ctx.mask_surface(group_pattern.get_surface(), \
#shadow_x_offset, shadow_y_offset)
It works here..
Report
hexium
11 years ago
No other functionality is lost by deleting the lines.
Report
hexium
11 years ago
EventCalendar will work fine with Ubuntu 9.04, but won't work with Ubuntu 9.10 (amd64 installation, alpha5).
$ python --version
Python 2.6.2+
$ python EventCalendarScreenlet.py
CachingBackend: Loading instances from cache
CachingBackend: Loading <EventCalendar1>
Creating new entry for EventCalendarScreenlet in /tmp/screenlets/screenlets.user.running
Loading instances in: /home/user/.config/Screenlets/EventCalendar/default/
File: EventCalendar1.ini
LOAD NEW THEME: default
FOUND: /home/user/.screenlets/EventCalendar/themes/default
theme.conf found! Loading option-overrides.
theme.conf loaded:
Name: Default
Author: Martin Zuther
Version: 1.0
Info: Default theme (very simple)
Override: width
Override: height
Traceback (most recent call last):
File "EventCalendarScreenlet.py", line 652, in <module>
screenlets.session.create_session(EventCalendarScreenlet)
File "/usr/lib/pymodules/python2.6/screenlets/session.py", line 472, in create_session
session.start()
File "/usr/lib/pymodules/python2.6/screenlets/session.py", line 237, in start
if self.__load_instances():
File "/usr/lib/pymodules/python2.6/screenlets/session.py", line 391, in __load_instances
sl = self.create_instance(id=filename[:-4], enable_saving=False)
File "/usr/lib/pymodules/python2.6/screenlets/session.py", line 143, in create_instance
sl = self.screenlet(id=id, session=self, **keyword_args)
File "EventCalendarScreenlet.py", line 108, in __init__
self.theme_name = "default"
File "/usr/lib/pymodules/python2.6/screenlets/__init__.py", line 899, in __setattr__
self.load_theme(path)
File "/usr/lib/pymodules/python2.6/screenlets/__init__.py", line 1309, in load_theme
self.theme.apply_option_overrides(self)
File "/usr/lib/pymodules/python2.6/screenlets/__init__.py", line 233, in apply_option_overrides
screenlet.update_shape()
File "/usr/lib/pymodules/python2.6/screenlets/__init__.py", line 1467, in update_shape
self.on_draw_shape(ctx)
File "EventCalendarScreenlet.py", line 495, in on_draw_shape
self.on_draw(ctx)
File "EventCalendarScreenlet.py", line 327, in on_draw
ctx.mask_surface(group_pattern.get_surface(), \
SystemError: NULL object passed to Py_BuildValue
$ ./EventDatabase.py
[application-version]
EventCalendarScreenlet v0.19a1
[application-copyrights]
(c) 2009 Martin Zuther
[application-license]
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Thank you for using free software!
[pal-options]
configfile = /home/user/.pal/pal.conf
days_in_future = 21
self.days_in_past = 7 (8 including today)
self.regex_format_age = (.*) \((\d+)\)$
self.date_format = %B %d
[pal-date_fmt]
%a %e %b %Y
[pal-command]
pal --nocolor -c 0 -r 8-21 -f /home/user/.pal/pal.conf
[pal-output]
dom 13 sep 2009 - hace 3 dÃas
* XXXX
* XXXX
mié 16 sep 2009 - Hoy
* XXXX
dom 4 oct 2009 - en 18 dÃas
* XXXX
(septiembre 13)
XXXX
XXXX
*** septiembre 16 ***
XXXX
octubre 04
XXXX
Report
myk02k
11 years ago
EventCalendar
False
Launching Screenlet from: /home/mike/.screenlets/EventCalendar/EventCalendarScreenlet.py
REGISTER screenlet: EventCalendarScreenlet
False
Traceback (most recent call last):
File "/home/mike/.screenlets/EventCalendar/EventCalendarScreenlet.py", line 652, in <module>
screenlets.session.create_session(EventCalendarScreenlet)
File "/usr/lib/python2.5/site-packages/screenlets/session.py", line 472, in create_session
session.start()
File "/usr/lib/python2.5/site-packages/screenlets/session.py", line 254, in start
sl.finish_loading()
File "/usr/lib/python2.5/site-packages/screenlets/__init__.py", line 1243, in finish_loading
self.on_init()
File "/home/mike/.screenlets/EventCalendar/EventCalendarScreenlet.py", line 233, in on_init
self.date_format, self.regex_format_age)
File "/home/mike/.screenlets/EventCalendar/EventDatabase.py", line 94, in __init__
date_format, regex_format_age)
File "/home/mike/.screenlets/EventCalendar/EventDatabase.py", line 180, in update_settings
self.parse_events()
File "/home/mike/.screenlets/EventCalendar/EventDatabase.py", line 274, in parse_events
event_date, line, regex_line_name, regex_age)
File "/home/mike/.screenlets/EventCalendar/EventDatabase.py", line 310, in __parse_and_add_event__
name = result.group(1)
AttributeError: 'NoneType' object has no attribute 'group'
Launching Screenlet from: /home/mike/.screenlets/EventCalendar/EventCalendarScreenlet.py
REGISTER screenlet: EventCalendarScreenlet
False
Traceback (most recent call last):
File "/home/mike/.screenlets/EventCalendar/EventCalendarScreenlet.py", line 652, in <module>
screenlets.session.create_session(EventCalendarScreenlet)
File "/usr/lib/python2.5/site-packages/screenlets/session.py", line 472, in create_session
session.start()
File "/usr/lib/python2.5/site-packages/screenlets/session.py", line 254, in start
sl.finish_loading()
File "/usr/lib/python2.5/site-packages/screenlets/__init__.py", line 1243, in finish_loading
self.on_init()
File "/home/mike/.screenlets/EventCalendar/EventCalendarScreenlet.py", line 233, in on_init
self.date_format, self.regex_format_age)
File "/home/mike/.screenlets/EventCalendar/EventDatabase.py", line 94, in __init__
date_format, regex_format_age)
File "/home/mike/.screenlets/EventCalendar/EventDatabase.py", line 180, in update_settings
self.parse_events()
File "/home/mike/.screenlets/EventCalendar/EventDatabase.py", line 274, in parse_events
event_date, line, regex_line_name, regex_age)
File "/home/mike/.screenlets/EventCalendar/EventDatabase.py", line 310, in __parse_and_add_event__
name = result.group(1)
AttributeError: 'NoneType' object has no attribute 'group'
Launching Screenlet from: /home/mike/.screenlets/EventCalendar/EventCalendarScreenlet.py
REGISTER screenlet: EventCalendarScreenlet
False
Traceback (most recent call last):
File "/home/mike/.screenlets/EventCalendar/EventCalendarScreenlet.py", line 652, in <module>
screenlets.session.create_session(EventCalendarScreenlet)
File "/usr/lib/python2.5/site-packages/screenlets/session.py", line 472, in create_session
session.start()
File "/usr/lib/python2.5/site-packages/screenlets/session.py", line 254, in start
sl.finish_loading()
File "/usr/lib/python2.5/site-packages/screenlets/__init__.py", line 1243, in finish_loading
self.on_init()
File "/home/mike/.screenlets/EventCalendar/EventCalendarScreenlet.py", line 233, in on_init
self.date_format, self.regex_format_age)
File "/home/mike/.screenlets/EventCalendar/EventDatabase.py", line 94, in __init__
date_format, regex_format_age)
File "/home/mike/.screenlets/EventCalendar/EventDatabase.py", line 180, in update_settings
self.parse_events()
File "/home/mike/.screenlets/EventCalendar/EventDatabase.py", line 274, in parse_events
event_date, line, regex_line_name, regex_age)
File "/home/mike/.screenlets/EventCalendar/EventDatabase.py", line 310, in __parse_and_add_event__
name = result.group(1)
AttributeError: 'NoneType' object has no attribute 'group'
Report
drxnele
11 years ago
"name = result.group(1)
AttributeError: 'NoneType' object has no attribute 'group'"
it seems like result.group doesn't exist. that means that object result isn'n initialized, and because of that it doesnt contain attribute group...
hope that helps... :S
Report
myk02k
11 years ago
Report
TheWizzard
11 years ago
Report
metalz
11 years ago
Report