#!/bin/usr/env python # -*- coding: utf-8 -*- import sql, rdf, json, apache_vhost class adminsite: db = None def __init__(self, db): self.db = db def add_domain(self, id_user, domain): return self.db.add_domain(id_user, domain) def del_domain(self, id_domain): return self.db.del_domain_by_id(id_domain) def get_rdf_sites_of_user_id(self, user_id): r = rdf.rdf( "all-domains-site" ) for a in self.db.get_domains_by_id_user(user_id): x = rdf.rdf(a["domain"], a) for b in self.db.get_infos_sites_by_domain(a['id']): y = rdf.rdf(b["site"], b) x.append(y) r.append(x) return r.toXML("http://lapinator.net") def get_json_of_site_by_id(self, id_site): return json.write(self.db.get_site_by_id_site(id_site)) def add_site_by_id_domain(self, id_domain, site): infos = self.db.get_infos_sites_by_domain(id_domain) for s in infos: if site == s['site']: return self.db.add_site_by_id_domain(int(id_domain), site) return def upd_site_by_json(self,id_site,jsonx): d = json.read(jsonx) s = self.db.get_site_by_id_site(int(id_site)) #print s[0]['site'] #print d return self.db.upd_site_by_id_site( int(id_site), s[0]['site'], d['valid'], d['bind'], d['port'], d['serveradmin'], d['serveralias'], d['options1'], d['options2'], d['options_all'], d['options_execcgi'], d['options_followsymlinks'], d['options_includes'], d['options_includesnoexec'], d['options_indexes'], d['options_multiviews'], d['allowoverride'], d['engine'], d['register_globals'], d['magic_quotes_gpc'], d['short_open_tag'], d['disable_functions'], d['disable_classes'], d['max_execution_time'], d['max_input_time'], d['memory_limit'], d['post_max_size'], d['file_uploads'], d['upload_max_filesize'], d['display_errors'], d['allow_url_fopen'] ) def del_site_by_id(self, id_site): self.db.del_site_by_id_site(int(id_site)) return def get_vhost(self,id_domain): vhost = apache_vhost.apache_vhost(self.db) return vhost.gen_vhost(id_domain) if __name__ == "__main__": # db test init db = sql.create_fake_data() x = adminsite(db) #print x.get_rdf_sites_of_user_id(1) print x.get_json_of_site_by_id(1);