def getIcon(self):
        # first look for downloaded icons
        icon_known_exts = ['.bmp', '.gif', '.icns', '.jpg', '.jpeg', '.png',
                           '.psd', '.tga', '.tif', '.tiff', '.yuv']
        icon_name = self.get('icon_name') or self['name']
        if not os.path.splitext(icon_name)[1] in icon_known_exts:
            icon_name += '.png'
        icon_path = os.path.join(msclib.html_dir(), 'icons', icon_name)
        if os.path.exists(icon_path):
            return 'icons/' + quote(icon_name)
        # didn't find one in the downloaded icons
        # so create one if needed from a locally installed app
        for key in ['icon_name', 'display_name', 'name']:
            if key in self:
                name = self[key]
                icon_name = name
                if not os.path.splitext(icon_name)[1] in icon_known_exts:
                    icon_name += '.png'
                icon_path = os.path.join(msclib.html_dir(), icon_name)
                if (os.path.exists(icon_path)
                        or convertIconToPNG(name, icon_path, 350)):
                    return quote(icon_name)

        # use the Generic package icon
        return 'static/Generic.png'
Creates a conductor thread with the given name prefix.
dataset/ETHPy150Open munki/munki/code/apps/Managed Software Center/Managed Software Center/MunkiItems.py/GenericItem.getIcon--crossover with--dataset/ETHPy150Open openstack/taskflow/taskflow/examples/tox_conductor.py/generate_conductor