[Dev] ContentModel, Calendar, Contacts, etc. reorganization/flattening

Alec Flett alecf at osafoundation.org
Thu Jul 28 10:36:01 PDT 2005


Phillip J. Eby wrote:
> One of the 0.6 developer platform goals is to flatten our Python 
> package hierarchy a bit,
>

This is really great - I've been looking forward to this kind of change 
for a while. The only thing I see that I'd like changed slightly from 
your list is this:
> osaf.contentmodel.calendar.Calendar.*   -> osaf.pim.calendar.*
> osaf.contentmodel.calendar.Recurrence.* -> osaf.pim.recurrence.*
Recurrence is really part of the Calendar and the filename split is 
really just to break apart the logic within the module. Ideally we'd 
have osaf.pim.calendar.CalendarEventMixin, 
osaf.pim.calendar.RecurrenceRuleSet, and so forth. Is there an obvious 
convention in python (like import * from... inside of __init__.py) to 
allow this to happen while still letting Calendar.py and Recurrence.py 
remain seperate files within the osaf.pim.calendar module?

On a related note, why osaf.pim? why not just "chandler"? I'm guessing 
the argument is that you could reuse these objects outside of chandler, 
which seems nice.. though even the osaf prefix seems superfluous to me..

So on a related note, I'd like to propose some future renames after 
you're done with this one
 (and maybe you've already thought about this)

osaf.views.main -> chandler (in this case, this really is the chandler 
product)
osaf.framework.blocks -> cpia or cpia.blocks (break cpia out from being 
a chandler-only thing)
osaf.framework.attributeEditors -> cpia.attributeEditors (or 
cpia.attributeeditors?)
osaf.framework.twisted -> chandler.twisted
osaf.framework.scripting -> cpia.script
osaf.app -> chandler


Alec




More information about the Dev mailing list