# -*- coding: UTF-8 -*- # Copyright © 2010-2012 Piotr Ożarowski <piotr@debian.org> # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. import re import optparse from copy import copy from debpython.version import parse_vrange def parse_version_range(option, opt, value): try: return parse_vrange(value) except ValueError: raise optparse.OptionValueError("version range is invalid: %s" % value) def compile_regexpr(option, opt, value): try: pattern = re.compile(value) except Exception: raise optparse.OptionValueError('regular expression is not valid') return pattern class Option(optparse.Option): TYPES = optparse.Option.TYPES + ('version_range', 'regexpr') TYPE_CHECKER = copy(optparse.Option.TYPE_CHECKER) TYPE_CHECKER['version_range'] = parse_version_range TYPE_CHECKER['regexpr'] = compile_regexpr
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__init__.py | File | 0 B | 0644 |
|
__init__.pyc | File | 126 B | 0644 |
|
debhelper.py | File | 8.62 KB | 0644 |
|
debhelper.pyc | File | 6.06 KB | 0644 |
|
depends.py | File | 7.04 KB | 0644 |
|
depends.pyc | File | 5.6 KB | 0644 |
|
files.py | File | 2.98 KB | 0644 |
|
files.pyc | File | 2.61 KB | 0644 |
|
namespace.py | File | 5.96 KB | 0644 |
|
namespace.pyc | File | 4.2 KB | 0644 |
|
option.py | File | 1.84 KB | 0644 |
|
option.pyc | File | 1.21 KB | 0644 |
|
pydist.py | File | 10.16 KB | 0644 |
|
pydist.pyc | File | 8.88 KB | 0644 |
|
tools.py | File | 9.9 KB | 0644 |
|
tools.pyc | File | 8.85 KB | 0644 |
|
version.py | File | 9.52 KB | 0644 |
|
version.pyc | File | 10.72 KB | 0644 |
|