def filter(self, joins): arch_name = self.get_xml_attr('arch', unicode, None) try: arch = Arch.by_name(arch_name) except ValueError: return (joins, false()) osmajor = self.get_xml_attr('osmajor', unicode, None) if not osmajor: return (joins, false()) osminor = self.get_xml_attr('osminor', unicode, None) or None clause = System.compatible_with_distro_tree(arch, osmajor, osminor) return (joins, clause)