From 671b464456d9f73e585e07a8c68301eb29934c84 Mon Sep 17 00:00:00 2001 From: Konstantin Stepanov Date: Tue, 21 Dec 2010 20:57:07 +0200 Subject: [PATCH] parse config dirs and files transparently --- dbuscron/parser.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/dbuscron/parser.py b/dbuscron/parser.py index f31d3ee..92b2708 100644 --- a/dbuscron/parser.py +++ b/dbuscron/parser.py @@ -44,7 +44,19 @@ class CrontabParserError(SyntaxError): SyntaxError.__init__(self, msg) -class CrontabParser(object): +def CrontabParser(filename): + if os.path.isfile(filename): + parser_class = FileParser + + elif os.path.isdir(filename): + parser_class = DirectoryParser + + else: + raise SystemError("I can parse only directories or simple files.") + + return parser_class(filename) + +class FileParser(object): __fields_sep = re.compile(r'\s+') __envvar_sep = re.compile(r'\s*=\s*') __fields_chk = { -- 1.7.9.5