I have generally used python for tasks that are scripty and not
appish. I have found that I don't know the language very well even
though I have been scripting with it for about two years. To remedy
this I am in the process of laying out a mock up for an accounting
system (GL, AR, AP). This is the first time I have done modules inside
packages and I am confused about namespaces.
What I have is a folder structure that looks like this:
root
++ Common
++ AP
++ AR
++ GL
Each subfolder looks like:
++ Common
++++ __init__.py
++++ sobjs.py (this contains sqlobjects for the domain)
++++ validators.py (contains formencode validators for the sqlobjects
for the domain)
++++ exceptions.py
++++ folder: view (this will be templates)
++++ folder: search (this will contain controllers for lookups)
++++ folder: transact (this will contain controllers for creating transactions)
++++ folder: maintain (contains folders for maintaining domain objects
(ie customer maintenance or anything that isn't a busness transaction)
In the __init__ file I import sobjs, exceptions, validators and I will
eventually check to see that the user is supposed to be in that
domain.
You may laready see what the problem is. When I import Common from the
script running in the root folder and it runs init all of themodules
in the domain (common, GL) package that get imported by __init__have
no ancesters in their name spaces (is that the correct term?). What I
wanted was root/common/sobjs.py as common.sobjs not just sobjs.
Am I totally confused here?
Is there some place that I could go that has better doccumentation on
settig up namespaces for large python projects?
Thanks tutors!
--
***********************************
See there, that wasn't so bad.
***********************************