I'm writing a suite of data processing scripts with this layout
Data/Vendor/A/proc.py
Data/Vendor/B/proc.py
Etc, etc
Now, I started down the road of having a global config file in
Data/Vendor/Global.ini and a per-vendor local config file in
Data/Vendor/A/Local.ini
But then I realized that I hate any and all mini-languages. I hate embedded
templating languages for dynamic HTML generation (I prefer DOM). And I now
hate mucking about with configuration systems. I prefer language and library
over shortcut mini-languages in this case as well.
Thus, instead of using a merge() operation between the global and local, I
want to have a base class for configuration to replace Global.ini and I want
to extend it in each vendor. To wit:
class config:
def ftpserver(): "generalftp.com"
In vendor, extending base class
class config(config):
def ftpserver(): "specificftp.com"
And in my code, I want to have:
import config # imported from Data/Vendor/A/config.py
# which extends Data/Vendor/config.py
c = config() # merged config
ftp = FTP(c.ftpserver()) # "specificftp.com"
So my big problem is how to make each local config available to each local
proc.py. I've thought of some approaches:
* alias python to dataproc and make this a shell script with extends
PYTHONPATH before calling proc.py
* use a setup.py in each directory and install them in site-packages
* Some deep magic line that parses __file__ and adds to PYTHONPATH
Any feedback on how to do this is appreciated.
_______________________________________________
Tutor maillist - [email protected]
http://mail.python.org/mailman/listinfo/tutor