bind-cfgd.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import ISC
  2. class ConfigData:
  3. def __init__(self):
  4. self.zones = {}
  5. def add_zone(self, zone_name, zone_file):
  6. self.zones[zone_name] = zone_file
  7. def remove_zone(self, zone_name):
  8. del self.zones[zone_name]
  9. class ConfigManager:
  10. def __init__(self):
  11. self.cc = ISC.CC.Session()
  12. self.cc.group_subscribe("ConfigManager")
  13. self.config = ConfigData()
  14. def notify_boss(self):
  15. self.cc.group_sendmsg({"Running": "ConfigManager"}, "Boss")
  16. def read_config(self, filename):
  17. pass
  18. def write_config(self, filename):
  19. pass
  20. def run(self):
  21. while (True):
  22. env, msg = self.cc.group_recvmsg(False)
  23. print "message: "
  24. print msg
  25. pass
  26. if __name__ == "__main__":
  27. print "Hello, BIND10 world!"
  28. try:
  29. cm = ConfigManager()
  30. # do loading here if necessary
  31. cm.notify_boss()
  32. cm.run()
  33. except ISC.CC.SessionError, se:
  34. print "Error creating config manager, "\
  35. "is the command channel daemon running?"