diff options
author | gbrandl <devnull@localhost> | 2006-10-19 20:27:28 +0200 |
---|---|---|
committer | gbrandl <devnull@localhost> | 2006-10-19 20:27:28 +0200 |
commit | f4d019954468db777760d21f9243eca8b852c184 (patch) | |
tree | 328b8f8fac25338306b0e7b827686dcc7597df23 /pygments/util.py | |
download | pygments-f4d019954468db777760d21f9243eca8b852c184.tar.gz |
[svn] Name change, round 4 (rename SVN root folder).
Diffstat (limited to 'pygments/util.py')
-rw-r--r-- | pygments/util.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/pygments/util.py b/pygments/util.py new file mode 100644 index 00000000..65261964 --- /dev/null +++ b/pygments/util.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +""" + pygments.util + ~~~~~~~~~~~~ + + Utility functions. + + :copyright: 2006 by Georg Brandl. + :license: GNU LGPL, see LICENSE for more details. +""" + + +class OptionError(Exception): + pass + + +def get_bool_opt(options, optname, default=None): + string = options.get(optname, default) + if isinstance(string, bool): + return string + elif string.lower() in ('1', 'yes', 'true', 'on'): + return True + elif string.lower() in ('0', 'no', 'false', 'off'): + return False + else: + raise OptionError('Invalid value %r for option %s; use ' + '1/0, yes/no, true/false, on/off' % + string, optname) + + +def get_int_opt(options, optname, default=None): + string = options.get(optname, default) + try: + return int(string) + except ValueError: + raise OptionError('Invalid value %r for option %s; you ' + 'must give an integer value' % + string, optname) + + +def get_list_opt(options, optname, default=None): + val = options.get(optname, default) + if isinstance(val, basestring): + return val.split() + elif isinstance(val, (list, tuple)): + return list(val) + else: + raise OptionError('Invalid value %r for option %s; you ' + 'must give a list value' % + val, optname) |