-ν 7 $DcsvdkZdkZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z dS( Nicsίd}|d}|tjp |djo d}nx^titiD]L}||jo d}nd}|d|d|dti|d }qEW|d }|d t i |d d jƒd }|d}|d}|SdS(Ns)
sSearch s+for s" s
( sretskeysNonesrecordss record_keyss author_keyssksselecteds key_namesscgisescapesvalue(skeysvaluesretsksselected((s generate.pys compute_forms    - $  csLddj}d} d} x_|D]W}|tijo d}n|tijo| dti|d} n | d} qW| d| d } x«t||ƒD]š}||} d}| d }x‹|D]ƒ} d} | tijo:t|ƒdjo| |djo|d| } nn| | jo| | } n|d | d }qΓW| d t|dƒd|dt| dƒd} |ot|ƒdjoœx•tdt|ƒƒD]~}d}x]|D]U} d} | tijo'| ||jo||| } nn|d | d }qΓW| d|d } q°WnqœW| d} | SdS(Niiss ss s s sauthorsss&s( s
s
s
s .More...
(s print_authorssheadersretskeyssksrecordss author_keyss key_namessrangesstartsendsindexsrecssrecslinesauthorsskeysfieldslensstrsi(srecsskeyssstartsendsindexs print_authorssisksauthorssretsheadersfieldskeysrecsline((s generate.pysget_listsP    $ 6 cs>ti|ddjƒiddƒiddƒiddƒSdS(Nis&s%26s+s%2Bs (scgisescapesparmsreplace(sparm((s generate.pysto_parmFscs>dt|ƒdt|ƒdt|dƒd|dSdS(Nss (sto_parmskeysvaluesstrsstartslabel(skeysvaluesstartslabel((s generate.pysget_moreIscsΦ|djp ||jo΄d}|djoH|t}|djo d}n|t|||dt tƒƒ}n||jo:t t||ƒ}|t|||dt |ƒƒ}n|d}|SndSdS(Nis
s Previous sNext s
s( sstartsendsmaxsrets MAX_RECORDSsprevsget_moreskeysvaluesstrsminsnext(skeysvaluesstartsendsmaxsnextsretsprev((s generate.pysget_navOs    ' ' cs·ti|ti|ddjƒƒ}t|t |ƒƒ}t|t t |ƒƒ}|djp|t |ƒjo>dt |dƒdt |ƒdt t |ƒƒd}nK|djo d}n4t |ƒdjo d}nt t |ƒƒd }|d ti|ƒd ti|d }d |d}|t||||t |ƒƒ}t |ƒdjo&|t|dddg||ƒ}n|t||||t |ƒƒ}|SdS(NiisRecords s to s of the s recordssNo records weresOne record wass records weres found containing `s ' in the `s' field.s

s

stitlesnamesdate(srecordsssearchskeyscgisescapesvaluesresultsminsstartslens MAX_RECORDSsendsstrs count_texts key_namessretsget_navsget_list(skeysvaluesstartsendsresults count_textsret((s generate.pyscompute_result_s"$ >   *"&"cs[tiƒ}xD|iƒo6|iƒ}d|jo|d|jo|SnqWtSdS(Nsid(srecordssRecordssrecsshasNextsnextsrecsidsNone(sidsrecssrec((s generate.pysfind}s    cs?d}ttiƒ}xUtiD]J}||jo7|dti|dt |ƒd||d}nqWd|jo³|d}x*tiD]}|dti|d }qŽW|d }xk|dD]_}|d }xBtiD]7}||jo|d ||d }n |d}qΰW|d }qΖWn|d}|SdS(Ns s& sauthorss8 s s s s s s
s:s
Authors:s
s
( sretslensrecordss author_keysscolss record_keysskeysrecs key_namessstrsauth(srecsretskeysauthscols((s generate.pyscompute_fields…s.  ;         cs–t|ƒ}xƒddjou|iƒ}|djodSnQ|ddjo;|djot||ƒGn|djo|Gn|Gn|GqWdS(Nisis#s#FORM s#RESULT ( sopenstemplatesfilesreadlineslines compute_formskeysvaluesresult(stemplatesresultskeysvaluesfilesline((s generate.pysoutput_templates      csŸdGHdGHtiƒ}|idƒo |idƒo«|di}|di}|idƒoRy2t|diƒd}|djo d}nWntj o d}nXnd}t |||ƒ}t d|||ƒn»|id ƒo—yt|d iƒ}Wn*tj ot d dddƒdSnXt |ƒ}|tjot d dddƒn t|ƒ}t d |ddƒnt d dddƒdS( NsContent-type: text/htmlsskeysvaluesstartiistemplate-result.htmlsidstemplate-form.htmlstemplate-more.html(scgis FieldStoragesformshas_keysvalueskeysintsstarts ValueErrorscompute_resultsresultsoutput_templatesidsfindsrecordsNonescompute_fields(sformsvaluesstartsresultskeysidsrecord((s generate.pysmain­s8         ( scgisrecordss MAX_RECORDSs compute_formsget_liststo_parmsget_moresget_navscompute_resultsfindscompute_fieldssoutput_templatesmain( scgiscompute_results MAX_RECORDSscompute_fieldssget_moresget_lists compute_formsrecordssget_navsoutput_templatesmainsfindsto_parm((s generate.pys?s    -