[dak/master] daklib/config.py: allow additional configuration files for specific groups
---
daklib/config.py | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/daklib/config.py b/daklib/config.py
index c79582c..99b84dd 100755
--- a/daklib/config.py
+++ b/daklib/config.py
@@ -28,6 +28,7 @@ Config access class
################################################################################
+import grp
import os
import apt_pkg
import socket
@@ -76,6 +77,19 @@ class Config(object):
if conffile:
apt_pkg.read_config_file_isc(self.Cnf, conffile)
+ # Read group-specific options
+ if 'ByGroup' in self.Cnf:
+ bygroup = self.Cnf.subtree('ByGroup')
+ groups = set([os.getgid()])
+ groups.update(os.getgroups())
+
+ for group in bygroup.list():
+ gid = grp.getgrnam(group).gr_gid
+ if gid in groups:
+ if bygroup.get(group):
+ apt_pkg.read_config_file_isc(self.Cnf, bygroup[group])
+ break
+
# Rebind some functions
# TODO: Clean this up
self.get = self.Cnf.get
--
1.7.2.5
Reply to: