paperkey: simplify block generation
the chunk-iterator already does exactly what we want here.. Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
This commit is contained in:
parent
5dae81d199
commit
c2113a405e
@ -113,26 +113,18 @@ fn paperkey_html<W: Write>(
|
|||||||
|
|
||||||
if is_master {
|
if is_master {
|
||||||
const BLOCK_SIZE: usize = 20;
|
const BLOCK_SIZE: usize = 20;
|
||||||
let blocks = (lines.len() + BLOCK_SIZE -1)/BLOCK_SIZE;
|
|
||||||
|
|
||||||
for i in 0..blocks {
|
|
||||||
let start = i*BLOCK_SIZE;
|
|
||||||
let mut end = start + BLOCK_SIZE;
|
|
||||||
if end > lines.len() {
|
|
||||||
end = lines.len();
|
|
||||||
}
|
|
||||||
let data = &lines[start..end];
|
|
||||||
|
|
||||||
|
for (block_nr, block) in lines.chunks(BLOCK_SIZE).enumerate() {
|
||||||
writeln!(output, "<div style=\"page-break-inside: avoid;page-break-after: always\">")?;
|
writeln!(output, "<div style=\"page-break-inside: avoid;page-break-after: always\">")?;
|
||||||
writeln!(output, "<p>")?;
|
writeln!(output, "<p>")?;
|
||||||
|
|
||||||
for l in start..end {
|
for (i, line) in block.iter().enumerate() {
|
||||||
writeln!(output, "{:02}: {}", l, lines[l])?;
|
writeln!(output, "{:02}: {}", i + block_nr * BLOCK_SIZE, line)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
writeln!(output, "</p>")?;
|
writeln!(output, "</p>")?;
|
||||||
|
|
||||||
let qr_code = generate_qr_code("svg", data)?;
|
let qr_code = generate_qr_code("svg", block)?;
|
||||||
let qr_code = base64::encode_config(&qr_code, base64::STANDARD_NO_PAD);
|
let qr_code = base64::encode_config(&qr_code, base64::STANDARD_NO_PAD);
|
||||||
|
|
||||||
writeln!(output, "<center>")?;
|
writeln!(output, "<center>")?;
|
||||||
@ -192,20 +184,12 @@ fn paperkey_text<W: Write>(
|
|||||||
|
|
||||||
if is_private {
|
if is_private {
|
||||||
const BLOCK_SIZE: usize = 5;
|
const BLOCK_SIZE: usize = 5;
|
||||||
let blocks = (lines.len() + BLOCK_SIZE -1)/BLOCK_SIZE;
|
|
||||||
|
|
||||||
for i in 0..blocks {
|
for (block_nr, block) in lines.chunks(BLOCK_SIZE).enumerate() {
|
||||||
let start = i*BLOCK_SIZE;
|
for (i, line) in block.iter().enumerate() {
|
||||||
let mut end = start + BLOCK_SIZE;
|
writeln!(output, "{:-2}: {}", i + block_nr * BLOCK_SIZE, line)?;
|
||||||
if end > lines.len() {
|
|
||||||
end = lines.len();
|
|
||||||
}
|
}
|
||||||
let data = &lines[start..end];
|
let qr_code = generate_qr_code("utf8i", block)?;
|
||||||
|
|
||||||
for l in start..end {
|
|
||||||
writeln!(output, "{:-2}: {}", l, lines[l])?;
|
|
||||||
}
|
|
||||||
let qr_code = generate_qr_code("utf8i", data)?;
|
|
||||||
let qr_code = String::from_utf8(qr_code)
|
let qr_code = String::from_utf8(qr_code)
|
||||||
.map_err(|_| format_err!("Failed to read qr code (got non-utf8 data)"))?;
|
.map_err(|_| format_err!("Failed to read qr code (got non-utf8 data)"))?;
|
||||||
writeln!(output, "{}", qr_code)?;
|
writeln!(output, "{}", qr_code)?;
|
||||||
|
Loading…
Reference in New Issue
Block a user