diff options
Diffstat (limited to 'pym/portage/xml')
-rw-r--r-- | pym/portage/xml/metadata.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/pym/portage/xml/metadata.py b/pym/portage/xml/metadata.py index 2d62bba99..326a468b3 100644 --- a/pym/portage/xml/metadata.py +++ b/pym/portage/xml/metadata.py @@ -348,3 +348,29 @@ class MetaDataXML(object): maint_str += " " + ",".join(maintainers) return maint_str + + def format_upstream_string(self): + """Format string containing upstream maintainers and bugtrackers. + Used by emerge to display upstream information. + + @rtype: String + @return: a string containing upstream maintainers and bugtrackers + """ + maintainers = [] + for upstream in self.upstream(): + for maintainer in upstream.maintainers: + if maintainer.email is None or not maintainer.email.strip(): + if maintainer.name and maintainer.name.strip(): + maintainers.append(maintainer.name) + else: + maintainers.append(maintainer.email) + + for bugtracker in upstream.bugtrackers: + if bugtracker.startswith("mailto:"): + bugtracker = bugtracker[7:] + maintainers.append(bugtracker) + + + maintainers = list(unique_everseen(maintainers)) + maint_str = " ".join(maintainers) + return maint_str |