Discussion:
[BitPim-devel] vCalendar Import available for testing
d***@netzero.com
2005-02-04 05:11:41 UTC
Permalink
For those who're interested and have some time to test, please post any test results and/or comments that you may have.

Thanks,

-Joe Pham


______________________________________________________________________
Speed up your surfing with NetZero HiSpeed.
Now includes pop-up blocker!
Only $14.95/month -visit http://www.netzero.com/surf to sign up today!
Vic Heintz
2005-02-04 09:55:35 UTC
Permalink
Post by d***@netzero.com
For those who're interested and have some time to test, please post
any test results and/or comments that you may have.
I get an immediate exception upon selecting Import vCalendar:

Traceback (most recent call last):
File "/Users/vic/Projects/bitpim/gui.py", line 445, in __call__
return self.func(*self.args, **self.kwargs)
File "/Users/vic/Projects/bitpim/importexport.py", line 1649, in
OnFileImportVCal
import vcal_calendar
File "/Users/vic/Projects/bitpim/vcal_calendar.py", line 17, in ?
import outlook_calendar
File "/Users/vic/Projects/bitpim/outlook_calendar.py", line 13, in ?
import pywintypes
ImportError: No module named pywintypes

Since when does "Import vCalendar" imply anything about outlook? If I
hit continue and try again I get this one:

Traceback (most recent call last):
File "/Users/vic/Projects/bitpim/gui.py", line 445, in __call__
return self.func(*self.args, **self.kwargs)
File "/Users/vic/Projects/bitpim/importexport.py", line 1650, in
OnFileImportVCal
dlg=vcal_calendar.VcalImportCalDialog(parent, -1, 'Import
vCalendar')
AttributeError: 'module' object has no attribute 'VcalImportCalDialog'

On my Mac I assumed I would be able to import my iCal data files
(default path ~/Library/Calendars/variousNames.ics) since they
apparently conform to vCalendar 2.0 specs. I of course do not have
Outlook. I do have something called Entourage which is probably similar
and which apparently stores its calendar info, along with addressbook
and mailnotes in one big file called "/Users/vic/Documents/Microsoft
User Data/Office 2004 Identities/Vic/Database". (Which sux but I don't
use Entourage anyway. It came as part of Office, which I also wouldn't
use had I not had to purchase a 3-license copy for my two college kids.)

Vic
d***@netzero.com
2005-02-04 13:08:26 UTC
Permalink
Vic, thanks for the report. It did not occur to me about the interdependencies between the Outlook module & the vCalendar module. I'd have to split them out.

-Joe Pham


______________________________________________________________________
Speed up your surfing with NetZero HiSpeed.
Now includes pop-up blocker!
Only $14.95/month -visit http://www.netzero.com/surf to sign up today!
d***@netzero.com
2005-02-04 15:44:45 UTC
Permalink
Vic, I just committed the latest changes which removed the Outlook dependencies from vCalendar, please give it another try. Note that this is vCal (v1.0), not iCal which is next on my list.

-Joe Pham


______________________________________________________________________
Speed up your surfing with NetZero HiSpeed.
Now includes pop-up blocker!
Only $14.95/month -visit http://www.netzero.com/surf to sign up today!
Vic Heintz
2005-02-04 16:56:20 UTC
Permalink
Post by d***@netzero.com
Vic, I just committed the latest changes which removed the Outlook
dependencies from vCalendar, please give it another try. Note that
this is vCal (v1.0), not iCal which is next on my list.
Fails on import of vCal 1.0 file output from Palm desktop. I have
attached exception and the vcal file. - Vic

Traceback (most recent call last):
File "/Users/vic/Projects/bitpim/vcal_calendar.py", line 424, in
OnImport
self.populate(self.__oc.get_display_data())
File "/Users/vic/Projects/bitpim/common_calendar.py", line 126, in
populate
s=l[3](d, entry)
File "/Users/vic/Projects/bitpim/common_calendar.py", line 29, in
bp_date_str
return '%04d-%02d-%02d %02d:%02d'% v
TypeError: int argument required

Variables by last 8 frames, innermost last

Frame MainLoop in
//Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/wx/_core.py at line 5262
self = <gui.MainApp; proxy of C++ wxPyApp instance at
_022cfbd0_p_wxPyApp>

Frame MainLoop in
//Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/wx/_core.py at line 4732
args = (<gui.MainApp; proxy of C++ wxPyApp instance at
_022cfbd0_p_wxPyApp>,)
kwargs = Keys []
{}

