<%! import DateTime import time sx1=time.time() %> <%namespace file="/functions/partials" name="partials" import="*"/> <%def name="idx_relperson(obj=None)"> <% import json import urllib usr = [] if obj: if obj.val('authors-internal'): owda = json.loads( urllib.unquote_plus(urllib.unquote_plus( obj.val('authors-internal') ))) for ow in owda: if ow.get('id'): usr.append( ow.get('id') ) if obj.val('editor-internal'): owda = json.loads( urllib.unquote_plus(urllib.unquote_plus( obj.val('editor-internal') ))) for ow in owda: if ow.get('id'): usr.append( ow.get('id') ) print usr %> ${','.join(usr)} <%inherit file="site" /> <%def name="main_content()"> <% _is_test = site.param('test') == '1' now = DateTime.DateTime() #site.REQUEST.set('_viewMode', 1) request = object.REQUEST filterquery = site.REQUEST['QUERY_STRING'] query = site.param('query', default='', type="js") test = '' count=0 num_per_page = 20 items = [] ll = [] year = site.param('y', default=0, type="js") #fromyear = 2016 fromyear = 2001-1 if filterquery: hasrequest = 1 else: hasrequest = 0 try: year = int(year) except: year = 0 path_reports = '/customer/www/imr' basepath_reports = '/customer/www' objpath_reports = '/hi/nettrapporter' path_reports = basepath_reports + objpath_reports objpath_old_toktreports = "/hi/publikasjoner/toktrapporter" path_old_toktreports = basepath_reports + objpath_old_toktreports cat = '' _serie = site.param('serie', default='', type="js") _fast_serie = site.param('fast_serie', default='', type="js") _tema = site.param('tema', default='', type="js") _faggruppe = site.param('faggruppe', default='', type="js") templates = ['report-article', 'report-file'] templates_filter = "" for t in templates: templates_filter += '"%s"|' % t templates_filter = templates_filter[:-1] querystring = {'path':[path_reports, path_old_toktreports],'template':templates, 'sort_on':'inx_publishDate', 'sort_order':'descending', 'count':6000 } extra_filter = "" if _serie: querystring['serie'] = _serie extra_filter += '@data "serie %s"~2' % _serie if _fast_serie: extra_filter += '@data "serie-report-type %s"~2' % _fast_serie querystring['serie-report-type'] = _fast_serie if _tema: querystring['rel-tema'] = partials.get_rel_tema_query_by_tema(int(_tema)) #if _faggruppe: #querystring['rel-faggruppe'] = _faggruppe if query: import re query = re.sub(u'[^0-9a-zæøå -]', '', query, flags=re.IGNORECASE) _query = query if len(query) > 4 and query.find(' and ') == -1 and query.find(' or ') == -1 and query.find('"') == -1 and query.find('*') == -1: _query = '*' + query + '*' if query: querystring['SearchableText'] = {'query': _query, 'ranking_maxhits' : 5000} datestart = None dateend = None if year and isinstance(year, int): datestart = 0 dateend = 0 try: start = DateTime.DateTime('%s.%s.01' % (year, 01)) last = DateTime.DateTime('%s.%s.31 23:59' % (year, 12)) datestart = int(start.timeTime()) dateend = int(last.timeTime()) num_per_page = 20 start = int(site.param('start','0')) if datestart and dateend: querystring['inx_publishDate'] = {'query':[datestart, dateend], 'range':'min:max'} except: pass #context.write(object.why()) # pagination limit = 30 start = int(site.param('start','0')) result = partials.fetchFromSphinx('@path=("%s" | "%s") @template %s %s' % (path_reports, path_old_toktreports, templates_filter, extra_filter),\ search_term = site.param('query', default='', type="js"),\ start_lime_loopup=start, end_lime_loopup=start+limit, limit=5000,\ where=("datePublished > %s and datePublished < %s" % (datestart, dateend) ) if datestart and dateend else "" ) items = result["result"] lenlist = result["cnt_tot_results"] # Get parent (report object) if result is a report-section report_objects = items items = [] _debug=[] # Remove potential duplicates and None for obj in report_objects: if obj and obj not in items: items.append(obj) if _is_test: _debug.append({"id": obj.sql_id, "obj.val('in-english')": obj.val('in-english'), "obj.translated('en')": obj.translated('en')}) debug_log(len(report_objects)) # url extension padd = '' padd = '&query;=' + query if year: padd += '&y;=' + str(year) if _serie: padd += '&serie;=' + _serie if _fast_serie: padd += '&fast;_serie=' + _fast_serie if _tema: padd += '&tema;=' + _tema if object.language() == 'en': _reports = [] for obj in items: if obj.val('in-english') == '1' or obj.translated('en'): _reports.append(obj) items = _reports list = items %> % if _is_test: debug translated: ${_debug}
lang: ${object.language()}
len_report_objs: ${len(report_objects)}
len_list: ${lenlist}
querystring: ${querystring}
count: ${len(items)}
url: ${object.absolute_url(True)}
fallback: ${object.fallback('de')}
% endif

${object.val('longtitle') or object.val('title')}

${object.val('abstract') or object.val('teaser')}
<% serier = site.lists.report_serie( None ) %>

${site.i18n("site-report-series")}

%for serie in serier: %if serie[0] != '': %endif %endfor
<% faste_rapporter = site.lists.report_fastrapport( None ) %>

${site.i18n('site-regular-reports')}

%for fast in faste_rapporter: %if fast[0] != '': %endif %endfor

${site.i18n("site-filter-year")}

% for y in xrange(now.year(),fromyear, -1): % endfor
${object.val('filtertext')}
%if hasrequest:
%if _tema: <% temaobj = None try: temaid = int(_tema) except: temaid = 0 if temaid: temaobj = site.get(sql_id=temaid) %> %if temaobj: Tema: ${temaobj.val('title')} %endif %endif ${site.i18n("site-filter-clear-all")}
%endif

${site.i18n('site-result')}: ${query} (${lenlist}) %if lenlist > limit: ${site.i18n('site-showing')} ${start+1} - %if (start+limit) > lenlist: ${lenlist} %else: ${start+limit} %endif %endif

% if list:
%for item in list:
${partials.renderListItemReport(item)}
%endfor
% endif
%if lenlist > limit:
${partials.renderPagination(object, lenlist, limit, padd=padd)}
%endif