tree checksum vpatch file split hunks

all signers: lobbes bvt diana_coman asciilifeform

antecedents: searchpg_oldlinks.kv

press order:

logotron_genesis.kvasciilifeform diana_coman
multsel_and_datefix.kvasciilifeform diana_coman
raw_line_export.kvasciilifeform diana_coman
rle_errata.kvasciilifeform diana_coman
irssi2tmsr.kvasciilifeform diana_coman
uniturds_etc.kvasciilifeform diana_coman
line_wraps.kvasciilifeform diana_coman
znc2tmsr_etc.kvasciilifeform diana_coman lobbes
uptimefix_bye_cache.kvasciilifeform diana_coman lobbes
raw_line_fix.kvasciilifeform diana_coman lobbes
irssi_format.kvasciilifeform diana_coman
sept_fixes.kvasciilifeform diana_coman
active_disconnect_r3.kvasciilifeform bvt diana_coman
sept_errata.kvasciilifeform
detect_disconnect.kvasciilifeform
shlex_removal.kvasciilifeform
hide_inactive.kvasciilifeform
search_all_chans.kvasciilifeform
navbar_date_auto.kvasciilifeform
searchpg_oldlinks.kvasciilifeform
aug2020_errata.kvasciilifeform

patch:

- 145D6F9774BA47ABD96E9BEA7158CAD368632ACFA8870D4A1F538EE3BB7AACC2AF6AB40C6278863A22B55D7BBBA4D4EE0C8E894C5651F2A479CFCB05E820126B
+ 82B2AA673901D86655D3977CF22CBCED5E8EC8BAAB2AF28E105EDB9D60DCB397AC1023727AE5FCC4C59F7B41A292FBE6A2EA5C7E8207695A10C406ECFF5A99E8
logotron/MANIFEST.TXT
(18 . 3)(18 . 4)
5 641046 search_all_chans asciilifeform "Button to search in all logged chans"
6 641484 navbar_date_auto asciilifeform "Automatically skip empty days in navbar. Handle 'dawn of time' case."
7 641773 searchpg_oldlinks asciilifeform "Paginated search; automatic replacement of ancient logger link targets; fix for unicode barf in eat_dump.py."
8 641794 aug2020_errata asciilifeform "Stylistic fixes for previous patch."
- 496CD713B60FFCC7F21BE04CBBCF6A1316787F72B4E111CC2DD503E20CF73BF66EB739EAB8349CAA58DB3832413F01C17155CD4D64DE735A3721610F6205DD78
+ 892C1058BE06D507D51083D944192C163494AAF861C2D68B413DCBF2E6561A79B54EC5530993C4387389F4BFE258AA1C93F8352491CE64D8F8AA1F756C02354C
logotron/README.txt
(159 . 11)(159 . 19)
13 (1) Automatically skip empty days in date navigation bar. At the same time, handle empty days correctly when these are requested.
14 (2) Handle 'dawn of time' case for any given channel, to avoid infinite loop insanity from search engines.
15
16 ####################
17 Aug. 2020 Update :
18 ####################
19 #####################
20 Aug. 2020 Update #1 :
21 #####################
22
23 (1) Implemented fetch-by-channel-and-index (i.e. /ilog/chan/lineindex links).
24 (2) Automatically adjust link targets of #ba and 'btcbase' log citations to point to this logger, using the syntax in (1). Original text of link is preserved. Dates are handled correctly.
25 (3) Search results now properly paginated, with working 'back' and 'forward' buttons.
26 (4) Fixed ancient unicode bug in eat_dump.py.
27
28 #####################
29 Aug. 2020 Update #2 :
30 #####################
31
32 (1) Additional 'back' and 'forward' buttons at the bottom of search result pages.
33 (2) Fix era1/2 link diddler regexps to handle all (AFAIK) known variants correctly.
34
- C9984744C90B16EDBB46D64DE35F29247076166350A48239295A72270097CB3FD557B38D252B458174361022324D7A0C0714AABC70E68AA375924F62F19497EC
+ 3413F8F586BCF01D2C230B537F987EB38C2C25F1BD133875128B441B1746C5901E8D573215169B22391F24BA71F1B3858ECB50C40C1010D4C4A1F07F56682711
logotron/reader.py
(248 . 7)(248 . 7)
39 stdlinks_re = re.compile('(http[^ \[\]]+)')
40
41 # For era 1 ('bitcoin-assets') links :
42 era1_re = re.compile('(<a href="http[^ \[\]]\/\/log\d*\.bitcoin-assets\.com\/\?date=\d+-\d+-\d+#)(\d+)')
43 era1_re = re.compile('(<a href="http[^ \[\]]\/\/log\d*\.bitcoin-assets\.com\/+\?date=\d+-\d+-\d+#)(\d+)')
44
45 # For era 2 ('btcbase') links :
46 era2_re = re.compile('(<a href="http[^ \[\]]\/\/btcbase\.org\/log\/\d+-\d+-\d+#)(\d+)')
(269 . 13)(269 . 11)
48 # For ancient logs strictly: substitute orig. link with our logger :
49 if l['era'] < 3:
50 payload = re.sub(era1_re,
51 r'<a href="/ilog/{0}/\2'.format(l['chan']),
52 payload)
53 r'<a href="/ilog/trilema/\2', payload)
54
55 # Adjust era 2 links in all cases:
56 payload = re.sub(era2_re,
57 r'<a href="/ilog/{0}/\2'.format(l['chan']),
58 payload)
59 r'<a href="/ilog/trilema/\2', payload)
60
61 # If this is a search result, illuminate the matched strings:
62 if highlights != []:
(589 . 7)(587 . 6)
64 # Ending index of search results
65 eres = offset + min(nres, Max_Search_Results)
66
67 # No paging support just yet:
68 return render_template('searchres.html',
69 query = query,
70 hquery = html_escape(query),
- EDC98BFF7FE4F217B1A45A90926BA3ABBBD416C50463D9A162886CBFF07402F55E8CEA5486E212014E2FBB23BACE0701F72011452D55A8D12322FFCE2EA0E875
+ 6F80E4416E80A5233DBB3C37868C7D34619F38BB3633C6C6F39D5223679720D9BC92D76F58E06A5E995F04F1DC6363CA566A70281438843EE6E45903F8B25759
logotron/templates/searchres.html
(1 . 7)(1 . 7)
75 {% extends "layout.html" %}
76
77 {% block title %}
78 Results {{ sres }} ... {{ eres }} for {{ query }} in {{ legend }}
79 Results {{ sres + 1 }} ... {{ eres }} for '{{ hquery }}'...
80 {% endblock %}
81
82 {% block body %}
(22 . 4)(22 . 15)
84 {{ format_logline(l, tokens, [], showchan) | safe }}
85 {% endfor %}
86
87 <hr>
88
89 <div id="navbarblock">
90 <div align="center"><span>
91 {% if back %}<a href="/log-search?q={{ query }}&chan={{ chan }}&after={{ sres - psize }}">←</a> | {% endif %}{% if forw %}
92 <a href="/log-search?q={{ query }}&chan={{ chan }}&after={{ eres }}">→</a>
93 {% endif %}
94 </span></div>
95 </div>
96 <div style="clear: both;"></div>
97
98 {% endblock %}