From: Vincent Le Gallic Date: Sat, 15 Feb 2014 23:59:15 +0000 (+0100) Subject: On généralise load_channels à un load de n'importe quel fichier de conf X-Git-Url: http://gitweb.pimeys.fr/?p=today.git;a=commitdiff_plain;h=4ae5fb290a01ab80b4315a1468aea9b84453797a On généralise load_channels à un load de n'importe quel fichier de conf Va servir pour les tumblrs par exemple --- diff --git a/serverconfig.py b/serverconfig.py index d066764..c607f1f 100644 --- a/serverconfig.py +++ b/serverconfig.py @@ -15,3 +15,16 @@ youtube_channels_file = "youtube_channels" #: Path du directory du module de gestion des quotes DTC dtc_path = "/home/vincent/scripts/dtc/" + +def load_file(filename): + """Récupère le contenu d'un fichier de conf tab-séparé.""" + with open(filename) as f: + # On récupère toutes les lignes, mais sans leur \n + items = [l.strip("\n") for l in f.readlines()] + # On enlève les lignes vides et celles de commentaire + items = [l for l in items if not (l.startswith("#") or l.strip() == "")] + # On splite sur les tab + items = [l.split("\t") for l in items] + # Il peut y avoir plusieurs tabulations de suite, donc on enlève les chaînes vides + items = [[i for i in l if not i == ''] for l in items] + return items diff --git a/youtube.py b/youtube.py index 1f30801..dfee995 100644 --- a/youtube.py +++ b/youtube.py @@ -37,18 +37,6 @@ def parse_youtube(username, regexp=None, length=False): titles = len(titles) return titles -def load_channels(): - """Récupère les chaînes à surveiller à partir du fichier de conf.""" - with open(serverconfig.youtube_channels_file) as f: - channels = [l.strip("\n") for l in f.readlines()] - channels = [l for l in channels if not (l.startswith("#") or l.strip() == "")] - channels = [l.split("\t") for l in channels] - # Il peut y avoir plusieurs tabulations de suite, donc on enlève les chaînes vides - channels = [[i for i in l if not i == ''] for l in channels] - # [id, username, regexp] - # channels = [{"id" : l[0], "username" : l[1], "regexp" : l[2]} for l in channels] - return channels - def get_parser(username, regexp=None): """ Renvoie un parseur de chaîne youtube prêt à être appelé """ @@ -56,5 +44,5 @@ def get_parser(username, regexp=None): return parse_youtube(username, regexp, length=True) return local_parser -channels = load_channels() +channels = serverconfig.load_file(serverconfig.youtube_channels_file) functions = {id : get_parser(username, regexp) for (id, username, regexp) in channels}