The Omni Group
These forums are now read-only. Please visit our new forums to participate in discussion. A new account will be required to post in the new forums. For more info on the switch, see this post. Thank you!

Go Back   The Omni Group Forums > OmniFocus > OmniFocus Extras
FAQ Members List Calendar Today's Posts

 
ofexport - export to text, taskpaper, html, opml Thread Tools Search this Thread Display Modes
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:
Originally Posted by kingsinger View Post
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.
I've failed to find good documentation on this, the following two links were the most useful:

- http://stackoverflow.com/questions/1...s-in-ics-files
- http://icalevents.com/1778-all-day-e...-a-day-or-not/

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

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.
 
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.
 
Also, I'm using IcalSync2 on both by android tablet and my phone. So the difference between the phone and the tablet are as follows:

(a) Different version of Android (4.0 vs. 2.3); and

(b) and different calendar app (on tablet it's the stock calendar app that comes with the cm9 ROM I'm running--although it also seems to work correctly in stock google calendar app; on phone it's an app called calendroid, although I get the same behavior with the HTC stock calendar that shipped with the phone).

Just downloaded a different calendar app to phone and had same problem. So it must have something to do with the way Android 2.3 parses .ics vs. the way Android 4.0 does it.
 
Thank you psidnell for all the work on this!

I have things working on my machine now, and I can do a basic export. I am having a little bit of trouble understanding how some of the options work, so I wanted to ask about how one would do some things.

Basically, I'd like to export (just to plain text), my non-completed tasks that are due in the next two weeks (or some type of time). I assume there's some way to do this with the "due=" setting, but I am not able to figure it out.

For example, this works for to show tasks due in June:
Code:
ofexport  -E -a done=any -I -t "due=June"
I would like to change this so I could run this every morning, and always report on the next two weeks worth of due tasks. What is the best way to do something like this?

thanks!
Dex
 
Quote:
Originally Posted by 23dex View Post
Thank you psidnell for all the work on this!
Thanks!

Quote:
Originally Posted by 23dex View Post
I have things working on my machine now, and I can do a basic export. I am having a little bit of trouble understanding how some of the options work, so I wanted to ask about how one would do some things.
It's not for the feint of heart :-)

Quote:
Originally Posted by 23dex View Post
Basically, I'd like to export (just to plain text), my non-completed tasks that are due in the next two weeks (or some type of time). I assume there's some way to do this with the "due=" setting, but I am not able to figure it out.

...

I would like to change this so I could run this every morning, and always report on the next two weeks worth of due tasks. What is the best way to do something like this?
You probably found the date syntax documentation here but things are made more complex by the need to carefully quote things to get them through the shell unscathed, that's what catches most people out.

It doesn't have anything like multipliers for the date specs e.g. 2 weeks or 14 days (not a bad idea though), the nearest it can get is:

Code:
ofexport -a "due='today to next fri'" -a prune | more
ofexport -a "due='today to 2013-07-08'" -a prune | more
The reason I've used -a instead of -t here as that the latter applies only to tasks, whereas the former applies to anything applicable (projects and tasks). I'm guessing you'd want to see tasks without a due date that are in a project with a due date.
 
First, thanks for making this. I've been looking for something like this for a while.

Second, I'm having an issue getting all this working with Hazel. I have the script to run, which looks like this:

Code:
#!/bin/bash

FILE=/Users/XXXXXX/Dropbox/Public/report.txt

. /Users/XXXXXX/.bashrc
ofexport -p 'name="Home Projects"' --tasks -t done=none -T flat  -o "$FILE"
It works when I activate it myself, but hazel doesn't see to want to make it work.

I'm a bit of a noob with command line and scripting, but I learn fast. Any suggestions?
 
 




Similar Threads
Thread Thread Starter Forum Replies Last Post
Batch Export OO to OPML or Text adgirard OmniOutliner 3 for Mac 0 2012-10-04 11:53 AM
.html extension on dynamic html export pairustwo OmniOutliner 3 for Mac 3 2011-09-10 01:53 PM
Bug - Export as TXT (TaskPaper) Vlad Ghitulescu OmniFocus 1 for Mac 2 2011-04-29 03:36 AM
Pasting Taskpaper-format text into OmniOutliner RobTrew OmniOutliner 3 for Mac 1 2011-01-11 05:00 AM
Export Properties:Notes as HTML Roll Over Text? jeffreykennedy OmniGraffle General 6 2009-10-26 07:40 AM


All times are GMT -8. The time now is 06:19 AM.


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