The Omni Group Forums

The Omni Group Forums (http://forums.omnigroup.com/index.php)
-   OmniFocus Extras (http://forums.omnigroup.com/forumdisplay.php?f=44)
-   -   ofexport - export to text, taskpaper, html, opml (http://forums.omnigroup.com/showthread.php?t=29081)

kingsinger 2013-06-05 08:30 AM

[QUOTE=psidnell;124962]:-)

Sure:

The ofexport.py file is in the root folder of the install, you can see the copy on github [URL="https://github.com/psidnell/ofexport/blob/master/ofexport.json"]here[/URL].

The [B]file_types[/B] section shows the config for each of the supported output types. If you scroll down to the [B]ICS[/B] section you can see it's got a [B]time_control_default[/B] setting:


[CODE]
"ICS": {
"_1": "time_control_default can contain the magic that you can put in a note to control when the item appears in the calendar",
"_2": "The time_control_default is only used if there is no '%of cal' directive in the node",
"plugin": "ics",
"suffixes": [
"ics"
],
"template": "ics",
"time_control_default": "ignored unless it is of the right format"
},
[/CODE]

So you could put any directive ([URL="https://github.com/psidnell/ofexport/blob/master/DOCUMENTATION.md#calendar-export"]see the doc[/URL]) in there as a default rather than cluttering all your notes.

eg:

[CODE]%of cal allday noalarm[/CODE][/QUOTE]

Okay. I get it conceptually. But where exactly do I stick "%of cal allday noalarm"?

I do best when I see a concrete example of the thing in context. Does "%of cal allday noalarm" replace "ignored unless it is of the right format"? Does it go before or after it? Or does it go somewhere else entirely?

psidnell 2013-06-06 04:17 AM

[QUOTE=kingsinger;124969]Okay. I get it conceptually. But where exactly do I stick "%of cal allday noalarm"?[/QUOTE]

The changed line would look like this:

[CODE]"time_control_default": "%of cal allday noalarm"[/CODE]

kingsinger 2013-06-07 09:26 AM

Strange behavior with all-day calendar events when I try to import the .ics file onto my android phone calendar. In ical, the events appear as blocks at the top of the week view of the calendar as all day events are supposed to do. But on my phone, they stripe through the entire day, as if I had entered 12:00am to 11:59pm, rather than hitting the all-day button.

Any thoughts?

Perhaps ical is smarter in how it parses the file.

kingsinger 2013-06-07 09:36 AM

Filed is also parsed as expected in Lightning. But when I try to import the .ics file into a google calendar on the web, it says "zero events processed."

kingsinger 2013-06-07 09:50 AM

File is also parsed...

psidnell 2013-06-07 11:15 AM

I have just fixed an issue that might relate to this in the latest version. All day events are encoded in a very specific way in ics files, and I stopped worrying when they displayed OK on my iPhone and iMac calendar. It's possible other clients aren't as happy.

Which version of ofexport are you using?

kingsinger 2013-06-07 04:29 PM

Version 3.0.2

kingsinger 2013-06-07 04:42 PM

3.0.3 fixed the import issue with google calendar. But it did not fix the issues on my phone. Not sure why. Those don't show as all day.

I'm using dropsync to get the .ics to my phone. Then I'm using a program called iCalSync2 to sync the .ics to the phone calendar.

psidnell 2013-06-08 12:20 AM

[QUOTE=kingsinger;125092]3.0.3 fixed the import issue with google calendar. But it did not fix the issues on my phone. Not sure why. Those don't show as all day.

I'm using dropsync to get the .ics to my phone. Then I'm using a program called iCalSync2 to sync the .ics to the phone calendar.[/QUOTE]

I've failed to find good documentation on this, the following two links were the most useful:

- [url]http://stackoverflow.com/questions/1716237/single-day-all-day-appointments-in-ics-files[/url]
- [url]http://icalevents.com/1778-all-day-events-adding-a-day-or-not/[/url]

and I'm using the advice in the second.

I ended up hand crafting a small ics file (it's "just text") and re-syncing with OSX Calendar until it displayed correctly, on the right day and in the right time zone. When that worked I fixed the code to produce the same data.

For those who care, the following code from ics_plugin.py applies this logic:

[CODE]def format_date (item, the_date, is_due_date):
if 'allday' in item.attribs:
# Make all day - must have no hms in format
#DTSTART;VALUE=DATE:20020923
#DTEND;VALUE=DATE:20020924
the_date = datetime (the_date.year, the_date.month, the_date.day, 0, 0, 0)
if is_due_date:
the_date = the_date + timedelta (days=1)
# NO UTC CONVERSION - it happens on the day we asked for - no adjustment required
result = the_date.strftime(DATE_FORMAT_SHORT)
else:
the_date = utc (the_date)
result = the_date.strftime(DATE_FORMAT_LONG)
typ = 'due' if is_due_date else 'start'
logger.debug ("formatted date for %s is %s:%s", item.id, typ, result)
return result[/CODE]


I've had problems with OSX/IOS calendar where it fails to pick up title changes for some time, I think it looks for new/deleted items regularly but doesn't re-sync updated ones every time.

Currently my Calendar apps are subscribed directly to the exported ics file which is published from dropbox and when I force them to update do instantly.

If your phone is displaying the calendar event in the same way as it was before you upgraded to V3.0.3 I'd suspect a cacheing issue.

Sorry for the rambling reply, but hopefully it'll shed some light on what's going on.

kingsinger 2013-06-08 10:02 AM

No, thanks for that reply. Let's see what happens. I have an android table that runs android 4 and that calendar seems to have updated correctly. But my 2.3 phone doesn't seem to be working right. Maybe it'll get sorted out on its own.


All times are GMT -8. The time now is 04:43 PM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.