# Path: src/splunklib/searchcommands/internals.py
# class CommandLineParser(object):
# class ConfigurationSettingsType(type):
# class CsvDialect(csv.Dialect):
# class InputHeader(dict):
# class MetadataDecoder(JSONDecoder):
# class MetadataEncoder(JSONEncoder):
# class ObjectView(object):
# class Recorder(object):
# class RecordWriter(object):
# class RecordWriterV1(RecordWriter):
# class RecordWriterV2(RecordWriter):
#     def parse(cls, command, argv):
#     def unquote(cls, string):
#         def replace(match):
#     def __new__(mcs, module, name, bases):
#     def __init__(cls, module, name, bases):
#     def validate_configuration_setting(specification, name, value):
#     def __str__(self):
#     def read(self, ifile):
#     def __init__(self):
#     def _object_hook(dictionary):
#     def __init__(self):
#     def default(self, o):
#     def __init__(self, dictionary):
#     def __repr__(self):
#     def __str__(self):
#     def __init__(self, path, f):
#     def __getattr__(self, name):
#     def __iter__(self):
#     def read(self, size=None):
#     def readline(self, size=None):
#     def record(self, *args):
#     def write(self, text):
#     def __init__(self, ofile, maxresultrows=None):
#     def is_flushed(self):
#     def is_flushed(self, value):
#     def ofile(self):
#     def ofile(self, value):
#     def flush(self, finished=None, partial=None):
#     def write_message(self, message_type, message_text, *args, **kwargs):
#     def write_record(self, record):
#     def write_records(self, records):
#     def _clear(self):
#     def _ensure_validity(self):
#     def _write_record(self, record):
#         def _default(o):
#     def flush(self, finished=None, partial=None):
#     def flush(self, finished=None, partial=None):
#     def write_metadata(self, configuration):
#     def write_metric(self, name, value):
#     def _clear(self):
#     def _write_chunk(self, metadata, body):
# 
# Path: src/splunklib/searchcommands/validators.py
# class OptionName(Validator):
#     """ Validates option names.
# 
#     """
#     pattern = re.compile(r'''(?=\w)[^\d]\w*$''', re.UNICODE)
# 
#     def __call__(self, value):
#         if value is not None:
#             value = unicode(value)
#             if OptionName.pattern.match(value) is None:
#                 raise ValueError('Illegal characters in option name: {}'.format(value))
#         return value
# 
#     def format(self, value):
#         return None if value is None else unicode(value)


from collections import OrderedDict  # must be python 2.7
from inspect import getmembers, isclass, isfunction
from itertools import imap
from .internals import ConfigurationSettingsType, json_encode_string
from .validators import OptionName
                continue

            if setting.fset is None:
                raise ValueError('The value of configuration setting {} is fixed'.format(name))

            setattr(cls, backing_field_name, validate(specification, name, value))
            del values[name]

        if len(values) > 0:
            settings = sorted(list(values.iteritems()))
            settings = imap(lambda (n, v): '{}={}'.format(n, repr(v)), settings)
            raise AttributeError('Inapplicable configuration settings: ' + ', '.join(settings))

        cls.configuration_setting_definitions = definitions

    def _copy_extra_attributes(self, other):
        other._readonly = self._readonly
        other._value = self._value
        other._name = self._name
        return other

    def _get_specification(self):

        name = self._name

        try:
            specification = ConfigurationSettingsType.specification_matrix[name]
        except KeyError:
            raise AttributeError('Unknown configuration setting: {}={}'.format(name, repr(self._value)))


# Path: src/splunklib/searchcommands/internals.py
# class CommandLineParser(object):
# class ConfigurationSettingsType(type):
# class CsvDialect(csv.Dialect):
# class InputHeader(dict):
# class MetadataDecoder(JSONDecoder):
# class MetadataEncoder(JSONEncoder):
# class ObjectView(object):
# class Recorder(object):
# class RecordWriter(object):
# class RecordWriterV1(RecordWriter):
# class RecordWriterV2(RecordWriter):
#     def parse(cls, command, argv):
#     def unquote(cls, string):
#         def replace(match):
#     def __new__(mcs, module, name, bases):
#     def __init__(cls, module, name, bases):
#     def validate_configuration_setting(specification, name, value):
#     def __str__(self):
#     def read(self, ifile):
#     def __init__(self):
#     def _object_hook(dictionary):
#     def __init__(self):
#     def default(self, o):
#     def __init__(self, dictionary):
#     def __repr__(self):
#     def __str__(self):
#     def __init__(self, path, f):
#     def __getattr__(self, name):
#     def __iter__(self):
#     def read(self, size=None):
#     def readline(self, size=None):
#     def record(self, *args):
#     def write(self, text):
#     def __init__(self, ofile, maxresultrows=None):
#     def is_flushed(self):
#     def is_flushed(self, value):
#     def ofile(self):
#     def ofile(self, value):
#     def flush(self, finished=None, partial=None):
#     def write_message(self, message_type, message_text, *args, **kwargs):
#     def write_record(self, record):
#     def write_records(self, records):
#     def _clear(self):
#     def _ensure_validity(self):
#     def _write_record(self, record):
#         def _default(o):
#     def flush(self, finished=None, partial=None):
#     def flush(self, finished=None, partial=None):
#     def write_metadata(self, configuration):
#     def write_metric(self, name, value):
#     def _clear(self):
#     def _write_chunk(self, metadata, body):
# 
# Path: src/splunklib/searchcommands/validators.py
# class OptionName(Validator):
#     """ Validates option names.
# 
#     """
#     pattern = re.compile(r'''(?=\w)[^\d]\w*$''', re.UNICODE)
# 
#     def __call__(self, value):
#         if value is not None:
#             value = unicode(value)
#             if OptionName.pattern.match(value) is None:
#                 raise ValueError('Illegal characters in option name: {}'.format(value))
#         return value
# 
#     def format(self, value):
#         return None if value is None else unicode(value)


# Path: src/splunklib/searchcommands/decorators.py
from collections import OrderedDict  # must be python 2.7
from inspect import getmembers, isclass, isfunction
from itertools import imap
from .internals import ConfigurationSettingsType, json_encode_string
from .validators import OptionName

                continue

            if setting.fset is None:
                raise ValueError('The value of configuration setting {} is fixed'.format(name))

            setattr(cls, backing_field_name, validate(specification, name, value))
            del values[name]

        if len(values) > 0:
            settings = sorted(list(values.iteritems()))
            settings = imap(lambda (n, v): '{}={}'.format(n, repr(v)), settings)
            raise AttributeError('Inapplicable configuration settings: ' + ', '.join(settings))

        cls.configuration_setting_definitions = definitions

    def _copy_extra_attributes(self, other):
        other._readonly = self._readonly
        other._value = self._value
        other._name = self._name
        return other

    def _get_specification(self):

        name = self._name

        try:
            specification = ConfigurationSettingsType.specification_matrix[name]
        except KeyError:
            raise AttributeError('Unknown configuration setting: {}={}'.format(name, repr(self._value)))


        return ConfigurationSettingsType.validate_configuration_setting, specification