def get_stack_links(macro, stack_name, data, packages, is_unary, distro): f = macro.formatter p, div, h, text = f.paragraph, f.div, f.heading, f.text li, ul, strong = f.listitem, f.bullet_list, f.strong is_released = is_stack_released(stack_name) # - links if is_released: changelist_link = li(1)+sub_link(macro, stack_name, 'ChangeList', title='Change List')+li(0) else: changelist_link = '' if not is_unary: troubleshooting_link = li_if_exists(macro, stack_name, 'Troubleshooting') review_link = li(1)+sub_link(macro, stack_name, 'Reviews') + li(0) tutorials_link=li_if_exists(macro, stack_name, 'Tutorials') else: troubleshooting_link = review_link = tutorials_link = '' roadmap_link = li_if_exists(macro, stack_name, 'Roadmap') try: links = div(1, css_class="package-links")+strong(1)+text('Stack Links')+strong(0)+\ ul(1)+\ tutorials_link+\ troubleshooting_link+\ changelist_link+\ roadmap_link+\ review_link+\ ul(0) except UnicodeDecodeError: links = div(1, css_class="package-links") links += get_dependency_list(macro, data, css_prefix='stack-%s'%distro, distro=distro) + div(0) return links
def get_stack_links(macro, stack_name, data, packages, is_unary, distro): f = macro.formatter div, text = f.div, f.text li, ul, strong = f.listitem, f.bullet_list, f.strong is_released = is_stack_released(stack_name) # - links if is_released: changelist_link = li(1) + sub_link( macro, stack_name, 'ChangeList', title='Change List') + li(0) else: changelist_link = '' if not is_unary: troubleshooting_link = li_if_exists(macro, stack_name, 'Troubleshooting') review_link = li(1) + sub_link(macro, stack_name, 'Reviews') + li(0) tutorials_link = li_if_exists(macro, stack_name, 'Tutorials') else: troubleshooting_link = review_link = tutorials_link = '' roadmap_link = li_if_exists(macro, stack_name, 'Roadmap') try: links = (div(1, css_class="package-links") + strong(1) + text('Stack Links') + strong(0) + ul(1) + tutorials_link + troubleshooting_link + changelist_link + roadmap_link + review_link + ul(0)) except UnicodeDecodeError: links = div(1, css_class="package-links") links += get_dependency_list( macro, data, css_prefix='stack-%s' % distro, distro=distro) + div(0) return links
def get_stack_links(macro, stack_name, data, packages, is_unary, distro): f = macro.formatter p, div, h, text = f.paragraph, f.div, f.heading, f.text li, ul, strong = f.listitem, f.bullet_list, f.strong is_released = is_stack_released(stack_name) # - links if is_released: releases_link = li(1) + sub_link(macro, stack_name, "Releases") + li(0) changelist_link = li(1) + sub_link(macro, stack_name, "ChangeList", title="Change List") + li(0) else: releases_link = changelist_link = "" if not is_unary: troubleshooting_link = li_if_exists(macro, stack_name, "Troubleshooting") review_status = data.get("review_status", "unreviewed") review_link = li(1) + sub_link(macro, stack_name, "Reviews") + text(" (" + review_status + ")") + li(0) tutorials_link = li_if_exists(macro, stack_name, "Tutorials") else: troubleshooting_link = review_link = tutorials_link = "" roadmap_link = li_if_exists(macro, stack_name, "Roadmap") try: links = ( div(1, css_class="package-links") + strong(1) + text("Stack Links") + strong(0) + ul(1) + tutorials_link + troubleshooting_link + releases_link + changelist_link + roadmap_link + review_link + ul(0) ) except UnicodeDecodeError: links = div(1, css_class="package-links") links += get_dependency_list(macro, data, css_prefix="stack-%s" % distro, distro=distro) + div(0) return links
br = macro.formatter.linebreak strong = macro.formatter.strong li = macro.formatter.listitem ul = macro.formatter.bullet_list h = macro.formatter.heading text = macro.formatter.text rawHTML = macro.formatter.rawHTML def link(url): return '<a href="%s">%s</a>'%(url, url) body = h(1, 2)+"Releases for %s"%stack_name+h(0,2) # link to license/changelist/roadmap license = "License: %s"%data.get('license', 'unknown') review_status = sub_link(macro, stack_name, "Reviews", "Review Status")+": %s"%data.get('review_status', 'unreviewed') body += ul(1)+\ li(1)+license+li(0)+\ li(1)+review_status+li(0)+\ li(1)+sub_link(macro, stack_name, 'ChangeList', 'Change List')+li(0)+\ li(1)+sub_link(macro, stack_name, 'Roadmap')+li(0)+\ ul(0) # link to distributions for release_name in release_names: release, stack_props = releases[release_name] if not stack_props: continue
def get_package_links(macro, package_name, data, distro, repo_name=None, metapackage=False): f = macro.formatter url, div = f.url, f.div strong, text = f.strong, f.text li, ul = f.listitem, f.bullet_list external_website = data.get('url', '') or '' if 'ros.org' in external_website or 'willowgarage.com' in external_website: external_website = u'' # let external docs override if 'external_documentation' in data: api_documentation = data['external_documentation'] elif 'api_documentation' in data: api_documentation = data['api_documentation'] else: api_documentation = None msgs = data.get('msgs', []) srvs = data.get('srvs', []) # -- link to msg/srv autogenerated docs msg_doc_title = "Msg/Srv API" if msgs and not srvs: msg_doc_title = "Msg API" elif srvs and not msgs: msg_doc_title = "Srv API" review_str = li(1) + sub_link(macro, package_name, 'Reviews') + li(0) if external_website: external_website = ( li(1) + url(1, url=external_website) + text("%s website" % (package_name)) + url(0) + li(0) ) # only include troubleshooting link if it exists. We're now using the FAQ link troubleshoot = li_if_exists(macro, package_name, 'Troubleshooting') tutorials = li_if_exists(macro, package_name, 'Tutorials') changelog_rst_link = '' if data.get('has_changelog_rst'): changelog_rst_link = ( li(1) + url(1, url=package_changelog_html_link(package_name, distro)) + text("Changelog") + url(0) + li(0) ) if repo_name: changelist_link = li(1) + sub_link(macro, repo_name, 'ChangeList', title='Change List') + li(0) roadmap_link = li_if_exists(macro, repo_name, 'Roadmap') else: changelist_link = '' roadmap_link = '' # We don't want to display the Code API link for a metapackage if metapackage or not api_documentation: code_api = '' elif 'ros.org/doc/api' in api_documentation or 'docs.ros.org/api' in api_documentation: code_api = ( li(1) + strong(1) + url(1, url=package_html_link(package_name, distro)) + text("Code API") + url(0) + strong(0) + li(0) ) else: code_api = ( li(1) + strong(1) + url(1, url=api_documentation) + text("Code API") + url(0) + strong(0) + li(0) ) if not msgs and not srvs: msg_doc = text('') else: msg_doc = li(1) + strong(1) + msg_doc_link(package_name, msg_doc_title, distro) + strong(0) + li(0) try: package_links = ( div(1, css_class="package-links") + strong(1) + text("Package Links") + strong(0) + ul(1) + code_api + msg_doc + external_website + tutorials + troubleshoot + li(1) + url( 1, url='http://answers.ros.org/questions/scope:all/sort:activity-desc/tags:%s/page:1/' % (package_name) ) + text("FAQ") + url(0) + li(0) + changelog_rst_link + changelist_link + roadmap_link + review_str + ul(0) ) except UnicodeDecodeError: package_links = div(1, css_class="package-links") package_links += get_dependency_list(macro, data, css_prefix=distro, distro=distro) package_links += get_jenkins_list(macro, data, css_prefix='stack-%s' % distro, distro=distro) package_links += div(0) return package_links
def li_if_exists(macro, page, sub_page): li = macro.formatter.listitem if Page(macro.request, '%s/%s' % (page, sub_page)).exists(): return li(1)+sub_link(macro, page, sub_page)+li(0) else: return ''
def get_package_links(macro, package_name, data, distro, repo_name=None, metapackage=False): f = macro.formatter url, div = f.url, f.div strong, text = f.strong, f.text li, ul = f.listitem, f.bullet_list external_website = data.get('url', '') or '' if 'ros.org' in external_website or 'willowgarage.com' in external_website: external_website = u'' # let external docs override if 'external_documentation' in data: api_documentation = data['external_documentation'] elif 'api_documentation' in data: api_documentation = data['api_documentation'] else: api_documentation = None msgs = data.get('msgs', []) srvs = data.get('srvs', []) # -- link to msg/srv autogenerated docs msg_doc_title = "Msg/Srv API" if msgs and not srvs: msg_doc_title = "Msg API" elif srvs and not msgs: msg_doc_title = "Srv API" review_str = li(1) + sub_link(macro, package_name, 'Reviews') + li(0) if external_website: external_website = (li(1) + url(1, url=external_website) + text("%s website" % (package_name)) + url(0) + li(0)) # only include troubleshooting link if it exists. We're now using the FAQ link troubleshoot = li_if_exists(macro, package_name, 'Troubleshooting') tutorials = li_if_exists(macro, package_name, 'Tutorials') changelog_rst_link = '' if data.get('has_changelog_rst'): changelog_rst_link = ( li(1) + url(1, url=package_changelog_html_link(package_name, distro)) + text("Changelog") + url(0) + li(0)) if repo_name: changelist_link = li(1) + sub_link( macro, repo_name, 'ChangeList', title='Change List') + li(0) roadmap_link = li_if_exists(macro, repo_name, 'Roadmap') else: changelist_link = '' roadmap_link = '' # We don't want to display the Code API link for a metapackage if metapackage or not api_documentation: code_api = '' elif 'ros.org/doc/api' in api_documentation or 'docs.ros.org/api' in api_documentation: code_api = (li(1) + strong(1) + url(1, url=package_html_link(package_name, distro)) + text("Code API") + url(0) + strong(0) + li(0)) else: code_api = (li(1) + strong(1) + url(1, url=api_documentation) + text("Code API") + url(0) + strong(0) + li(0)) if not msgs and not srvs: msg_doc = text('') else: msg_doc = li(1) + strong(1) + msg_doc_link(package_name, msg_doc_title, distro) + strong(0) + li(0) try: package_links = ( div(1, css_class="package-links") + strong(1) + text("Package Links") + strong(0) + ul(1) + code_api + msg_doc + external_website + tutorials + troubleshoot + li(1) + url(1, url= 'http://answers.ros.org/questions/scope:all/sort:activity-desc/tags:%s/page:1/' % (package_name)) + text("FAQ") + url(0) + li(0) + changelog_rst_link + changelist_link + roadmap_link + review_str + ul(0)) except UnicodeDecodeError: package_links = div(1, css_class="package-links") package_links += get_dependency_list(macro, data, css_prefix=distro, distro=distro) package_links += get_jenkins_list(macro, data, css_prefix='stack-%s' % distro, distro=distro) package_links += div(0) return package_links
def li_if_exists(macro, page, sub_page): li = macro.formatter.listitem if Page(macro.request, '%s/%s' % (page, sub_page)).exists(): return li(1) + sub_link(macro, page, sub_page) + li(0) else: return ''
def get_package_links(macro, package_name, data, distro, repo_name=None, metapackage=False): f = macro.formatter p, url, div = f.paragraph, f.url, f.div em, strong, h, text = f.emphasis, f.strong, f.heading, f.text li, ul = f.listitem, f.bullet_list review_status = data.get("review_status", "unreviewed") external_website = data.get("url", "") or "" if "ros.org" in external_website or "willowgarage.com" in external_website: external_website = u"" # let external docs override if "external_documentation" in data: api_documentation = data["external_documentation"] else: api_documentation = data["api_documentation"] msgs = data.get("msgs", []) srvs = data.get("srvs", []) # -- link to msg/srv autogenerated docs msg_doc_title = "Msg/Srv API" if msgs and not srvs: msg_doc_title = "Msg API" elif srvs and not msgs: msg_doc_title = "Srv API" if "3rdparty" in review_status: review_str = "" else: review_str = li(1) + sub_link(macro, package_name, "Reviews") + text(" (" + review_status + ")") + li(0) if external_website: external_website = li(1) + url(1, url=external_website) + text("%s website" % (package_name)) + url(0) + li(0) # only include troubleshooting link if it exists. We're now using the FAQ link troubleshoot = li_if_exists(macro, package_name, "Troubleshooting") tutorials = li_if_exists(macro, package_name, "Tutorials") if repo_name: releases_link = li(1) + sub_link(macro, repo_name, "Releases") + li(0) changelist_link = li(1) + sub_link(macro, repo_name, "ChangeList", title="Change List") + li(0) roadmap_link = li_if_exists(macro, repo_name, "Roadmap") else: releases_link = "" changelist_link = "" roadmap_link = "" # We don't want to display the Code API link for a metapackage if metapackage: code_api = "" elif "ros.org/doc/api" in api_documentation: code_api = ( li(1) + strong(1) + url(1, url=package_html_link(package_name, distro)) + text("Code API") + url(0) + strong(0) + li(0) ) else: code_api = li(1) + strong(1) + url(1, url=api_documentation) + text("Code API") + url(0) + strong(0) + li(0) if not msgs and not srvs: msg_doc = text("") else: msg_doc = li(1) + strong(1) + msg_doc_link(package_name, msg_doc_title, distro) + strong(0) + li(0) try: package_links = ( div(1, css_class="package-links") + strong(1) + text("Package Links") + strong(0) + ul(1) + code_api + msg_doc + external_website + tutorials + troubleshoot + li(1) + url( 1, url="http://answers.ros.org/questions/scope:all/sort:activity-desc/tags:%s/page:1/" % (package_name) ) + text("FAQ") + url(0) + li(0) + changelist_link + roadmap_link + releases_link + review_str + ul(0) ) except UnicodeDecodeError: package_links = div(1, css_class="package-links") package_links += get_dependency_list(macro, data, css_prefix=distro, distro=distro) package_links += div(0) return package_links
strong = macro.formatter.strong li = macro.formatter.listitem ul = macro.formatter.bullet_list h = macro.formatter.heading text = macro.formatter.text rawHTML = macro.formatter.rawHTML def link(url): return '<a href="%s">%s</a>' % (url, url) body = h(1, 2) + "Releases for %s" % stack_name + h(0, 2) # link to license/changelist/roadmap license = "License: %s" % data.get('license', 'unknown') review_status = sub_link( macro, stack_name, "Reviews", "Review Status") + ": %s" % data.get('review_status', 'unreviewed') body += ul(1)+\ li(1)+license+li(0)+\ li(1)+review_status+li(0)+\ li(1)+sub_link(macro, stack_name, 'ChangeList', 'Change List')+li(0)+\ li(1)+sub_link(macro, stack_name, 'Roadmap')+li(0)+\ ul(0) # link to distributions for release_name in release_names: release, stack_props = releases[release_name] if not stack_props: continue