Frame __call__ in /Users/vic/Projects/bitpim/gui.py at line 445
self = <gui.MenuCallback instance at 0x22b2e90>
args = (<wx._core.CommandEvent; proxy of C++ wxCommandEvent
instance at _bfffe0d0_p_wxC

Frame OnFileImportVCal in /Users/vic/Projects/bitpim/importexport.py at
line 1651
dlg = <vcal_calendar.VcalImportCalDialog; proxy of C++
wxDialog instance at _03eb7180_
parent = <gui.MainWindow; proxy of C++ wxFrame instance at
_031ad3d0_p_wxFrame>

Frame ShowModal in
//Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/wx/_windows.py at line 596
args = (<vcal_calendar.VcalImportCalDialog; proxy of C++
wxDialog instance at _03eb7180
kwargs = Keys []
{}

Frame OnImport in /Users/vic/Projects/bitpim/vcal_calendar.py at line
424
evt = <wx._core.CommandEvent; proxy of C++ wxCommandEvent
instance at _bfffc6c0_p_wxCo
self = <vcal_calendar.VcalImportCalDialog; proxy of C++
wxDialog instance at _03eb7180_
dlg = <wx._windows.ProgressDialog; proxy of C++
wxProgressDialog instance at _046204b0

Frame populate in /Users/vic/Projects/bitpim/common_calendar.py at line
126
d = Keys ['categories', 'description', 'repeat', 'start']
{'start': (1986, 5, 26, 5, 0), 'repeat': False,
'description': u'Someone Birthda
i = 2
m_count = 0
m = Keys []
{}
l = ('end', 'End', 150, <function bp_date_str at
0x40c4030>)
col_idx = 0
self = <vcal_calendar.VcalImportCalDialog; proxy of C++
wxDialog instance at _03eb7180_
mm = Keys [0, 1]
{0: 'Someone Birthday', 1: '1986-05-26 05:00'}
s = ''
entry = None
data = Keys [0]
{0: {'start': (1986, 5, 26, 5, 0), 'repeat': False,
'description': u'Someone Bir
k = 0

Frame bp_date_str in /Users/vic/Projects/bitpim/common_calendar.py at
line 29
dict = Keys ['categories', 'description', 'repeat', 'start']
{'start': (1986, 5, 26, 5, 0), 'repeat': False,
'description': u'Someone Birthda
v = None
d***@netzero.com
2005-02-04 20:03:49 UTC
Permalink
Go for it Vic. And thanks for the testing.

-Joe Pham


______________________________________________________________________
Speed up your surfing with NetZero HiSpeed.
Now includes pop-up blocker!
Only $14.95/month -visit http://www.netzero.com/surf to sign up today!
Vic Heintz
2005-02-04 22:38:07 UTC
Permalink
Post by d***@netzero.com
Go for it Vic. And thanks for the testing.
Seems that it now fails if an event entry has no CATEGORIES: field.

Vic
d***@netzero.com
2005-02-04 22:46:58 UTC
Permalink
Post by Vic Heintz
Seems that it now fails if an event entry has no CATEGORIES: field
Thanks Vic. According to the spec, the CATEGORIES field is mandated; however, I'll make provision for its absent (and probably other "mandated" fields too).

-Joe Pham



______________________________________________________________________
Speed up your surfing with NetZero HiSpeed.
Now includes pop-up blocker!
Only $14.95/month -visit http://www.netzero.com/surf to sign up today!
Vic Heintz
2005-02-05 00:01:25 UTC
Permalink
Post by d***@netzero.com
Post by Vic Heintz
Seems that it now fails if an event entry has no CATEGORIES: field
Thanks Vic. According to the spec, the CATEGORIES field is mandated;
however, I'll make provision for its absent (and probably other
"mandated" fields too).
The Palm Desktop 4.2.1 app allows categories to be set to "none" in
which case when exported as vCal that entry has no field. Also the Mac
OS iCal app doesn't seem to allow for Categories at all, so no entries
have a categories field in these vcal 2.0 files.

Vic
d***@netzero.com
2005-02-05 00:34:28 UTC
Permalink
Post by Vic Heintz
Seems that it now fails if an event entry has no CATEGORIES: field.
Hopefully, it'd be a tad more difficult to break this time.

-Joe Pham



______________________________________________________________________
Speed up your surfing with NetZero HiSpeed.
Now includes pop-up blocker!
Only $14.95/month -visit http://www.netzero.com/surf to sign up today!
Roger Binns
2005-02-05 07:19:02 UTC
Permalink
Post by d***@netzero.com
Hopefully, it'd be a tad more difficult to break this time.
I suggest you make a file in the same style and spirit as
examples/vcards.vcf. That will serve several purposes:

- As a test for the code
- As a source for events when making screenshots
- Something for people to work with when writing
phone modules (it will exercise mapping fields to
the phone and back)

I have attached Evolution's idea of a vcal as well as Apple's
idea of an ical.

Roger
Vic Heintz
2005-02-05 14:37:05 UTC
Permalink
Post by d***@netzero.com
Hopefully, it'd be a tad more difficult to break this time.
OK the latest version handled all my PalmDesktop entries. One comment:
your message still says it is "Importing Outlook Data" when Outlook was
never part of the process at all.

Vic
d***@netzero.com
2005-02-05 17:19:29 UTC
Permalink
I suggest you make a file in the same style and spirit as >examples/vcards.vcf.
Good suggestion! I'll come up with one for the vCal format. Your examples are in iCal format.

-Joe Pham



______________________________________________________________________
Speed up your surfing with NetZero HiSpeed.
Now includes pop-up blocker!
Only $14.95/month -visit http://www.netzero.com/surf to sign up today!
Roger Binns
2005-02-05 17:57:23 UTC
Permalink
Post by d***@netzero.com
Good suggestion! I'll come up with one for the vCal format.
Your examples are in iCal format.
The Apple one definitely is. The Evolution one implied it
was vcal. Will you be able to handle both formats with
the same code entry point (ie users won't have to know
which flavour it is)?

Roger
d***@netzero.com
2005-02-05 17:20:40 UTC
Permalink
One comment: your message still says it is "Importing Outlook Data"
Good eyes Vic! Thanks for testing. Did everything import properly for you ?

-Joe Pham



______________________________________________________________________
Speed up your surfing with NetZero HiSpeed.
Now includes pop-up blocker!
Only $14.95/month -visit http://www.netzero.com/surf to sign up today!
d***@netzero.com
2005-02-05 18:38:01 UTC
Permalink
Will you be able to handle both formats with the same code entry >point (ie users won't have to know which flavour it is)?
Based on my research, vCal is synonymous to vCalendar spec version 1; while iCal is synonymous to vCalendar v. 2. Right now, my implementation can only handle vCal (v1). Eventually, it'd be able to handle both vCal and iCal transparently.

-Joe Pham



______________________________________________________________________
Speed up your surfing with NetZero HiSpeed.
Now includes pop-up blocker!
Only $14.95/month -visit http://www.netzero.com/surf to sign up today!
Loading...