473,507 Members | 2,379 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Using vObject

I'm brand new to USENET so please bear with me.

I'm writing a specialized to-do list app. I'm using Django but this is
not a question about Django. It has to have recurring tasks set by the
managers for the employees to then check off.

I've got pretty much everything in the app worked out, except for one
thing: the repeating tasks. I want to have it so that the manager puts
in a repeating task with a description and a repeat rule. This rule then
generates simpler one-time tasks. These one-time tasks have a
description, a time (a datetime.datetime object) and "completed" boolean.

I've looked around and think I have these options:
1. Manually put it all together with another Django model that
implements the repeat rules.
2. Do the same thing but use dateutil.rrule to help.
3. Use the icalendar (http://codespeak.net/icalendar/) module to access
ICS files.
4. vObject (http://vobject.skyhouseconsulting.com/) to do the same.

I think I want to use vObject because it uses dateutil and the
management can easily manage tasks from a desktop app.

Only thing is that I find vObject's documentation very cryptic and was
wondering if anybody here could shed some light on how to use vObject. A
simple "getting-started" tutorial or something similar would be nice.

Thanks all!

-Josh
Sep 22 '08 #1
1 2336
Joshua Gardner schrieb:
I'm brand new to USENET so please bear with me.

I'm writing a specialized to-do list app. I'm using Django but this is
not a question about Django. It has to have recurring tasks set by the
managers for the employees to then check off.

I've got pretty much everything in the app worked out, except for one
thing: the repeating tasks. I want to have it so that the manager puts
in a repeating task with a description and a repeat rule. This rule then
generates simpler one-time tasks. These one-time tasks have a
description, a time (a datetime.datetime object) and "completed" boolean.

I've looked around and think I have these options:
1. Manually put it all together with another Django model that
implements the repeat rules.
2. Do the same thing but use dateutil.rrule to help.
3. Use the icalendar (http://codespeak.net/icalendar/) module to access
ICS files.
4. vObject (http://vobject.skyhouseconsulting.com/) to do the same.

I think I want to use vObject because it uses dateutil and the
management can easily manage tasks from a desktop app.

Only thing is that I find vObject's documentation very cryptic and was
wondering if anybody here could shed some light on how to use vObject. A
simple "getting-started" tutorial or something similar would be nice.
I think you are going down a wrong route here. I have implemented a
reservation management application for a museum in TurboGears - and
while I use icalendar to support ICS-based viewing of the reservations,
I completely manage * store them based on my own model.

In case of the recurring events, I have one master-event, that defines
the start & recurrence-options.

I then create child-events that essentially are write-protected (all
editing goes to the master), and serve only as place-holder. But if you
want, you can "detach" them, to make them live on their own.

The reason for this is simple: if you want to display views of your
tasks based on e.g. a specific day, you can query the database. Simple
queries will yield a list of tasks needed.

Whereas all ICS-based approaches listed above, including vObject, would
mean that you

- extract *all* the ics-data from the database, not really knowing if
there is anything relevant in there for the current view

- potentially expand the events in there, manually or through some
methods the libraries expose

- filter the results.

All of this is going to consume much useless time.

So I would suggest you use approach 1, possibly 2 (don't know rrule).

Diez
Sep 23 '08 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
5876
by: rawCoder | last post by:
Hi All, I have a *.cer file, a public key of some one and I want to encrypt some thing using this public key. Can someone point me to a sample code for Encrypting some file using...
1
567
by: Mike | last post by:
When trying to compile (using Visual Web Developer 2005 Express Beta; frameworkv2.0.50215 ) the source code below I get errors (listed below due to the use of ICallBackEventHandler. Ultimately I...
10
2632
by: Christopher Benson-Manica | last post by:
Why can't I use a class destructor in a using declaration: using MyClass::~MyClass; ? -- Christopher Benson-Manica | I *should* know what I'm talking about - if I ataru(at)cyberspace.org ...
17
3481
by: beliavsky | last post by:
Many of my C++ programs have the line using namespace std; but the "Accelerated C++" book of Koenig and Moo has many examples where the library names are included one at a time, for example ...
8
4894
by: Petter Reinholdtsen | last post by:
I ran into a problem on HP-UX 11.00 the other day, where it refused to compile a program using 'using namespace std;' at the top. The reason seem to be that the compiler refuses to accept 'using...
14
2125
by: john.burton.email | last post by:
I've done some extensive searching and can't seem to find an answer to this - Is it correct to using "using" with templates, for example: using std::vector; Or do I need to specify the type...
5
5687
by: Enos Meroka | last post by:
Hallo, I am a student doing my project in the university.. I have been trying to compile the program using HP -UX aCC compiler, however I keep on getting the following errors. ...
12
3354
by: Calum Grant | last post by:
In older C++ computer books, you'll often see using namespace std; even in my 1996 copy of Stroustrup. Nowadays, it seems to be considered better to qualify names to make it clearer what...
3
8210
by: JDeats | last post by:
I have some .NET 1.1 code that utilizes this technique for encrypting and decrypting a file. http://support.microsoft.com/kb/307010 In .NET 2.0 this approach is not fully supported (a .NET 2.0...
0
7223
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7319
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7376
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
7031
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7485
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
1
5042
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
1542
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
760
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
412
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.