From: Konstantin Stepanov Date: Tue, 21 Dec 2010 18:57:07 +0000 (+0200) Subject: parse config dirs and files transparently X-Git-Tag: v1.5.0~17 X-Git-Url: https://vcs.maemo.org/git/?p=dbuscron;a=commitdiff_plain;h=671b464456d9f73e585e07a8c68301eb29934c84 parse config dirs and files transparently --- 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 = {