def check_periodic_wildcards(self, job):
    'Raise an exception if a wildcard of the given job appears to be periodic,\n        indicating a cyclic dependency.'
    for (wildcard, value) in job.wildcards_dict.items():
        periodic_substring = self.periodic_wildcard_detector.is_periodic(value)
        if (periodic_substring is not None):
            raise PeriodicWildcardError('The value {} in wildcard {} is periodically repeated ({}). This would lead to an infinite recursion. To avoid this, e.g. restrict the wildcards in this rule to certain values.'.format(periodic_substring, wildcard, value), rule=job.rule)
Raise an exception if a wildcard of the given job appears to be periodic,
indicating a cyclic dependency.
def check_periodic_wildcards(self, job):
    'Raise an exception if a wildcard of the given job appears to be periodic,\n        indicating a cyclic dependency.'
    for (wildcard, value) in job.wildcards_dict.items():
        periodic_substring = self.periodic_wildcard_detector.is_periodic(value)
        if (periodic_substring is not None):
            raise PeriodicWildcardError('The value {} in wildcard {} is periodically repeated ({}). This would lead to an infinite recursion. To avoid this, e.g. restrict the wildcards in this rule to certain values.'.format(periodic_substring, wildcard, value), rule=job.rule)