# Path: dput/core.py
# CONFIG_LOCATIONS = {
#     "/usr/share/dput-ng/": 30,
#     "/etc/dput.d/": 20,
#     os.path.expanduser("~/.dput.d"): 10,
#     "skel/": 100
# }
# DPUT_CONFIG_LOCATIONS = {
#     "/etc/dput.cf": 15,
#     os.path.expanduser("~/.dput.cf"): 5
# }
# SCHEMA_DIRS = [
#     "/usr/share/dput-ng/schemas",
#     "skel/schemas"
# ]
# def _write_upload_log(logfile, full_log):
# def _enable_debugging(level):
# def mangle_sys():
# def maybe_print_traceback(debug_level, stack):
# def get_local_username():
# 
# Path: dput/exceptions.py
# class HookException(DputError):
#     """
#     Thrown when there's an error checking, or creating a checker. Usually
#     thrown by a checker invoked by :class:`dput.checker.run_hooks`.
#     """
#     pass


from dput.core import logger
from dput.exceptions import HookException
    from distro_info import (DebianDistroInfo, UbuntuDistroInfo,
                             DistroDataOutdated)

    Example profile::

        "required-fields": {
            ...
            "suites": "any-stable",
            "fields": ["Launchpad-Bugs-Fixed"],
            "skip": false
            ...
        }


    ``skip``    controls if the checker should drop out without checking
                for anything at all.

    ``fields``   This controls what we check for. Any fields present in this
                 list must be present and non-empty in the ```.changes``` file
                 being uploaded.

    ```suites``` This controls which target suites the check is active for. It
                 is a list containing suite names, or the special keywords
                 "any-stable" or "devel". If the field is missing or empty,
                 this check is active for all targets.
    """
    required_fields = profile.get('required-fields')
    if required_fields is None:
        logger.debug('Not running required-fields: empty')
        return

    if required_fields.get('skip', True):

# Path: dput/core.py
# CONFIG_LOCATIONS = {
#     "/usr/share/dput-ng/": 30,
#     "/etc/dput.d/": 20,
#     os.path.expanduser("~/.dput.d"): 10,
#     "skel/": 100
# }
# DPUT_CONFIG_LOCATIONS = {
#     "/etc/dput.cf": 15,
#     os.path.expanduser("~/.dput.cf"): 5
# }
# SCHEMA_DIRS = [
#     "/usr/share/dput-ng/schemas",
#     "skel/schemas"
# ]
# def _write_upload_log(logfile, full_log):
# def _enable_debugging(level):
# def mangle_sys():
# def maybe_print_traceback(debug_level, stack):
# def get_local_username():
# 
# Path: dput/exceptions.py
# class HookException(DputError):
#     """
#     Thrown when there's an error checking, or creating a checker. Usually
#     thrown by a checker invoked by :class:`dput.checker.run_hooks`.
#     """
#     pass


# Path: dput/hooks/distro_info_checks.py
from dput.core import logger
from dput.exceptions import HookException
    from distro_info import (DebianDistroInfo, UbuntuDistroInfo,
                             DistroDataOutdated)


    Example profile::

        "required-fields": {
            ...
            "suites": "any-stable",
            "fields": ["Launchpad-Bugs-Fixed"],
            "skip": false
            ...
        }


    ``skip``    controls if the checker should drop out without checking
                for anything at all.

    ``fields``   This controls what we check for. Any fields present in this
                 list must be present and non-empty in the ```.changes``` file
                 being uploaded.

    ```suites``` This controls which target suites the check is active for. It
                 is a list containing suite names, or the special keywords
                 "any-stable" or "devel". If the field is missing or empty,
                 this check is active for all targets.
    """
    required_fields = profile.get('required-fields')
    if required_fields is None:
        logger.debug('Not running required-fields: empty')
        return

    if required_fields.get('skip', True):

        logger.debug('Not running required-fields: skipped')