Example #1
0
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
Example #2
0
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
Example #3
0
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
Example #4
0
  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
      
Example #5
0
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
Example #6
0
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 ''
Example #7
0
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
Example #8
0
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 ''
Example #9
0
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
Example #10
0
    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