def _add_event(self, instance, action): event = Event(target_id=instance.id, action='domain_'+action) try: event.user_id = session['user'].id except: pass Session.add(event)
def __call__(self, environ, start_response): """Invoke the Controller""" # WSGIController.__call__ dispatches to the Controller method # the request is routed to. This routing information is # available in environ['pylons.routes_dict'] try: return WSGIController.__call__(self, environ, start_response) finally: Session.remove()
def update_zones_config(self): f = open(config['named.zones_config'], "w") for domain in Session.query(Domain).all(): text = "zone " + domain.name + " {\n" text += " type " + domain.type + ";\n" text += " file \"zones/" + domain.name + "\";\n" text += "};\n\n" f.write(text) f.close()
def setup_app(command, conf, vars): """Place any commands to setup bind_config_manager here""" # Don't reload the app if it was loaded under the testing environment if not pylons.test.pylonsapp: load_environment(conf.global_conf, conf.local_conf) # Create the tables if they don't already exist Base.metadata.create_all(bind=Session.bind) #################### # load initial data #################### from bind_config_manager.model import User, Domain, Record, Event import hashlib Session.query(User).delete() Session.query(Record).delete() Session.query(Domain).delete() Session.query(Event).delete() u = User(username='******', password='******', is_admin=True, is_active=True) Session.add(u) u = User(username='******', password='******', is_admin=False, is_active=True) Session.add(u) d = Domain('master', 'example.com', 'ns1.example.com.', 'hostmaster.example.com.') Session.add(d) Session.commit() Session.add_all([ Record(d.id, 'NS', '@', 'ns1.example.com.'), Record(d.id, 'NS', '@', 'ns2.example.com.'), Record(d.id, 'MX', '@', 'mail.example.com.', priority=10), Record(d.id, 'MX', '@', 'mail2.example.com.', priority=20), Record(d.id, 'A', '@', '192.168.10.10'), Record(d.id, 'A', 'ns1', '192.168.1.10'), Record(d.id, 'A', 'ns2', '192.168.1.20'), Record(d.id, 'A', 'mail', '192.168.2.10'), Record(d.id, 'A', 'mail2', '192.168.2.20'), Record(d.id, 'A', 'www2', '192.168.10.20'), Record(d.id, 'CNAME', 'www', '@'), Record(d.id, 'CNAME', 'ftp', '@'), Record(d.id, 'CNAME', 'webmail', '@'), ]) d = Domain('master', '0.0.127.in-addr.arpa', 'ns1.linux.bogus.', 'hostmaster.linux.bogus.') Session.add(d) Session.commit() Session.add_all([ Record(d.id, 'NS', '@', 'ns.linux.bogus.'), Record(d.id, 'PTR', '1', 'localhost.'), ]) Session.commit()
def target(self): if re.match(r'domain', self.action): return Session.query(Domain).filter_by(id=self.target_id).first() if re.match(r'record', self.action): return Session.query(Record).filter_by(id=self.target_id).first() return None
def init_model(engine): """Call me before using any of the tables or classes in the model""" Session.configure(bind=engine)
def _find_domain(self, id): return Session.query(Domain).filter_by(id=id).first()