<%! from splunk.entity import buildEndpoint from splunk import rest from splunk import getDefault, auth from mako import exceptions import splunk import os import logging import urllib def convert_spaces_to_underscores(s): if s: new_id = '' #remove . : ( ) chars as well for e in s: if e.isalpha() or e.isdigit() or s.isspace(): new_id += e #ensure it starts with a char if not new_id[0].isalpha(): new_id = 'a'+new_id return '_'.join(new_id.split(' ')).strip() logger = logging.getLogger('splunk.apps.launcher') %> <% namespace = 'launcher' sessionId = cherrypy.session.id sb_uri = make_url('/manager/%s/%s' % (namespace, 'apps/remote')) sburi = buildEndpoint('apps/remote', entityName='entries') net_is_down_flag = False try: sbserverResponse, sbserverContent = rest.simpleRequest(sburi, sessionKey=splunk.getSessionKey(), getargs={'sort_by':'downloads', 'count':'1000', 'splunk_version':'4.0.0'}, timeout=10) except Exception, e: sbatom = [] net_is_down_flag = True logger.error(str(e)) else: if sbserverResponse.status == 200: sbatom = rest.format.parseFeedDocument(sbserverContent) else: sbatom = [] net_is_down_flag = True %> <% sbappcount = len(sbatom) sbpages, sbrem = divmod(sbappcount,10) if sbrem: sbpages += 1 %> % if net_is_down_flag :

${_("Launcher doesn't seem to be able to connect to Splunk.com. Try visiting www.splunk.com/apps.")}

% else :
% for i in range(sbpages): % if i == 0:
% else:
% endif
    % for sbentry in sbatom[10*i:10*i+10]: <% sbparsedRawContents = rest.format.nodeToPrimitive(sbentry.rawcontents) %> % if sbentry == sbatom[10*i]:
  • % else:
  • % endif

    ${sbentry.title}

  • % endfor
% endfor
<% i=0 %> % for sbentry in sbatom: <% sbparsedRawContents = rest.format.nodeToPrimitive(sbentry.rawcontents) try: sbdesc = sbentry.summary except (KeyError, AttributeError): sbdesc = _('No description has been provided for this app. Please update app.conf for your app.') try: sbversion = sbparsedRawContents['latestVersion'] except (KeyError, AttributeError): sbversion = '1.0' try: sbauthor = sbparsedRawContents['author'] except (KeyError, AttributeError): sbauthor = 'Splunk' %> % if sbentry == sbatom[0]:
% else:
% endif

${sbentry.title}

${sbdesc}

${_('Version:')} ${sbversion} ${_('Author:')} ${sbauthor} ${_('More info:')} www.splunk.com/apps

% if sbparsedRawContents['price'] is not None and 'free' in sbparsedRawContents['price'].lower():
% endif
<% i=i+1 %> % endfor
% endif