diff --git a/wiki/macro/PagesPerso.py b/wiki/macro/PagesPerso.py index be2a512b..503cf5aa 100644 --- a/wiki/macro/PagesPerso.py +++ b/wiki/macro/PagesPerso.py @@ -8,6 +8,13 @@ import os import psycopg2 +_conn = None +def _get_conn(): + global _conn + if not _conn: + _conn = psycopg2.connect(database="django", user="crans_ro", host="pgsql.adm.crans.org") + return _conn + class AccountList: home = "/home" www = "www" @@ -18,12 +25,8 @@ class AccountList: def comptes(self): """Retourne la liste des comptes""" -# return filter(lambda x: os.path.isdir(u"/home/%s/www" % x) and not os.path.islink(u"/home/%s/www" % x), -# os.listdir(u"/home/mail")) - ### ^^^^^^ le code m'a tuer, trace de mooo - #Désormais, seuls les pages perso qui sont dans la base sont référencées. - con = psycopg2.connect(database="django", user="crans", host="pgsql.adm.crans.org") + con = _get_conn() cur = con.cursor() cur.execute("SELECT login FROM pageperso_pageperso") return cur.fetchall() @@ -76,12 +79,7 @@ class Account: if self._info == None: self._info = dict() - if not Account._connexion: -# con = psycopg2.connect(database="intranet-dev", user="dev", password="verysecure", host="vo.v4.adm.crans.org",port="5432") - con = psycopg2.connect(database="django", user="crans", host="pgsql.adm.crans.org") - Account._connexion = con - else: - con = Account._connexion + con = _get_conn() cur = con.cursor() cur.execute("SELECT * FROM pageperso_pageperso WHERE login='%s' " % self.login ) data = cur.fetchall()