How to use the setoptconf.datatype.Choice function in setoptconf

To help you get started, we’ve selected a few setoptconf examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github PyCQA / prospector / prospector / config / datatype.py View on Github external
import re
import os
import sys

from setoptconf.datatype import Choice


class OutputChoice(Choice):
    def sanitize(self, value):
        parsed = re.split(r'[;:]', value)
        output_format, output_targets = parsed[0], parsed[1:]
        checked_targets = []
        for i, target in enumerate(output_targets):
            if sys.platform.startswith('win') and target.startswith((os.path.sep, os.path.altsep)):
                checked_targets[-1] += ':'+target
            else:
                checked_targets.append(target)
        validated_format = super(OutputChoice, self).sanitize(output_format)
        return (validated_format, checked_targets)