# Distribution bits

exception dput.hooks.distribution.BadDistributionError

  Subclass of the `dput.exceptions.HookException`.

  Thrown if the `allowed-distribution` checker encounters an issue.

exception dput.hooks.distribution.SuiteMismatchError

  Subclass of the `dput.exceptions.HookException`.

  Thrown if the `suite-mismatch` checker encounters an issue.

dput.hooks.distribution.check_allowed_distribution(changes, profile, interface)

  The `allowed-distribution` checker is a stock dput checker that checks packages intended for upload for a valid upload distribution.

  Profile key: none

  Example profile:

      {
          ...
          "allowed_distributions": "(?!UNRELEASED)",
          "distributions": ["unstable", "testing"],
          "disallowed_distributions": []
          ...
      }

  The allowed_distributions key is in Python `re` syntax.

dput.hooks.distribution.check_distribution_matches(changes, profile, interface)

  The `suite-mismatch` checker is a stock dput checker that checks packages intended for upload for matching Distribution and last Changelog target.

  Profile key: none

  This checker simply verified that the Changes’ Distribution key matches the last changelog target. If the mixup is between experimental and unstable, it’ll remind you to pass `-c unstable -d experimental` to sbuild.

dput.hooks.distribution.check_protected_distributions(changes, profile, interface)

  The `protected distributions` checker is a stock dput checker that makes sure, users intending an upload for a special care archive ( testing-proposed-updates, stable-security, etc.) did really follow the archive policies for that.

  Profile key: none