generate a configuration file automatically from configfile.py

(this one was for Cartman ;).
This commit is contained in:
Barış Metin
2006-06-01 08:29:57 +00:00
parent ea53d9dd0e
commit 1302904032
+28
View File
@@ -15,6 +15,7 @@ import os
import shutil import shutil
import glob import glob
import sys import sys
import inspect
from distutils.core import setup from distutils.core import setup
from distutils.command.install import install from distutils.command.install import install
@@ -29,6 +30,7 @@ class Install(install):
install.run(self) install.run(self)
self.installi18n() self.installi18n()
self.installdoc() self.installdoc()
self.generateConfigFile()
def installi18n(self): def installi18n(self):
for lang in i18n_languages.split(' '): for lang in i18n_languages.split(' '):
@@ -55,6 +57,32 @@ class Install(install):
shutil.copy(pdf, os.path.join(destpath, pdf)) shutil.copy(pdf, os.path.join(destpath, pdf))
os.chdir('..') os.chdir('..')
def generateConfigFile(self):
import pisi.configfile
destpath = os.path.join(self.root, "etc/pisi/")
try:
os.makedirs(destpath)
except:
pass
pisiconf = open(os.path.join(destpath, "pisi.conf"), "w")
klasses = inspect.getmembers(pisi.configfile, inspect.isclass)
defaults = [klass for klass in klasses if klass[0].endswith('Defaults')]
for d in defaults:
section_name = d[0][:-len('Defaults')].lower()
pisiconf.write("[%s]\n" % section_name)
section_members = [m for m in inspect.getmembers(d[1]) \
if not m[0].startswith('__') \
and not m[0].endswith('__')]
for member in section_members:
pisiconf.write("# %s = %s\n" % (member[0], member[1]))
pisiconf.write('\n')
setup(name="pisi", setup(name="pisi",
version= pisi.__version__, version= pisi.__version__,
description="PISI (Packages Installed Successfully as Intended)", description="PISI (Packages Installed Successfully as Intended)",