Factorisation sauvage
darcs-hash:20060419152834-d1718-d44d8fe54836a5e4349c5f1d23550fe6f8bc4730.gz
This commit is contained in:
parent
fe232b7d20
commit
75d4c9b802
2 changed files with 25 additions and 88 deletions
|
@ -4,17 +4,22 @@ import os
|
|||
|
||||
class account:
|
||||
"""Classe représentant la page perso d'une personne"""
|
||||
|
||||
|
||||
home = "/home"
|
||||
www = "/www"
|
||||
|
||||
def __init__(self, login):
|
||||
"""Instanciation avec le `login' de la personne"""
|
||||
self.login = login
|
||||
self.home = "%s/%s" % (self.home, login)
|
||||
self.www = self.www
|
||||
|
||||
_info = None
|
||||
def info(self, champ):
|
||||
"""Retourne le contenu du champ `champ' dans le fichier info"""
|
||||
if self._info == None:
|
||||
try:
|
||||
lignes = file("/home/%s/.info" % self.login)
|
||||
lignes = file("%s/.info" % self.home)
|
||||
except IOError:
|
||||
lignes = []
|
||||
|
||||
|
@ -34,7 +39,7 @@ class account:
|
|||
|
||||
def chemin(self):
|
||||
"""Chemin vers le www"""
|
||||
return u"/home/%s/www" % self.login
|
||||
return u"%s%s" % (self.home, self.www)
|
||||
|
||||
def url(self):
|
||||
"""URL vers la page perso"""
|
||||
|
@ -44,11 +49,11 @@ class account:
|
|||
"""URL du logo s'il y en a un"""
|
||||
if self.info("logo"):
|
||||
# Le logo peut être en absolu ou en relatif
|
||||
if self.info("logo").startswith("/home/%s/www" % self.login):
|
||||
logo = self.info("logo").replace("/home/%s/www/" % self.login, "")
|
||||
if self.info("logo").startswith(self.chemin()):
|
||||
logo = self.info("logo").replace("%s/" % self.chemin(), "")
|
||||
else:
|
||||
logo = self.info("logo")
|
||||
if os.path.isfile("/home/%s/www/%s" % (self.login, logo)):
|
||||
if os.path.isfile("%s/%s" % (self.chemin(), logo)):
|
||||
return u"%s%s" % (self.url(), logo)
|
||||
return u"http://perso.crans.org/pageperso.png"
|
||||
|
||||
|
@ -65,12 +70,12 @@ class account:
|
|||
|
||||
def comptes():
|
||||
"""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"))
|
||||
|
||||
|
||||
def execute(macro, args):
|
||||
|
||||
# La liste des comptes :
|
||||
dirs = filter(lambda x: os.path.isdir(u"/home/%s/www" % x),
|
||||
os.listdir(u"/home"))
|
||||
dirs = comptes()
|
||||
dirs.sort()
|
||||
|
||||
html = u"""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue