Throwing a debug in the failing code:

        # find the distro template
        for template in self.sourceslist.matcher.templates:
            print("Try '%s': self.is_codename(template.name) '%s' && self.id >> 
'%s' == '%s' << template.distribution" % (template.name, 
self.is_codename(template.name), self.id, template.distribution))
            if (self.is_codename(template.name) and
                    template.distribution == self.id):
                print("yeah! found a template")
                self.source_template = template
                break
        if self.source_template is None:
            raise NoDistroTemplateException(
                "Error: could not find a distribution template for %s/%s" %
                (self.id, self.codename))


Gives me:
Try 'bullseye': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Debian' << template.distribution
Try 'bullseye/updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Debian' << template.distribution
Try 'bullseye-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Debian' << template.distribution
Try 'bullseye-proposed-updates': self.is_codename(template.name) 'False' && 
self.id >> 'Ubuntu' == 'Debian' << template.distribution
Try 'buster': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Debian' << template.distribution
Try 'buster/updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Debian' << template.distribution
Try 'buster-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Debian' << template.distribution
Try 'buster-proposed-updates': self.is_codename(template.name) 'False' && 
self.id >> 'Ubuntu' == 'Debian' << template.distribution
Try 'stretch': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Debian' << template.distribution
Try 'stretch/updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Debian' << template.distribution
Try 'stretch-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Debian' << template.distribution
Try 'stretch-proposed-updates': self.is_codename(template.name) 'False' && 
self.id >> 'Ubuntu' == 'Debian' << template.distribution
Try 'jessie': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Debian' << template.distribution
Try 'jessie/updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Debian' << template.distribution
Try 'jessie-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Debian' << template.distribution
Try 'jessie-proposed-updates': self.is_codename(template.name) 'False' && 
self.id >> 'Ubuntu' == 'Debian' << template.distribution
Try 'wheezy': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Debian' << template.distribution
Try 'wheezy/updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Debian' << template.distribution
Try 'wheezy-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Debian' << template.distribution
Try 'wheezy-proposed-updates': self.is_codename(template.name) 'False' && 
self.id >> 'Ubuntu' == 'Debian' << template.distribution
Try 'squeeze': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Debian' << template.distribution
Try 'squeeze-proposed-updates': self.is_codename(template.name) 'False' && 
self.id >> 'Ubuntu' == 'Debian' << template.distribution
Try 'squeeze/updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Debian' << template.distribution
Try 'lenny': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Debian' << template.distribution
Try 'lenny-proposed-updates': self.is_codename(template.name) 'False' && 
self.id >> 'Ubuntu' == 'Debian' << template.distribution
Try 'lenny/updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Debian' << template.distribution
Try 'etch': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Debian' << template.distribution
Try 'etch-proposed-updates': self.is_codename(template.name) 'False' && self.id 
>> 'Ubuntu' == 'Debian' << template.distribution
Try 'etch/updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Debian' << template.distribution
Try 'sarge': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Debian' << template.distribution
Try 'sarge-proposed-updates': self.is_codename(template.name) 'False' && 
self.id >> 'Ubuntu' == 'Debian' << template.distribution
Try 'sarge/updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Debian' << template.distribution
Try 'stable': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Debian' << template.distribution
Try 'testing': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Debian' << template.distribution
Try 'sid': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Debian' << template.distribution
Try 'unstable': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Debian' << template.distribution
Try 'kali-rolling': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Kali' << template.distribution
Try 'kali-dev': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Kali' << template.distribution
Try 'kali-experimental': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Kali' << template.distribution
Try 'devel': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'devel': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'devel': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'devel': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'devel-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'devel-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'devel-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'devel-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'devel-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'devel-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'devel-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'devel-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'groovy': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'groovy': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'groovy': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'groovy': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'groovy-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'groovy-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'groovy-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'groovy-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'groovy-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'groovy-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'groovy-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'groovy-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'focal': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'focal': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'focal': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'focal': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'focal-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'focal-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'focal-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'focal-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'focal-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'focal-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'focal-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'focal-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'eoan': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'eoan': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'eoan': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'eoan': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'eoan-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'eoan-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'eoan-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'eoan-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'eoan-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'eoan-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'eoan-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'eoan-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'disco': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'disco': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'disco': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'disco': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'disco-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'disco-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'disco-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'disco-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'disco-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'disco-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'disco-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'disco-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'cosmic': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'cosmic': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'cosmic': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'cosmic': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'cosmic-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'cosmic-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'cosmic-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'cosmic-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'cosmic-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'cosmic-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'cosmic-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'cosmic-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'bionic': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'bionic': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'bionic': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'bionic': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'bionic-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'bionic-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'bionic-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'bionic-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'bionic-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'bionic-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'bionic-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'bionic-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'artful': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'artful': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'artful': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'artful': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'artful-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'artful-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'artful-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'artful-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'artful-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'artful-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'artful-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'artful-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'zesty': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'zesty': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'zesty': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'zesty': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'zesty-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'zesty-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'zesty-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'zesty-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'zesty-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'zesty-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'zesty-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'zesty-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'yakkety': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'yakkety': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'yakkety': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'yakkety': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'yakkety-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'yakkety-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'yakkety-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'yakkety-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'yakkety-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'yakkety-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'yakkety-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'yakkety-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'xenial': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'xenial': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'xenial': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'xenial': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'xenial-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'xenial-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'xenial-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'xenial-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'xenial-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'xenial-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'xenial-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'xenial-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'wily': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'wily': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'wily': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'wily': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'wily-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'wily-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'wily-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'wily-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'wily-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'wily-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'wily-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'wily-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'vivid': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'vivid': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'vivid': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'vivid': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'vivid': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'vivid-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'vivid-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'vivid-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'vivid-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'vivid-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'vivid-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'vivid-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'vivid-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'utopic': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'utopic': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'utopic': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'utopic': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'utopic': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'utopic-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'utopic-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'utopic-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'utopic-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'utopic-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'utopic-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'utopic-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'utopic-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'trusty': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'trusty': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'trusty': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'trusty': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'trusty': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'trusty-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'trusty-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'trusty-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'trusty-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'trusty-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'trusty-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'trusty-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'trusty-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'saucy': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'saucy': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'saucy': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'saucy': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'saucy': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'saucy-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'saucy-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'saucy-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'saucy-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'saucy-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'saucy-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'saucy-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'saucy-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'raring': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'raring': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'raring': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'raring': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'raring': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'raring-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'raring-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'raring-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'raring-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'raring-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'raring-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'raring-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'raring-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'quantal': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'quantal': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'quantal': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'quantal': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'quantal': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'quantal-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'quantal-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'quantal-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'quantal-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'quantal-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'quantal-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'quantal-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'quantal-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'precise': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'precise': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'precise': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'precise': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'precise': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'precise-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'precise-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'precise-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'precise-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'precise-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'precise-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'precise-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'precise-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'oneiric': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'oneiric': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'oneiric': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'oneiric': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'oneiric': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'oneiric-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'oneiric-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'oneiric-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'oneiric-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'oneiric-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'oneiric-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'oneiric-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'oneiric-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'natty': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'natty': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'natty': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'natty': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'natty': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'natty-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'natty-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'natty-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'natty-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'natty-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'natty-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'natty-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'natty-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'maverick': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'maverick': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'maverick': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'maverick': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'maverick-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'maverick-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'maverick-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'maverick-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'lucid': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'lucid': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'lucid-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'lucid-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'lucid-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'lucid-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'karmic': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'karmic': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'karmic-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'karmic-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'karmic-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'karmic-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'jaunty': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'jaunty': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'jaunty-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'jaunty-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'jaunty-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'jaunty-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'intrepid': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'intrepid': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Ubuntu' << template.distribution
Try 'intrepid-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'intrepid-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'intrepid-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'intrepid-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'hardy': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'hardy': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'hardy-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'hardy-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'hardy-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'hardy-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'gutsy': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'gutsy': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'gutsy-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'gutsy-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'gutsy-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'gutsy-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'feisty': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'feisty': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'feisty-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'feisty-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'feisty-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'feisty-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'edgy': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'edgy': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'edgy-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'edgy-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'edgy-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'edgy-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'dapper': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'dapper': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'dapper-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'dapper-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'dapper-proposed': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'dapper-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'breezy': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'breezy': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'breezy-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'breezy-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'breezy-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'hoary': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'hoary': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'hoary-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'hoary-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'hoary-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'warty': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'warty': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Ubuntu' << template.distribution
Try 'warty-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'warty-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'warty-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Ubuntu' << template.distribution
Try 'aequorea': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Tanglu' << template.distribution
Try 'aequorea-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Tanglu' << template.distribution
Try 'bartholomea': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Tanglu' << template.distribution
Try 'bartholomea-security': self.is_codename(template.name) 'False' && self.id 
>> 'Ubuntu' == 'Tanglu' << template.distribution
Try 'bartholomea-updates': self.is_codename(template.name) 'False' && self.id 
>> 'Ubuntu' == 'Tanglu' << template.distribution
Try 'tambora': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Blankon' << template.distribution
Try 'tambora': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Blankon' << template.distribution
Try 'tambora-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Blankon' << template.distribution
Try 'tambora-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Blankon' << template.distribution
Try 'suroboyo': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Blankon' << template.distribution
Try 'suroboyo': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Blankon' << template.distribution
Try 'suroboyo-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Blankon' << template.distribution
Try 'suroboyo-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Blankon' << template.distribution
Try 'rote': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Blankon' << template.distribution
Try 'rote': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Blankon' << template.distribution
Try 'rote-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Blankon' << template.distribution
Try 'rote-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Blankon' << template.distribution
Try 'pattimura': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Blankon' << template.distribution
Try 'pattimura': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Blankon' << template.distribution
Try 'pattimura-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Blankon' << template.distribution
Try 'pattimura-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Blankon' << template.distribution
Try 'ombilin': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Blankon' << template.distribution
Try 'ombilin': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Blankon' << template.distribution
Try 'ombilin-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Blankon' << template.distribution
Try 'ombilin-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Blankon' << template.distribution
Try 'nanggar': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Blankon' << template.distribution
Try 'nanggar': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Blankon' << template.distribution
Try 'nanggar-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Blankon' << template.distribution
Try 'nanggar-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Blankon' << template.distribution
Try 'meuligoe': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Blankon' << template.distribution
Try 'meuligoe': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Blankon' << template.distribution
Try 'meuligoe-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Blankon' << template.distribution
Try 'meuligoe-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Blankon' << template.distribution
Try 'lontara': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Blankon' << template.distribution
Try 'lontara': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' 
== 'Blankon' << template.distribution
Try 'lontara-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Blankon' << template.distribution
Try 'lontara-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Blankon' << template.distribution
Try 'konde': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Blankon' << template.distribution
Try 'konde': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'Blankon' << template.distribution
Try 'konde-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Blankon' << template.distribution
Try 'konde-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'Blankon' << template.distribution
Try 'parkes': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'gNewSense' << template.distribution
Try 'parkes/updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'gNewSense' << template.distribution
Try 'deltah': self.is_codename(template.name) 'False' && self.id >> 'Ubuntu' == 
'gNewSense' << template.distribution
Try 'deltah-security': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'gNewSense' << template.distribution
Try 'deltah-updates': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'gNewSense' << template.distribution
Try 'deltah-backports': self.is_codename(template.name) 'False' && self.id >> 
'Ubuntu' == 'gNewSense' << template.distribution


A huge list of unknown release names all of them have
self.is_codename(template.name) == False

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to software-properties in
Ubuntu.
https://bugs.launchpad.net/bugs/1902540

Title:
  hirsute fails on add-apt-repository

Status in software-properties package in Ubuntu:
  New

Bug description:
  On a fully updated hirsute add-apt-repository fails, example:

  root@h:~# sudo add-apt-repository ppa:ci-train-ppa-service/4321
  Traceback (most recent call last):
    File "/usr/bin/add-apt-repository", line 330, in <module>
      addaptrepo = AddAptRepository()
    File "/usr/bin/add-apt-repository", line 35, in __init__
      self.distro.get_sources(self.sourceslist)
    File "/usr/lib/python3/dist-packages/aptsources/distro.py", line 91, in 
get_sources
      raise NoDistroTemplateException(
  aptsources.distro.NoDistroTemplateException: Error: could not find a 
distribution template for Ubuntu/hirsute

  The PPA seems not to matter (all trigger it) and if I manually add PPA
  sources list and GPG key it works. So maybe software-properties just
  needs to learn about hirsute?

  Or is there another components (like distro-info or such) that needs a
  bump for this to work?

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/software-properties/+bug/1902540/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to