From 4ae5fb290a01ab80b4315a1468aea9b84453797a Mon Sep 17 00:00:00 2001 From: Vincent Le Gallic Date: Sun, 16 Feb 2014 00:59:15 +0100 Subject: [PATCH] =?utf8?q?On=20g=C3=A9n=C3=A9ralise=20load=5Fchannels=20?= =?utf8?q?=C3=A0=20un=20load=20de=20n'importe=20quel=20fichier=20de=20conf?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Va servir pour les tumblrs par exemple --- serverconfig.py | 13 +++++++++++++ youtube.py | 14 +------------- 2 files changed, 14 insertions(+), 13 deletions(-) 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} -- 2.39.2