flnews_post_proc 1.70 → 1.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/bin/flnews_post_proc +1 -1
- data/doc/html/flnews_post_proc.html +343 -28
- data/doc/man/flnews_post_proc.1.gz +0 -0
- data/doc/pdf/flnews_post_proc.pdf +0 -0
- data/doc/rst/flnews_post_proc.rst +6 -4
- data/lib/flnews_post_proc.rb +0 -13
- data/lib/headers.rb +3 -2
- data/lib/newsgroups.rb +35 -5
- data/lib/override.rb +11 -3
- data/lib/version.rb +3 -3
- data/lib/yad_dlg +5 -1
- metadata +4 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6c4693a968763ac343c0fbee55c8aa62bb6c9f5a26993597a6cbb67e91a6f9c2
|
4
|
+
data.tar.gz: fb9fe23969356e11684b594b2543ef522ccfdb0579294bb959da1f4079a59445
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f6165bbaaf311aba30bae956fc81ee19de2061a2152d0f0a6ee5490dc4b74062cd63abd6479215721cb060eafe06d1676ae01e1fd60cb46539a4c22a178c5c8
|
7
|
+
data.tar.gz: aa9925965ed3be4f2edfe92a5617e528c4d791256d0f0ee803a47024afe0073cc621eee5f75ac29756e1093d7242fa855c7d49013bf2dc92fcc08b06c8f49bcb
|
data/README.md
CHANGED
@@ -281,7 +281,7 @@ the original message-body contains text marked for use as such a footnote. See
|
|
281
281
|
|
282
282
|
**REFERENCES_DELIMITER**
|
283
283
|
A symbol or sequence of symbols marking the beginning of a text which will
|
284
|
-
serve as footnote (or reference). The **reversed sequence**
|
284
|
+
serve as footnote (or reference). The **reversed sequence** must be used to
|
285
285
|
mark the end of the text. The presence of this sequence or symbol in the
|
286
286
|
original message body will cause the enclosed text to be moved below the
|
287
287
|
message body.
|
data/bin/flnews_post_proc
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
***************************************************************************/
|
16
16
|
=end
|
17
17
|
# This program is Linux only
|
18
|
-
if ! /linux/ =~ RUBY_PLATFORM
|
18
|
+
if ! (/linux/ =~ RUBY_PLATFORM)
|
19
19
|
msg = "ERROR ! This script #{$0} cannot be used with #{RUBY_PLATFORM}"
|
20
20
|
msg << "\n\tABORTING! Bye."
|
21
21
|
STDERR.puts msg
|
@@ -4,46 +4,360 @@
|
|
4
4
|
<head>
|
5
5
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
6
|
<meta name="generator" content="Docutils 0.21.2: https://docutils.sourceforge.io/" />
|
7
|
-
<title>
|
7
|
+
<title>Flnews_post_proc</title>
|
8
8
|
<style type="text/css">
|
9
9
|
|
10
10
|
/*
|
11
|
-
:Author:
|
12
|
-
:
|
13
|
-
:
|
11
|
+
:Author: David Goodger (goodger@python.org)
|
12
|
+
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
|
13
|
+
:Copyright: This stylesheet has been placed in the public domain.
|
14
14
|
|
15
|
-
|
15
|
+
Default cascading style sheet for the HTML output of Docutils.
|
16
|
+
Despite the name, some widely supported CSS2 features are used.
|
17
|
+
|
18
|
+
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
|
19
|
+
customize this style sheet.
|
16
20
|
*/
|
17
21
|
|
18
|
-
/*
|
19
|
-
|
22
|
+
/* used to remove borders from tables and images */
|
23
|
+
.borderless, table.borderless td, table.borderless th {
|
24
|
+
border: 0 }
|
25
|
+
|
26
|
+
table.borderless td, table.borderless th {
|
27
|
+
/* Override padding for "table.docutils td" with "! important".
|
28
|
+
The right padding separates the table cells. */
|
29
|
+
padding: 0 0.5em 0 0 ! important }
|
30
|
+
|
31
|
+
.first {
|
32
|
+
/* Override more specific margin styles with "! important". */
|
33
|
+
margin-top: 0 ! important }
|
34
|
+
|
35
|
+
.last, .with-subtitle {
|
36
|
+
margin-bottom: 0 ! important }
|
37
|
+
|
38
|
+
.hidden {
|
39
|
+
display: none }
|
40
|
+
|
41
|
+
.subscript {
|
42
|
+
vertical-align: sub;
|
43
|
+
font-size: smaller }
|
44
|
+
|
45
|
+
.superscript {
|
46
|
+
vertical-align: super;
|
47
|
+
font-size: smaller }
|
48
|
+
|
49
|
+
a.toc-backref {
|
50
|
+
text-decoration: none ;
|
51
|
+
color: black }
|
52
|
+
|
53
|
+
blockquote.epigraph {
|
54
|
+
margin: 2em 5em ; }
|
55
|
+
|
56
|
+
dl.docutils dd {
|
57
|
+
margin-bottom: 0.5em }
|
20
58
|
|
21
|
-
|
22
|
-
|
23
|
-
font-family: Verdana,Helvetica,Univers;
|
59
|
+
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
|
60
|
+
overflow: hidden;
|
24
61
|
}
|
25
62
|
|
26
|
-
|
27
|
-
|
63
|
+
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
64
|
+
dl.docutils dt {
|
65
|
+
font-weight: bold }
|
66
|
+
*/
|
67
|
+
|
68
|
+
div.abstract {
|
69
|
+
margin: 2em 5em }
|
70
|
+
|
71
|
+
div.abstract p.topic-title {
|
72
|
+
font-weight: bold ;
|
73
|
+
text-align: center }
|
74
|
+
|
75
|
+
div.admonition, div.attention, div.caution, div.danger, div.error,
|
76
|
+
div.hint, div.important, div.note, div.tip, div.warning {
|
77
|
+
margin: 2em ;
|
78
|
+
border: medium outset ;
|
79
|
+
padding: 1em }
|
80
|
+
|
81
|
+
div.admonition p.admonition-title, div.hint p.admonition-title,
|
82
|
+
div.important p.admonition-title, div.note p.admonition-title,
|
83
|
+
div.tip p.admonition-title {
|
84
|
+
font-weight: bold ;
|
85
|
+
font-family: sans-serif }
|
86
|
+
|
87
|
+
div.attention p.admonition-title, div.caution p.admonition-title,
|
88
|
+
div.danger p.admonition-title, div.error p.admonition-title,
|
89
|
+
div.warning p.admonition-title, .code .error {
|
90
|
+
color: red ;
|
91
|
+
font-weight: bold ;
|
92
|
+
font-family: sans-serif }
|
93
|
+
|
94
|
+
/* Uncomment (and remove this text!) to get reduced vertical space in
|
95
|
+
compound paragraphs.
|
96
|
+
div.compound .compound-first, div.compound .compound-middle {
|
97
|
+
margin-bottom: 0.5em }
|
98
|
+
|
99
|
+
div.compound .compound-last, div.compound .compound-middle {
|
100
|
+
margin-top: 0.5em }
|
101
|
+
*/
|
102
|
+
|
103
|
+
div.dedication {
|
104
|
+
margin: 2em 5em ;
|
105
|
+
text-align: center ;
|
106
|
+
font-style: italic }
|
28
107
|
|
29
|
-
|
30
|
-
|
108
|
+
div.dedication p.topic-title {
|
109
|
+
font-weight: bold ;
|
110
|
+
font-style: normal }
|
31
111
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
dd ul {margin-left:0 ! important; }
|
36
|
-
dd dl dt, dd dl dd {margin-left:0 ! important;}
|
112
|
+
div.figure {
|
113
|
+
margin-left: 2em ;
|
114
|
+
margin-right: 2em }
|
37
115
|
|
38
|
-
|
39
|
-
|
116
|
+
div.footer, div.header {
|
117
|
+
clear: both;
|
118
|
+
font-size: smaller }
|
119
|
+
|
120
|
+
div.line-block {
|
121
|
+
display: block ;
|
122
|
+
margin-top: 1em ;
|
123
|
+
margin-bottom: 1em }
|
124
|
+
|
125
|
+
div.line-block div.line-block {
|
126
|
+
margin-top: 0 ;
|
127
|
+
margin-bottom: 0 ;
|
128
|
+
margin-left: 1.5em }
|
129
|
+
|
130
|
+
div.sidebar {
|
131
|
+
margin: 0 0 0.5em 1em ;
|
132
|
+
border: medium outset ;
|
133
|
+
padding: 1em ;
|
134
|
+
background-color: #ffffee ;
|
135
|
+
width: 40% ;
|
136
|
+
float: right ;
|
137
|
+
clear: right }
|
138
|
+
|
139
|
+
div.sidebar p.rubric {
|
140
|
+
font-family: sans-serif ;
|
141
|
+
font-size: medium }
|
142
|
+
|
143
|
+
div.system-messages {
|
144
|
+
margin: 5em }
|
145
|
+
|
146
|
+
div.system-messages h1 {
|
147
|
+
color: red }
|
148
|
+
|
149
|
+
div.system-message {
|
150
|
+
border: medium outset ;
|
151
|
+
padding: 1em }
|
152
|
+
|
153
|
+
div.system-message p.system-message-title {
|
154
|
+
color: red ;
|
155
|
+
font-weight: bold }
|
156
|
+
|
157
|
+
div.topic {
|
158
|
+
margin: 2em }
|
159
|
+
|
160
|
+
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
161
|
+
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
162
|
+
margin-top: 0.4em }
|
163
|
+
|
164
|
+
h1.title {
|
165
|
+
text-align: center }
|
166
|
+
|
167
|
+
h2.subtitle {
|
168
|
+
text-align: center }
|
169
|
+
|
170
|
+
hr.docutils {
|
171
|
+
width: 75% }
|
172
|
+
|
173
|
+
img.align-left, .figure.align-left, object.align-left, table.align-left {
|
174
|
+
clear: left ;
|
175
|
+
float: left ;
|
176
|
+
margin-right: 1em }
|
177
|
+
|
178
|
+
img.align-right, .figure.align-right, object.align-right, table.align-right {
|
179
|
+
clear: right ;
|
180
|
+
float: right ;
|
181
|
+
margin-left: 1em }
|
182
|
+
|
183
|
+
img.align-center, .figure.align-center, object.align-center {
|
184
|
+
display: block;
|
185
|
+
margin-left: auto;
|
186
|
+
margin-right: auto;
|
187
|
+
}
|
188
|
+
|
189
|
+
table.align-center {
|
190
|
+
margin-left: auto;
|
191
|
+
margin-right: auto;
|
40
192
|
}
|
41
193
|
|
42
|
-
|
43
|
-
|
44
|
-
|
194
|
+
.align-left {
|
195
|
+
text-align: left }
|
196
|
+
|
197
|
+
.align-center {
|
198
|
+
clear: both ;
|
199
|
+
text-align: center }
|
200
|
+
|
201
|
+
.align-right {
|
202
|
+
text-align: right }
|
203
|
+
|
204
|
+
/* reset inner alignment in figures */
|
205
|
+
div.align-right {
|
206
|
+
text-align: inherit }
|
207
|
+
|
208
|
+
/* div.align-center * { */
|
209
|
+
/* text-align: left } */
|
210
|
+
|
211
|
+
.align-top {
|
212
|
+
vertical-align: top }
|
213
|
+
|
214
|
+
.align-middle {
|
215
|
+
vertical-align: middle }
|
216
|
+
|
217
|
+
.align-bottom {
|
218
|
+
vertical-align: bottom }
|
219
|
+
|
220
|
+
ol.simple, ul.simple {
|
221
|
+
margin-bottom: 1em }
|
222
|
+
|
223
|
+
ol.arabic {
|
224
|
+
list-style: decimal }
|
225
|
+
|
226
|
+
ol.loweralpha {
|
227
|
+
list-style: lower-alpha }
|
228
|
+
|
229
|
+
ol.upperalpha {
|
230
|
+
list-style: upper-alpha }
|
231
|
+
|
232
|
+
ol.lowerroman {
|
233
|
+
list-style: lower-roman }
|
234
|
+
|
235
|
+
ol.upperroman {
|
236
|
+
list-style: upper-roman }
|
237
|
+
|
238
|
+
p.attribution {
|
239
|
+
text-align: right ;
|
240
|
+
margin-left: 50% }
|
241
|
+
|
242
|
+
p.caption {
|
243
|
+
font-style: italic }
|
244
|
+
|
245
|
+
p.credits {
|
246
|
+
font-style: italic ;
|
247
|
+
font-size: smaller }
|
248
|
+
|
249
|
+
p.label {
|
250
|
+
white-space: nowrap }
|
251
|
+
|
252
|
+
p.rubric {
|
253
|
+
font-weight: bold ;
|
254
|
+
font-size: larger ;
|
255
|
+
color: maroon ;
|
256
|
+
text-align: center }
|
257
|
+
|
258
|
+
p.sidebar-title {
|
259
|
+
font-family: sans-serif ;
|
260
|
+
font-weight: bold ;
|
261
|
+
font-size: larger }
|
262
|
+
|
263
|
+
p.sidebar-subtitle {
|
264
|
+
font-family: sans-serif ;
|
265
|
+
font-weight: bold }
|
266
|
+
|
267
|
+
p.topic-title {
|
268
|
+
font-weight: bold }
|
269
|
+
|
270
|
+
pre.address {
|
271
|
+
margin-bottom: 0 ;
|
272
|
+
margin-top: 0 ;
|
273
|
+
font: inherit }
|
274
|
+
|
275
|
+
pre.literal-block, pre.doctest-block, pre.math, pre.code {
|
276
|
+
margin-left: 2em ;
|
277
|
+
margin-right: 2em }
|
278
|
+
|
279
|
+
pre.code .ln { color: gray; } /* line numbers */
|
280
|
+
pre.code, code { background-color: #eeeeee }
|
281
|
+
pre.code .comment, code .comment { color: #5C6576 }
|
282
|
+
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
|
283
|
+
pre.code .literal.string, code .literal.string { color: #0C5404 }
|
284
|
+
pre.code .name.builtin, code .name.builtin { color: #352B84 }
|
285
|
+
pre.code .deleted, code .deleted { background-color: #DEB0A1}
|
286
|
+
pre.code .inserted, code .inserted { background-color: #A3D289}
|
287
|
+
|
288
|
+
span.classifier {
|
289
|
+
font-family: sans-serif ;
|
290
|
+
font-style: oblique }
|
291
|
+
|
292
|
+
span.classifier-delimiter {
|
293
|
+
font-family: sans-serif ;
|
294
|
+
font-weight: bold }
|
295
|
+
|
296
|
+
span.interpreted {
|
297
|
+
font-family: sans-serif }
|
298
|
+
|
299
|
+
span.option {
|
300
|
+
white-space: nowrap }
|
301
|
+
|
302
|
+
span.pre {
|
303
|
+
white-space: pre }
|
304
|
+
|
305
|
+
span.problematic, pre.problematic {
|
306
|
+
color: red }
|
307
|
+
|
308
|
+
span.section-subtitle {
|
309
|
+
/* font-size relative to parent (h1..h6 element) */
|
310
|
+
font-size: 80% }
|
311
|
+
|
312
|
+
table.citation {
|
313
|
+
border-left: solid 1px gray;
|
314
|
+
margin-left: 1px }
|
315
|
+
|
316
|
+
table.docinfo {
|
317
|
+
margin: 2em 4em }
|
318
|
+
|
319
|
+
table.docutils {
|
320
|
+
margin-top: 0.5em ;
|
321
|
+
margin-bottom: 0.5em }
|
322
|
+
|
323
|
+
table.footnote {
|
324
|
+
border-left: solid 1px black;
|
325
|
+
margin-left: 1px }
|
326
|
+
|
327
|
+
table.docutils td, table.docutils th,
|
328
|
+
table.docinfo td, table.docinfo th {
|
329
|
+
padding-left: 0.5em ;
|
330
|
+
padding-right: 0.5em ;
|
331
|
+
vertical-align: top }
|
332
|
+
|
333
|
+
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
334
|
+
font-weight: bold ;
|
335
|
+
text-align: left ;
|
336
|
+
white-space: nowrap ;
|
337
|
+
padding-left: 0 }
|
338
|
+
|
339
|
+
/* "booktabs" style (no vertical lines) */
|
340
|
+
table.docutils.booktabs {
|
341
|
+
border: 0px;
|
342
|
+
border-top: 2px solid;
|
343
|
+
border-bottom: 2px solid;
|
344
|
+
border-collapse: collapse;
|
345
|
+
}
|
346
|
+
table.docutils.booktabs * {
|
347
|
+
border: 0px;
|
348
|
+
}
|
349
|
+
table.docutils.booktabs th {
|
350
|
+
border-bottom: thin solid;
|
351
|
+
text-align: left;
|
45
352
|
}
|
46
353
|
|
354
|
+
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
355
|
+
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
356
|
+
font-size: 100% }
|
357
|
+
|
358
|
+
ul.auto-toc {
|
359
|
+
list-style-type: none }
|
360
|
+
|
47
361
|
</style>
|
48
362
|
</head>
|
49
363
|
<body>
|
@@ -125,11 +439,12 @@ further=%</p>
|
|
125
439
|
</div>
|
126
440
|
<div class="section" id="dialog-to-override-settings">
|
127
441
|
<h2>Dialog to override settings</h2>
|
442
|
+
<p>ATTN! As of version 1.72, YAD or Zenity cannot be used for the dialog.</p>
|
128
443
|
<p>You can have a dialog displayed just before the post-processor is invoked, to
|
129
|
-
<strong>disable</strong> some configuration options. Provided that
|
130
|
-
|
131
|
-
|
132
|
-
|
444
|
+
<strong>disable</strong> some configuration options. Provided that Whiptail or only xterm
|
445
|
+
are available on your computer, you can choose from the following options. You
|
446
|
+
<strong>cannot</strong> use the dialog to enable options which have not yet been set in the
|
447
|
+
configuration.</p>
|
133
448
|
<ul class="simple">
|
134
449
|
<li>Signatures, as set in the configuration <strong>can be ignored</strong>. Either
|
135
450
|
a default signature will appear as set in flnews or none.</li>
|
Binary file
|
Binary file
|
@@ -84,11 +84,13 @@ some users may not always agree with the result and for arbitrary reasons:
|
|
84
84
|
|
85
85
|
Dialog to override settings
|
86
86
|
---------------------------
|
87
|
+
ATTN! As of version 1.72, YAD or Zenity cannot be used for the dialog.
|
88
|
+
|
87
89
|
You can have a dialog displayed just before the post-processor is invoked, to
|
88
|
-
**disable** some configuration options. Provided that
|
89
|
-
|
90
|
-
|
91
|
-
|
90
|
+
**disable** some configuration options. Provided that Whiptail or only xterm
|
91
|
+
are available on your computer, you can choose from the following options. You
|
92
|
+
**cannot** use the dialog to enable options which have not yet been set in the
|
93
|
+
configuration.
|
92
94
|
|
93
95
|
* Signatures, as set in the configuration **can be ignored**. Either
|
94
96
|
a default signature will appear as set in flnews or none.
|
data/lib/flnews_post_proc.rb
CHANGED
@@ -59,19 +59,6 @@ class PostProcessor
|
|
59
59
|
# Will only handle http(s) for the time.
|
60
60
|
body.handle_uris
|
61
61
|
|
62
|
-
=begin
|
63
|
-
require 'gpgme'
|
64
|
-
|
65
|
-
debug('signing')
|
66
|
-
if ENV['GPG_AGENT_INFO']
|
67
|
-
crypto = GPGME::Crypto.new
|
68
|
-
data = GPGME::Data.new(body)
|
69
|
-
signature = crypto.clearsign(data, {
|
70
|
-
:output => File.new("/tmp/crypt_out.asc", 'w+')
|
71
|
-
})
|
72
|
-
end
|
73
|
-
=end
|
74
|
-
|
75
62
|
# get the headers and the body as a string.
|
76
63
|
# Assemble.
|
77
64
|
@article = headers.join << $LN << body.join
|
data/lib/headers.rb
CHANGED
@@ -95,7 +95,8 @@ class Headers
|
|
95
95
|
# or add a new value
|
96
96
|
@headers[cur_header] = val
|
97
97
|
end
|
98
|
-
|
98
|
+
# CURRENTLY UNUSED
|
99
|
+
# @headers[l.match(/^(.*?):/)[1].to_sym] = l.match(/:(.*)/)[1].strip
|
99
100
|
# h = l.split(':')
|
100
101
|
# @headers[h[0].strip.to_sym] = h[1...h.size].join(':').strip
|
101
102
|
end
|
@@ -116,7 +117,7 @@ class Headers
|
|
116
117
|
end
|
117
118
|
end
|
118
119
|
|
119
|
-
#
|
120
|
+
# Add headers, if need be. Set values where necessary.
|
120
121
|
def update()
|
121
122
|
no_archive = @newsgroups.no_archive
|
122
123
|
debug('no_archive should be set now : ' << no_archive.to_s)
|
data/lib/newsgroups.rb
CHANGED
@@ -127,18 +127,48 @@ class Newsgroups
|
|
127
127
|
end
|
128
128
|
end
|
129
129
|
|
130
|
-
# pick a random signature
|
130
|
+
# pick a random signature, if a list is available.
|
131
131
|
def pick_sig(sigfile)
|
132
132
|
debug 'picking signature from ' << sigfile.to_s
|
133
|
+
allSigs = nil
|
134
|
+
sig = nil
|
133
135
|
if sigfile && !sigfile.empty? && File.exist?(sigfile) && File.readable?(sigfile)
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
136
|
+
File.open(sigfile, 'r') do |sfile|
|
137
|
+
allSigs = sfile.read.split("\n\n")
|
138
|
+
numSigs = allSigs.length
|
139
|
+
# srand(Time.now.nsec)
|
140
|
+
# use /dev/urandom
|
141
|
+
srand()
|
142
|
+
sig = allSigs[rand(numSigs)]
|
143
|
+
end
|
144
|
+
# improve hazard for the next time.
|
145
|
+
# rearrange_sigs(sigfile, allSigs)
|
138
146
|
else
|
139
147
|
error 'Cannot read signature from file ' << sigfile
|
140
148
|
nil
|
141
149
|
end
|
150
|
+
return sig
|
151
|
+
end
|
152
|
+
|
153
|
+
# write a new rearranged version of the signature file for
|
154
|
+
# better hazard.
|
155
|
+
# EXPERIMENTAL
|
156
|
+
def rearrange_sigs(sigfile, all_sigs)
|
157
|
+
if File.writable?(sigfile)
|
158
|
+
new_sigs = Array.new(all_sigs.length)
|
159
|
+
until all_sigs.compact.empty? do
|
160
|
+
srand(Time.now.nsec)
|
161
|
+
sig = all_sigs.delete_at(rand(all_sigs.length))
|
162
|
+
new_sigs.push(sig)
|
163
|
+
end
|
164
|
+
new_sigs.compact!
|
165
|
+
File.open(sigfile, 'w') do |sfile|
|
166
|
+
debug 'Have ' << new_sigs.length.to_s << ' rearranged sigs'
|
167
|
+
sfile.write(new_sigs.join("\n\n") )
|
168
|
+
end
|
169
|
+
else
|
170
|
+
error 'Cannot write rearranged list of signatures to ' << sigfile
|
171
|
+
end
|
142
172
|
end
|
143
173
|
|
144
174
|
# define the no_archive header.
|
data/lib/override.rb
CHANGED
@@ -19,7 +19,6 @@
|
|
19
19
|
# notably to deactivate them.
|
20
20
|
#
|
21
21
|
# Post-processing CANNOT be deactivated completely in this dialog.
|
22
|
-
# I do not remember, why a previous comment stated the contrary.
|
23
22
|
|
24
23
|
require_relative 'basic_logging'
|
25
24
|
|
@@ -36,7 +35,8 @@ class OverrideDlg
|
|
36
35
|
# a new process (IO.popen() ). The first program from this array, which is
|
37
36
|
# found in the Path, will be used. Whiptail and a pure ruby dialog
|
38
37
|
# necessitate that xterm be found, too.
|
39
|
-
@@Executables = [YAD, ZENITY, WHIPTAIL, XTERM]
|
38
|
+
# @@Executables = [YAD, ZENITY, WHIPTAIL, XTERM]
|
39
|
+
@@Executables = [WHIPTAIL, XTERM]
|
40
40
|
@@LIBDIR = File::dirname(__FILE__)
|
41
41
|
# The configuration variables that can be unset.
|
42
42
|
# This class instance variable is exposed via a getter.
|
@@ -69,11 +69,14 @@ class OverrideDlg
|
|
69
69
|
debug('found executables ' << @executables.join(', '))
|
70
70
|
opts = nil
|
71
71
|
begin
|
72
|
+
=begin unresolved issues with YAD and Zenity
|
72
73
|
if has?(YAD)
|
73
74
|
return yad_dlg.split.collect {|o| o.to_s}.join(' ')
|
74
75
|
elsif has?(ZENITY)
|
75
76
|
return zenity_dlg.split.collect {|o| o.to_s}.join(' ')
|
76
77
|
elsif has? XTERM
|
78
|
+
=end
|
79
|
+
if has? XTERM
|
77
80
|
if has?(WHIPTAIL)
|
78
81
|
return whiptail_dlg.split.collect {|o| o.to_s}.join(' ')
|
79
82
|
else
|
@@ -141,7 +144,12 @@ class OverrideDlg
|
|
141
144
|
return nopts
|
142
145
|
end
|
143
146
|
|
144
|
-
#
|
147
|
+
# Creates a textual dialog in xterm.
|
148
|
+
# Some duplicate code, here, but I am afraid to oversee
|
149
|
+
# unique requirements of the external programs. It had
|
150
|
+
# not been necessary to correct the global behavior,
|
151
|
+
# but adaptations in each single method should be
|
152
|
+
# possible.
|
145
153
|
def ruby_dlg
|
146
154
|
debug('xterm dialog')
|
147
155
|
tf = Tempfile.new
|
data/lib/version.rb
CHANGED
@@ -14,9 +14,9 @@
|
|
14
14
|
=end
|
15
15
|
|
16
16
|
PROGNAME = 'flnews_post_proc'
|
17
|
-
PROGVERSION = "1.
|
17
|
+
PROGVERSION = "1.72"
|
18
18
|
AUTHORS = "Michael Uplawski"
|
19
19
|
EMAIL = "michael.uplawski@uplawski.eu"
|
20
|
-
YEARS = "2023 -
|
21
|
-
SUMMARY = "
|
20
|
+
YEARS = "2023 - 2025"
|
21
|
+
SUMMARY = "Override settings does not use Yad nor Zenity, only Whiptail or XTerm"
|
22
22
|
|
data/lib/yad_dlg
CHANGED
@@ -28,12 +28,14 @@ CONF=$(yad --item-separator=" " --title "$TITLE" --image="" --window-icon="" --f
|
|
28
28
|
--field="Custom-headers":CHK 'true' \
|
29
29
|
--field="No Archive":CHK 'true' \
|
30
30
|
--field="URL Correction":CHK 'true' \
|
31
|
-
--field="Log":CHK 'true')
|
31
|
+
--field="Log":CHK 'true' )
|
32
|
+
|
32
33
|
|
33
34
|
if [ $? == 0 ]
|
34
35
|
then
|
35
36
|
IFS="|"
|
36
37
|
read -ra C_ARR <<< $CONF
|
38
|
+
echo "$C_ARR"
|
37
39
|
CONF=''
|
38
40
|
# ------------->
|
39
41
|
# echo ${C_ARR[@]}
|
@@ -41,6 +43,8 @@ then
|
|
41
43
|
|
42
44
|
for i in GROUP_SIGS CUSTOM_HEADERS NO_ARCHIVE_GROUPS VFY_URLS DEBUG_LOG
|
43
45
|
do
|
46
|
+
echo -e "$i: ${C_ARR[$i]}"
|
47
|
+
echo -e "\n"
|
44
48
|
if [ 'FALSE' == "${C_ARR[$i]}" ]
|
45
49
|
then
|
46
50
|
CONF="$i $CONF"
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flnews_post_proc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '1.
|
4
|
+
version: '1.72'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Uplawski
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date: 2025-
|
10
|
+
date: 2025-05-17 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: diffy
|
@@ -87,7 +86,6 @@ homepage: https://rubygems.org
|
|
87
86
|
licenses:
|
88
87
|
- Nonstandard
|
89
88
|
metadata: {}
|
90
|
-
post_install_message:
|
91
89
|
rdoc_options: []
|
92
90
|
require_paths:
|
93
91
|
- lib
|
@@ -102,8 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
102
100
|
- !ruby/object:Gem::Version
|
103
101
|
version: '0'
|
104
102
|
requirements: []
|
105
|
-
rubygems_version: 3.
|
106
|
-
signing_key:
|
103
|
+
rubygems_version: 3.6.7
|
107
104
|
specification_version: 4
|
108
|
-
summary:
|
105
|
+
summary: Override settings does not use Yad nor Zenity, only Whiptail or XTerm
|
109
106
|
test_files: []
|