docs: errors.md com 69 itens e comportamento de cada falha

Terceira rodada contra a origem recuperou 6 imagens de preservação (6433,
6520, 6656, 7529, 7939, 8396). Os 69 restantes estão classificados pelo que a
origem faz: 500 na sequência da preservação, travamento cortado em ~300 s ou
~30 s, ou falha de rede. A forma canônica por nome também devolve 500, e
Range não ajuda porque o servidor não envia nem os cabeçalhos.

Contagens atualizadas no README, MANIFEST e TODO: 12.991 itens com
preservação e 41.450 objetos no ledger.
This commit is contained in:
rodado
2026-09-13 21:59:58 +02:00
parent 711288405e
commit aeb8b3b179
10 changed files with 339 additions and 180 deletions
+4 -5
View File
@@ -85,10 +85,9 @@ separação é proposital: misturar derivado nosso com bitstream de origem
apagaria a procedência que o resto deste manifesto garante. apagaria a procedência que o resto deste manifesto garante.
`derivados/thumb256/` tem **13.059 miniaturas** (256px no maior lado, `derivados/thumb256/` tem **13.059 miniaturas** (256px no maior lado,
WebP q80, ~100 MB no total), uma por item, geradas com libvips: **12.849** WebP q80, ~100 MB no total), uma por item, geradas com libvips a partir da
derivadas da imagem de preservação e **202** derivadas do `thumbnail/` do imagem de preservação quando ela existe e, nos 69 itens sem ela, do
próprio DSpace, para itens que têm miniatura mas ainda não têm imagem de `thumbnail/` do próprio DSpace. A especificação de saída é a mesma nos dois casos,
preservação coletada. A especificação de saída é a mesma nos dois casos,
então o conjunto é uniforme. então o conjunto é uniforme.
Cobre **13.059 dos 13.060 handles do catálogo (99,99%)**. O único ausente Cobre **13.059 dos 13.060 handles do catálogo (99,99%)**. O único ausente
@@ -118,7 +117,7 @@ miniaturas de listagem.
| | Total esperado | Status | | | Total esperado | Status |
|---|--:|---| |---|--:|---|
| Itens no catálogo | 13.058 | ✅ fechado | | Itens no catálogo | 13.058 | ✅ fechado |
| Imagem de preservação | **12.985** | ✅ fechado | | Imagem de preservação | **12.991** | ✅ fechado |
| Miniatura (thumbnail do DSpace) | **13.059** | ✅ fechado | | Miniatura (thumbnail do DSpace) | **13.059** | ✅ fechado |
| Miniatura derivada (`derivados/thumb256/`) | **13.059** | ✅ fechado | | Miniatura derivada (`derivados/thumb256/`) | **13.059** | ✅ fechado |
| Imagens extras (multi-bitstream) | 245 | ✅ completo | | Imagens extras (multi-bitstream) | 245 | ✅ completo |
+4 -4
View File
@@ -21,15 +21,15 @@ o caminho combinado. Todo o desenho abaixo assume ritmo cortês e identificaçã
| | | | | |
|---|--:| |---|--:|
| Itens no catálogo | 13.060 | | Itens no catálogo | 13.060 |
| Com imagem de preservação | 12.985 | | Com imagem de preservação | 12.991 |
| Com thumbnail do DSpace | 13.059 | | Com thumbnail do DSpace | 13.059 |
| Com miniatura derivada (`derivados/thumb256/`) | 13.059 | | Com miniatura derivada (`derivados/thumb256/`) | 13.059 |
| Cópia legada (objdigital) | 2.137 | | Cópia legada (objdigital) | 2.137 |
| Posts do blog WordPress | 636 | | Posts do blog WordPress | 636 |
| **Objetos no bucket (ledger)** | **41.444** | | **Objetos no bucket (ledger)** | **41.450** |
| Peças no mural 3D | 13.059 | | Peças no mural 3D | 13.059 |
Os **75 itens sem imagem de preservação** estão em [`errors.md`](errors.md): Os **69 itens sem imagem de preservação** estão em [`errors.md`](errors.md):
a página do item responde `200`, mas a origem serve o bitstream com `HTTP 500`. a página do item responde `200`, mas a origem serve o bitstream com `HTTP 500`.
Nenhum fica fora do mural — todos têm thumbnail. A fila local está zerada: Nenhum fica fora do mural — todos têm thumbnail. A fila local está zerada:
tudo que foi baixado está no bucket. tudo que foi baixado está no bucket.
@@ -295,7 +295,7 @@ brasiliano/
Lista completa e com contexto em [`tasks/TODO.md`](tasks/TODO.md). As principais: Lista completa e com contexto em [`tasks/TODO.md`](tasks/TODO.md). As principais:
1. **75 itens sem preservação** ([`errors.md`](errors.md)) — depende da origem 1. **69 itens sem preservação** ([`errors.md`](errors.md)) — depende da origem
voltar a servir esses bitstreams; retomar com `FALTA3.retomar()` na aba. voltar a servir esses bitstreams; retomar com `FALTA3.retomar()` na aba.
2. **30 bitstreams `extra_seqN`** apagados pelo `subidor.py` antigo (que 2. **30 bitstreams `extra_seqN`** apagados pelo `subidor.py` antigo (que
confundia TIFF com texto de licença) precisam ser enumerados item a item confundia TIFF com texto de licença) precisam ser enumerados item a item
+108 -102
View File
@@ -1,120 +1,126 @@
# Itens sem imagem de preservação — 75 # Itens sem imagem de preservação — 69
Medido em 2026-09-13, depois da passada de download com a aba do navegador Atualizado em 2026-09-13, depois de três rodadas contra a origem com a aba do
conectada (108 imagens recuperadas, estas não). navegador conectada. Eram 75; **6 foram recuperados** nesta última rodada
(`6433`, `6520`, `6656`, `7529`, `7939`, `8396`) e já estão no bucket.
**O defeito é da origem, não da coleta.** Três evidências: **O defeito é da origem, não da coleta.** O que foi testado:
1. **A página do item responde `200` nas 74 sondadas** — o item existe e é 1. **A página do item responde `200`** em todos — o item existe; só o
servido; só o bitstream de preservação falha. bitstream de preservação falha.
2. **Não é ritmo.** Com 3 requisições simultâneas, `6545` e `6555` devolviam 2. **Não é ritmo.** No mesmo instante em que estes davam `500`, outros itens
`500` enquanto `1014`, `8128`, `10039`, `14358` e `6520` devolviam `200` no davam `200`, inclusive em série com 3 s de espaçamento.
mesmo instante — e o mesmo se repetiu em série, com 3 s de espaçamento. 3. **Todas as sequências 1–6 foram varridas.** Nos itens com defeito a
3. **Retry não recupera.** Uma segunda passada completa sobre os 74 não trouxe preservação dá `500` e as outras sequências são licença (texto) ou o
nenhum. thumbnail que já está no bucket (sha256 idêntico).
4. **A forma canônica `/bitstream/handle/<prefixo>/<id>/<arquivo>`**, que busca
pelo nome em vez da sequência, **também dá `500` em 0,2 s**.
5. **`Range` não ajuda nos itens que travam:** o servidor não devolve nem os
cabeçalhos antes do corte, então não há transferência para retomar.
6. **Curl** baixou 2 itens e depois recebeu `403` (Cloudflare) em 23 seguidos.
Distribuição dos erros na coleta: 45 × `HTTP 500`, 26 de rede (`Failed to **Nenhum destes fica fora do mural**, exceto o `7523`: todos têm `thumbnail/`
fetch`), 3 de blob curto (resposta menor que 1 KB). do DSpace no bucket e a miniatura foi derivada dela. O mural tem 13.059 de
13.060 peças.
**Nenhum destes fica fora do mural**: todos têm `thumbnail/` do DSpace no ## Por comportamento
bucket, e a miniatura de `derivados/thumb256/` foi derivada dela. O mural tem
13.059 de 13.060 peças — o único ausente é o `7523`, que não tem nem thumbnail. | comportamento | itens |
|---|--:|
| `500` na sequência da preservação | 44 |
| sem resposta, corte em ~300 s | 14 |
| falha de rede (sem tempo medido) | 7 |
| sem resposta, corte em ~30 s | 3 |
| `500` (registro anterior; sem URL no catálogo) | 1 |
## Por instituição ## Por instituição
| instituição | itens | | instituição | itens |
|---|--:| |---|--:|
| Instituto Moreira Salles | 37 | | Instituto Moreira Salles | 35 |
| Museu Aeroespacial | 22 | | Museu Aeroespacial | 21 |
| Arquivo Nacional | 9 | | Arquivo Nacional | 9 |
| Fiocruz | 4 | | Fiocruz | 4 |
| Biblioteca Nacional | 3 |
## Lista ## Lista
A coluna **página** é o código HTTP da página do item na sondagem de 13/09. | handle | instituição | título | comportamento | preservação |
|---|---|---|---|---|
| handle | instituição | título | página | preservação | | `6545` | Fiocruz | Residência de Carlos Chagas em Lassance, MG | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/6545/1/CC-05-01-015-3.jpg) |
|---|---|---|--:|---| | `6555` | Arquivo Nacional | Banquete oferecido a Berta Lutz por ocasião do alistamento de eleitoras no município de Macaíba, Rio Grande do Norte | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/6555/1/BR_RJANRIO_Q0_ADM_CPA_VFE_FOT_0009_m0003de0003.jpg) |
| `6433` | Instituto Moreira Salles | Pedra da Gávea, vista da Pedra Bonita | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/6433/1/0072430cx006-05t.jpg) | | `6568` | Arquivo Nacional | Maria Emília de Freitas Motta, uma das primeiras eleitoras de Maceió | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/6568/1/BR_RJANRIO_Q0_ADM_CPA_VFE_FOT_0019_m0001de0001.jpg) |
| `6520` | Instituto Moreira Salles | Acampamento para registro de eclipse solar | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/6520/1/007_IMG_1008t.jpg) | | `6570` | Arquivo Nacional | Maria Prestia | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/6570/1/BR_RJANRIO_Q0_ADM_CPA_VFE_FOT_0024_m0001de0001.jpg) |
| `6545` | Fiocruz | Residência de Carlos Chagas em Lassance, MG | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/6545/1/CC-05-01-015-3.jpg) | | `6669` | Fiocruz | Cemitério localizado atrás do Hospital Candelária | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/6669/1/BP-06-TP-01-012.jpg) |
| `6555` | Arquivo Nacional | Banquete oferecido a Berta Lutz por ocasião do alistamento de eleitoras no município de Macaíba, Rio Grande do Norte | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/6555/1/BR_RJANRIO_Q0_ADM_CPA_VFE_FOT_0009_m0003de0003.jpg) | | `6670` | Fiocruz | Panorâmica das instalações do Hospital Candelária | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/6670/1/BP-06-TP-01-015.jpg) |
| `6568` | Arquivo Nacional | Maria Emília de Freitas Motta, uma das primeiras eleitoras de Maceió | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/6568/1/BR_RJANRIO_Q0_ADM_CPA_VFE_FOT_0019_m0001de0001.jpg) | | `6674` | Fiocruz | Aspecto da enfermaria do Hospital Candelária em Rondônia | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/6674/1/BP-06-TP-01-022.jpg) |
| `6570` | Arquivo Nacional | Maria Prestia | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/6570/1/BR_RJANRIO_Q0_ADM_CPA_VFE_FOT_0024_m0001de0001.jpg) | | `7034` | Instituto Moreira Salles | Palácio Imperial | falha de rede (sem tempo medido) | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7034/1/007A6P3F08-004.jpg) |
| `6656` | Biblioteca Nacional | [Prince du Joinville] | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/6656/2/imagem.jpg) | | `7317` | Museu Aeroespacial | Vista Aérea de Minas Gerais | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7317/4/Alb%200294%20069ct.jpg) |
| `6669` | Fiocruz | Cemitério localizado atrás do Hospital Candelária | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/6669/1/BP-06-TP-01-012.jpg) | | `7326` | Museu Aeroespacial | Vista Aérea de Fortaleza | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7326/4/Alb%200294%20037ct.jpg) |
| `6670` | Fiocruz | Panorâmica das instalações do Hospital Candelária | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/6670/1/BP-06-TP-01-015.jpg) | | `7344` | Museu Aeroespacial | Vista Aérea de Cabo Frio | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7344/4/Alb%200294%20093ct.jpg) |
| `6674` | Fiocruz | Aspecto da enfermaria do Hospital Candelária em Rondônia | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/6674/1/BP-06-TP-01-022.jpg) | | `7353` | Museu Aeroespacial | Vista Aérea do Galeão | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7353/4/Alb%200294%20097ct.jpg) |
| `7034` | Instituto Moreira Salles | Palácio Imperial | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7034/1/007A6P3F08-004.jpg) | | `7355` | Museu Aeroespacial | Vista Aérea do Palácio do Governo de Teresina | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7355/4/Alb%200259%20073%20ct.jpg) |
| `7317` | Museu Aeroespacial | Vista Aérea de Minas Gerais | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7317/4/Alb%200294%20069ct.jpg) | | `7358` | Arquivo Nacional | Comissão de Inspeção de Fronteiras. Pedra do Cucuí | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7358/1/BR_RJANRIO_OG_0_FOT_0001_021.jpg) |
| `7326` | Museu Aeroespacial | Vista Aérea de Fortaleza | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7326/4/Alb%200294%20037ct.jpg) | | `7379` | Arquivo Nacional | Comissão de Inspeção de Fronteiras. Brasilea, marco fronteiro à barra do igarapé Bahia e Cobija | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7379/1/BR_RJANRIO_OG_0_FOT_0001_057.jpg) |
| `7344` | Museu Aeroespacial | Vista Aérea de Cabo Frio | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7344/4/Alb%200294%20093ct.jpg) | | `7386` | Arquivo Nacional | Comissão de Inspeção de Fronteiras. Marco de Paraguassu | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7386/1/BR_RJANRIO_OG_0_FOT_0001_067.jpg) |
| `7353` | Museu Aeroespacial | Vista Aérea do Galeão | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7353/4/Alb%200294%20097ct.jpg) | | `7393` | Arquivo Nacional | Comissão de Inspeção de Fronteiras. Primeira cachoeira do rio Verde | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7393/1/BR_RJANRIO_OG_0_FOT_0001_089.jpg) |
| `7355` | Museu Aeroespacial | Vista Aérea do Palácio do Governo de Teresina | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7355/4/Alb%200259%20073%20ct.jpg) | | `7438` | Arquivo Nacional | Comissão de Inspeção de Fronteiras. Marco de madeira levantado pela Inspeção de Fronteiras na barra do Rio Verde | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7438/1/BR_RJANRIO_OG_0_FOT_0001_085.jpg) |
| `7358` | Arquivo Nacional | Comissão de Inspeção de Fronteiras. Pedra do Cucuí | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7358/1/BR_RJANRIO_OG_0_FOT_0001_021.jpg) | | `7440` | Arquivo Nacional | Comissão de Inspeção de Fronteiras. Rio Verde, turma de levantamento de seu curso inferior | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7440/1/BR_RJANRIO_OG_0_FOT_0001_087.jpg) |
| `7379` | Arquivo Nacional | Comissão de Inspeção de Fronteiras. Brasilea, marco fronteiro à barra do igarapé Bahia e Cobija | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7379/1/BR_RJANRIO_OG_0_FOT_0001_057.jpg) | | `7457` | Museu Aeroespacial | Vista Aérea de Jacarepaguá | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7457/4/Alb%200294%20127ct.jpg) |
| `7386` | Arquivo Nacional | Comissão de Inspeção de Fronteiras. Marco de Paraguassu | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7386/1/BR_RJANRIO_OG_0_FOT_0001_067.jpg) | | `7461` | Museu Aeroespacial | Vista Aérea do Colégio Militar de Fortaleza | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7461/4/Alb%200259%20081ct.jpg) |
| `7393` | Arquivo Nacional | Comissão de Inspeção de Fronteiras. Primeira cachoeira do rio Verde | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7393/1/BR_RJANRIO_OG_0_FOT_0001_089.jpg) | | `7463` | Museu Aeroespacial | Vista Aérea de Bangu | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7463/4/Alb%200294%20106ct.jpg) |
| `7438` | Arquivo Nacional | Comissão de Inspeção de Fronteiras. Marco de madeira levantado pela Inspeção de Fronteiras na barra do Rio Verde | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7438/1/BR_RJANRIO_OG_0_FOT_0001_085.jpg) | | `7475` | Museu Aeroespacial | Vista Aérea de Recife | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7475/4/Alb%200259%20096ct.jpg) |
| `7440` | Arquivo Nacional | Comissão de Inspeção de Fronteiras. Rio Verde, turma de levantamento de seu curso inferior | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7440/1/BR_RJANRIO_OG_0_FOT_0001_087.jpg) | | `7515` | Museu Aeroespacial | Vista Aérea de Cabo Frio | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7515/4/Alb%200259%20145ct.jpg) |
| `7457` | Museu Aeroespacial | Vista Aérea de Jacarepaguá | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7457/4/Alb%200294%20127ct.jpg) | | `7516` | Museu Aeroespacial | Vista Aérea de Maricá | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7516/4/Alb%200259%20139ct.jpg) |
| `7461` | Museu Aeroespacial | Vista Aérea do Colégio Militar de Fortaleza | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7461/4/Alb%200259%20081ct.jpg) | | `7517` | Museu Aeroespacial | Vista Aérea de Belo Horizonte | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7517/3/Album%200035%20297%20CT.jpg) |
| `7463` | Museu Aeroespacial | Vista Aérea de Bangu | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7463/4/Alb%200294%20106ct.jpg) | | `7523` | Museu Aeroespacial | Vista Aérea de Cabo Frio | `500` (registro anterior; sem URL no catálogo) | — |
| `7475` | Museu Aeroespacial | Vista Aérea de Recife | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7475/4/Alb%200259%20096ct.jpg) | | `7743` | Instituto Moreira Salles | Copacabana e Avenida Delfim Moreira | falha de rede (sem tempo medido) | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7743/1/001ALA011011.jpg) |
| `7515` | Museu Aeroespacial | Vista Aérea de Cabo Frio | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7515/4/Alb%200259%20145ct.jpg) | | `7744` | Instituto Moreira Salles | Praia de Botafogo | falha de rede (sem tempo medido) | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7744/1/001ALA011012.jpg) |
| `7516` | Museu Aeroespacial | Vista Aérea de Maricá | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7516/4/Alb%200259%20139ct.jpg) | | `7766` | Instituto Moreira Salles | Exposição Internacional do Centenário da Independência - Entrada | falha de rede (sem tempo medido) | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7766/1/001ATK012010.jpg) |
| `7517` | Museu Aeroespacial | Vista Aérea de Belo Horizonte | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7517/3/Album%200035%20297%20CT.jpg) | | `7802` | Museu Aeroespacial | Vista Aérea de Campinas | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7802/1/Alb%200036%20037%20CT%20ok.jpg) |
| `7523` | Museu Aeroespacial | Vista Aérea de Cabo Frio | — | [bitstream]() | | `7814` | Museu Aeroespacial | Vista Aérea da Escola de Aeronáutica Militar | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7814/1/Alb%200036%20081%20CT%20ok.jpg) |
| `7529` | Museu Aeroespacial | Vista Aérea do Monte Pascoal | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7529/5/Alb%200259%20130ct.jpg) | | `7817` | Museu Aeroespacial | Vista Aérea do Instituto Militar de Biologia | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7817/1/Alb%200036%20087%20CT%20ok.jpg) |
| `7743` | Instituto Moreira Salles | Copacabana e Avenida Delfim Moreira | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7743/1/001ALA011011.jpg) | | `7848` | Museu Aeroespacial | Vista Aérea da Ilha do Pinheiro | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7848/1/Alb%200036%20013%20CT%20ok.jpg) |
| `7744` | Instituto Moreira Salles | Praia de Botafogo | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7744/1/001ALA011012.jpg) | | `7852` | Museu Aeroespacial | Vista Aérea de Cabo Frio | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7852/1/Album%200035%20105%20CT.jpg) |
| `7766` | Instituto Moreira Salles | Exposição Internacional do Centenário da Independência - Entrada | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7766/1/001ATK012010.jpg) | | `7861` | Museu Aeroespacial | Vista Aérea do Recreio dos Bandeirantes | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7861/1/Album%200035%20088%20CT.jpg) |
| `7802` | Museu Aeroespacial | Vista Aérea de Campinas | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7802/1/Alb%200036%20037%20CT%20ok.jpg) | | `7875` | Museu Aeroespacial | Vista Aérea do Distrito Federal | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7875/1/Album%200035%20078%20CT.jpg) |
| `7814` | Museu Aeroespacial | Vista Aérea da Escola de Aeronáutica Militar | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7814/1/Alb%200036%20081%20CT%20ok.jpg) | | `8075` | Museu Aeroespacial | Acidente Aeronave Morane | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8075/1/Alb%200038%20009%20CT%20ok.jpg) |
| `7817` | Museu Aeroespacial | Vista Aérea do Instituto Militar de Biologia | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7817/1/Alb%200036%20087%20CT%20ok.jpg) | | `8128` | Instituto Moreira Salles | Avenida Atlântica | falha de rede (sem tempo medido) | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8128/1/014AM006009.jpg) |
| `7848` | Museu Aeroespacial | Vista Aérea da Ilha do Pinheiro | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7848/1/Alb%200036%20013%20CT%20ok.jpg) | | `8133` | Instituto Moreira Salles | Rua da Misericórdia | falha de rede (sem tempo medido) | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8133/1/014AM010003.jpg) |
| `7852` | Museu Aeroespacial | Vista Aérea de Cabo Frio | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7852/1/Album%200035%20105%20CT.jpg) | | `8141` | Instituto Moreira Salles | Rua da Misericórdia | falha de rede (sem tempo medido) | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8141/1/014AM010014.jpg) |
| `7861` | Museu Aeroespacial | Vista Aérea do Recreio dos Bandeirantes | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7861/1/Album%200035%20088%20CT.jpg) | | `8145` | Instituto Moreira Salles | Arsenal da Marinha, antigo Arsenal de Guerra | sem resposta, corte em ~300 s | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8145/1/014AM012006.jpg) |
| `7875` | Museu Aeroespacial | Vista Aérea do Distrito Federal | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7875/1/Album%200035%20078%20CT.jpg) | | `8161` | Instituto Moreira Salles | Vista do Pão de Açúcar com o Palácio Monroe em primeiro plano | sem resposta, corte em ~300 s | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8161/1/014AM012058.jpg) |
| `7939` | Biblioteca Nacional | Aurelio Figueiredo, pintando o seu quadro - O baile da ilha Fiscal | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/7939/2/imagem.jpg) | | `8182` | Instituto Moreira Salles | Jockey Club | sem resposta, corte em ~300 s | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8182/1/014AM019007.jpg) |
| `8075` | Museu Aeroespacial | Acidente Aeronave Morane | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8075/1/Alb%200038%20009%20CT%20ok.jpg) | | `8187` | Instituto Moreira Salles | Jockey Club | sem resposta, corte em ~300 s | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8187/1/014AM019013.jpg) |
| `8128` | Instituto Moreira Salles | Avenida Atlântica | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8128/1/014AM006009.jpg) | | `8249` | Instituto Moreira Salles | Atuação dos bombeiros durante incêndio em casarão | sem resposta, corte em ~300 s | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8249/1/014AM002012.jpg) |
| `8133` | Instituto Moreira Salles | Rua da Misericórdia | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8133/1/014AM010003.jpg) | | `8254` | Instituto Moreira Salles | Passeio Público a partir da Avenida Mem de Sá | sem resposta, corte em ~300 s | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8254/1/014AM002019.jpg) |
| `8141` | Instituto Moreira Salles | Rua da Misericórdia | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8141/1/014AM010014.jpg) | | `8262` | Instituto Moreira Salles | Avenida Beira Mar a partir da Lapa, ao fundo, o Morro da Nova Cintra | sem resposta, corte em ~300 s | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8262/1/014AM003015.jpg) |
| `8145` | Instituto Moreira Salles | Arsenal da Marinha, antigo Arsenal de Guerra | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8145/1/014AM012006.jpg) | | `8267` | Instituto Moreira Salles | Igreja de Nossa Senhora de Copacabana | sem resposta, corte em ~300 s | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8267/1/014AM004003.jpg) |
| `8161` | Instituto Moreira Salles | Vista do Pão de Açúcar com o Palácio Monroe em primeiro plano | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8161/1/014AM012058.jpg) | | `8268` | Instituto Moreira Salles | Morro do Castelo | sem resposta, corte em ~300 s | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8268/1/014AM005003.jpg) |
| `8182` | Instituto Moreira Salles | Jockey Club | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8182/1/014AM019007.jpg) | | `8271` | Instituto Moreira Salles | Morro do Castelo | sem resposta, corte em ~30 s | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8271/1/014AM005005.jpg) |
| `8187` | Instituto Moreira Salles | Jockey Club | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8187/1/014AM019013.jpg) | | `8275` | Instituto Moreira Salles | Festividade no dia de São Sebastião; ao fundo, a Igreja de São Sebastião | sem resposta, corte em ~30 s | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8275/1/014AM005014.jpg) |
| `8249` | Instituto Moreira Salles | Atuação dos bombeiros durante incêndio em casarão | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8249/1/014AM002012.jpg) | | `8277` | Instituto Moreira Salles | Morro do Castelo | sem resposta, corte em ~30 s | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8277/1/014AM005020.jpg) |
| `8254` | Instituto Moreira Salles | Passeio Público a partir da Avenida Mem de Sá | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8254/1/014AM002019.jpg) | | `8286` | Instituto Moreira Salles | Rua Furquim Werneck, atual Rua Xavier da Silveira | sem resposta, corte em ~300 s | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8286/1/014AM006002.jpg) |
| `8262` | Instituto Moreira Salles | Avenida Beira Mar a partir da Lapa, ao fundo, o Morro da Nova Cintra | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8262/1/014AM003015.jpg) | | `8313` | Instituto Moreira Salles | Ilha das Cobras | sem resposta, corte em ~300 s | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8313/1/001AAN005123.jpg) |
| `8267` | Instituto Moreira Salles | Igreja de Nossa Senhora de Copacabana | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8267/1/014AM004003.jpg) | | `8316` | Instituto Moreira Salles | Cais Pharoux e adjacências | sem resposta, corte em ~300 s | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8316/1/001ACL019004.jpg) |
| `8268` | Instituto Moreira Salles | Morro do Castelo | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8268/1/014AM005003.jpg) | | `8374` | Instituto Moreira Salles | Estereoscopia erótica | sem resposta, corte em ~300 s | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8374/1/002080NUS0309.jpg) |
| `8271` | Instituto Moreira Salles | Morro do Castelo | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8271/1/014AM005005.jpg) | | `8739` | Instituto Moreira Salles | Vista aérea do bairro de Botafogo | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8739/1/007ALA102.jpg) |
| `8275` | Instituto Moreira Salles | Festividade no dia de São Sebastião; ao fundo, a Igreja de São Sebastião | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8275/1/014AM005014.jpg) | | `8761` | Instituto Moreira Salles | Vista aérea dos bairros da Gamboa e Saúde | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8761/1/007ALA015.jpg) |
| `8277` | Instituto Moreira Salles | Morro do Castelo | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8277/1/014AM005020.jpg) | | `8762` | Instituto Moreira Salles | Vista aérea do bairro Santo Cristo | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8762/1/007ALA016.jpg) |
| `8286` | Instituto Moreira Salles | Rua Furquim Werneck, atual Rua Xavier da Silveira | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8286/1/014AM006002.jpg) | | `8774` | Instituto Moreira Salles | Regresso da Divisão Naval após operações de guerra | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8774/1/007ALA027.jpg) |
| `8313` | Instituto Moreira Salles | Ilha das Cobras | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8313/1/001AAN005123.jpg) | | `8781` | Instituto Moreira Salles | Regresso da Divisão Naval após operações de guerra | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8781/1/007ALA033.jpg) |
| `8316` | Instituto Moreira Salles | Cais Pharoux e adjacências | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8316/1/001ACL019004.jpg) | | `8785` | Instituto Moreira Salles | Vista da Praça Tiradentes | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8785/1/007ALA037.jpg) |
| `8374` | Instituto Moreira Salles | Estereoscopia erótica | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8374/1/002080NUS0309.jpg) | | `8796` | Instituto Moreira Salles | Vista aérea dos bairros da Glória, Lapa e Passeio Público | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8796/1/007ALA047.jpg) |
| `8396` | Biblioteca Nacional | [Presidente Prudente de Moraes e seus Ministros] | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8396/2/imagem.jpg) | | `8804` | Instituto Moreira Salles | Vista aérea do Encouraçado São Paulo; por ocasião de recepção à família real da Bélgica | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8804/1/007ALA054.jpg) |
| `8739` | Instituto Moreira Salles | Vista aérea do bairro de Botafogo | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8739/1/007ALA102.jpg) | | `8825` | Instituto Moreira Salles | Avião | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8825/1/007ALA073.jpg) |
| `8761` | Instituto Moreira Salles | Vista aérea dos bairros da Gamboa e Saúde | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8761/1/007ALA015.jpg) | | `8872` | Instituto Moreira Salles | Os Oito Batutas | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8872/1/A05F03P02.jpg) |
| `8762` | Instituto Moreira Salles | Vista aérea do bairro Santo Cristo | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8762/1/007ALA016.jpg) | | `8912` | Instituto Moreira Salles | Os Oito Batutas (reprodução) | sem resposta, corte em ~300 s | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8912/1/pixinguinha04.jpg) |
| `8774` | Instituto Moreira Salles | Regresso da Divisão Naval após operações de guerra | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8774/1/007ALA027.jpg) | | `9148` | Instituto Moreira Salles | Morro do Pão de Açúcar; estação do bondinho | `500` na sequência da preservação | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/9148/1/007ALA091.jpg) |
| `8781` | Instituto Moreira Salles | Regresso da Divisão Naval após operações de guerra | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8781/1/007ALA033.jpg) |
| `8785` | Instituto Moreira Salles | Vista da Praça Tiradentes | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8785/1/007ALA037.jpg) |
| `8796` | Instituto Moreira Salles | Vista aérea dos bairros da Glória, Lapa e Passeio Público | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8796/1/007ALA047.jpg) |
| `8804` | Instituto Moreira Salles | Vista aérea do Encouraçado São Paulo; por ocasião de recepção à família real da Bélgica | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8804/1/007ALA054.jpg) |
| `8825` | Instituto Moreira Salles | Avião | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8825/1/007ALA073.jpg) |
| `8872` | Instituto Moreira Salles | Os Oito Batutas | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8872/1/A05F03P02.jpg) |
| `8912` | Instituto Moreira Salles | Os Oito Batutas (reprodução) | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/8912/1/pixinguinha04.jpg) |
| `9148` | Instituto Moreira Salles | Morro do Pão de Açúcar; estação do bondinho | 200 | [bitstream](https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1/9148/1/007ALA091.jpg) |
## Como retomar ## Como retomar
Com a aba do acervo aberta e o motor colado (`pipeline/baixar-faltantes-v3.js`), Se a origem se recuperar: abrir a aba do acervo e colar o motor de
`FALTA3.retomar()` tenta de novo só o que falta — o que já baixou está marcado `pipeline/baixar-faltantes-v3.js` (ou o motor com rejeição por sha256 descrito
em `localStorage` sob `bras_faltantes_v3`. O `pipeline/vigia-30min.sh` sobe no achado 2.26 do `tasks/TODO.md`). **Não aceitar imagem de qualquer
sozinho o que aparecer em `~/Downloads`. sequência** — a sequência 3 costuma ser o thumbnail do DSpace. Conferir cada
arquivo contra o ledger antes de subir. O `pipeline/vigia-30min.sh` sobe o que
aparecer em `~/Downloads`.
+26
View File
@@ -0,0 +1,26 @@
#!/bin/bash
# Baixa por curl, em serie e com timeout longo, os itens de errors.md.
# Descoberta de 13/09: a origem serve esses bitstreams a ~11 KB/s; o que
# parecia "erro de rede" no navegador era estouro de tempo. Alguns voltam 403
# (bloqueio Cloudflare a cliente sem sessao) -- esses ficam para a aba.
UA="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"
B=https://brasilianafotografica.bn.gov.br/brasiliana/bitstream/20.500.12156.1
ok=0; b403=0; b500=0; outro=0
while IFS='|' read -r id seq arq; do
[ -z "$id" ] && continue
nome="BRAS__20.500.12156.1_${id}__$(python3 -c "import urllib.parse,sys;print(urllib.parse.unquote(sys.argv[1]))" "$arq")"
[ -f "$HOME/Downloads/$nome" ] && continue
code=$(curl -sL --max-time 600 -o "$HOME/Downloads/.parcial" -w "%{http_code}" \
-H "User-Agent: $UA" -H "Accept: image/*,*/*;q=0.8" \
-H "Referer: https://brasilianafotografica.bn.gov.br/" --compressed "$B/$id/$seq/$arq")
sz=$(stat -f %z "$HOME/Downloads/.parcial" 2>/dev/null || echo 0)
if [ "$code" = "200" ] && [ "$sz" -gt 1024 ]; then
mv "$HOME/Downloads/.parcial" "$HOME/Downloads/$nome"; ok=$((ok+1)); echo "ok $id $((sz/1024)) KB"
else
rm -f "$HOME/Downloads/.parcial"
case "$code" in 403) b403=$((b403+1));; 500) b500=$((b500+1));; *) outro=$((outro+1));; esac
echo "erro $id http=$code ${sz}B"
fi
sleep 2
done < faltantes-v3.compacto.curl
echo "FIM: ok=$ok 403=$b403 500=$b500 outros=$outro"
+61 -66
View File
@@ -1,74 +1,69 @@
20.500.12156.1/6545
20.500.12156.1/6555
20.500.12156.1/6568
20.500.12156.1/6570
20.500.12156.1/6669
20.500.12156.1/6670
20.500.12156.1/6674
20.500.12156.1/7034
20.500.12156.1/7317
20.500.12156.1/7326
20.500.12156.1/7344
20.500.12156.1/7353
20.500.12156.1/7355
20.500.12156.1/7358
20.500.12156.1/7379
20.500.12156.1/7386
20.500.12156.1/7393
20.500.12156.1/7438
20.500.12156.1/7440
20.500.12156.1/7457
20.500.12156.1/7461
20.500.12156.1/7463
20.500.12156.1/7475 20.500.12156.1/7475
20.500.12156.1/8785 20.500.12156.1/7515
20.500.12156.1/7516
20.500.12156.1/7517
20.500.12156.1/7523
20.500.12156.1/7743
20.500.12156.1/7744
20.500.12156.1/7766
20.500.12156.1/7802
20.500.12156.1/7814
20.500.12156.1/7817
20.500.12156.1/7848
20.500.12156.1/7852
20.500.12156.1/7861
20.500.12156.1/7875 20.500.12156.1/7875
20.500.12156.1/8075 20.500.12156.1/8075
20.500.12156.1/7817 20.500.12156.1/8128
20.500.12156.1/7326 20.500.12156.1/8133
20.500.12156.1/7386 20.500.12156.1/8141
20.500.12156.1/8912 20.500.12156.1/8145
20.500.12156.1/8262
20.500.12156.1/8161 20.500.12156.1/8161
20.500.12156.1/8182
20.500.12156.1/8187
20.500.12156.1/8249
20.500.12156.1/8254
20.500.12156.1/8262
20.500.12156.1/8267
20.500.12156.1/8268
20.500.12156.1/8271
20.500.12156.1/8275
20.500.12156.1/8277
20.500.12156.1/8286
20.500.12156.1/8313
20.500.12156.1/8316
20.500.12156.1/8374
20.500.12156.1/8739
20.500.12156.1/8761 20.500.12156.1/8761
20.500.12156.1/8762 20.500.12156.1/8762
20.500.12156.1/7457
20.500.12156.1/8804
20.500.12156.1/8774 20.500.12156.1/8774
20.500.12156.1/7516
20.500.12156.1/7379
20.500.12156.1/7344
20.500.12156.1/7743
20.500.12156.1/8313
20.500.12156.1/8374
20.500.12156.1/6545
20.500.12156.1/8187
20.500.12156.1/8133
20.500.12156.1/8277
20.500.12156.1/7355
20.500.12156.1/7848
20.500.12156.1/8267
20.500.12156.1/6520
20.500.12156.1/8275
20.500.12156.1/7529
20.500.12156.1/6570
20.500.12156.1/8182
20.500.12156.1/7034
20.500.12156.1/7744
20.500.12156.1/6568
20.500.12156.1/8872
20.500.12156.1/8396
20.500.12156.1/7317
20.500.12156.1/7517
20.500.12156.1/8268
20.500.12156.1/8141
20.500.12156.1/6433
20.500.12156.1/7438
20.500.12156.1/6670
20.500.12156.1/7440
20.500.12156.1/7939
20.500.12156.1/8825
20.500.12156.1/7353
20.500.12156.1/7393
20.500.12156.1/7515
20.500.12156.1/7814
20.500.12156.1/7358
20.500.12156.1/7463
20.500.12156.1/7852
20.500.12156.1/8796
20.500.12156.1/8145
20.500.12156.1/8254
20.500.12156.1/7766
20.500.12156.1/6674
20.500.12156.1/7461
20.500.12156.1/8128
20.500.12156.1/8316
20.500.12156.1/8249
20.500.12156.1/6555
20.500.12156.1/6669
20.500.12156.1/7802
20.500.12156.1/8739
20.500.12156.1/7861
20.500.12156.1/9148
20.500.12156.1/6656
20.500.12156.1/8781 20.500.12156.1/8781
20.500.12156.1/8271 20.500.12156.1/8785
20.500.12156.1/8286 20.500.12156.1/8796
20.500.12156.1/8804
20.500.12156.1/8825
20.500.12156.1/8872
20.500.12156.1/8912
20.500.12156.1/9148
+74
View File
@@ -0,0 +1,74 @@
6433|1|0072430cx006-05t.jpg
6520|1|007_IMG_1008t.jpg
6545|1|CC-05-01-015-3.jpg
6555|1|BR_RJANRIO_Q0_ADM_CPA_VFE_FOT_0009_m0003de0003.jpg
6568|1|BR_RJANRIO_Q0_ADM_CPA_VFE_FOT_0019_m0001de0001.jpg
6570|1|BR_RJANRIO_Q0_ADM_CPA_VFE_FOT_0024_m0001de0001.jpg
6656|2|imagem.jpg
6669|1|BP-06-TP-01-012.jpg
6670|1|BP-06-TP-01-015.jpg
6674|1|BP-06-TP-01-022.jpg
7034|1|007A6P3F08-004.jpg
7317|4|Alb%200294%20069ct.jpg
7326|4|Alb%200294%20037ct.jpg
7344|4|Alb%200294%20093ct.jpg
7353|4|Alb%200294%20097ct.jpg
7355|4|Alb%200259%20073%20ct.jpg
7358|1|BR_RJANRIO_OG_0_FOT_0001_021.jpg
7379|1|BR_RJANRIO_OG_0_FOT_0001_057.jpg
7386|1|BR_RJANRIO_OG_0_FOT_0001_067.jpg
7393|1|BR_RJANRIO_OG_0_FOT_0001_089.jpg
7438|1|BR_RJANRIO_OG_0_FOT_0001_085.jpg
7440|1|BR_RJANRIO_OG_0_FOT_0001_087.jpg
7457|4|Alb%200294%20127ct.jpg
7461|4|Alb%200259%20081ct.jpg
7463|4|Alb%200294%20106ct.jpg
7475|4|Alb%200259%20096ct.jpg
7515|4|Alb%200259%20145ct.jpg
7516|4|Alb%200259%20139ct.jpg
7517|3|Album%200035%20297%20CT.jpg
7529|5|Alb%200259%20130ct.jpg
7743|1|001ALA011011.jpg
7744|1|001ALA011012.jpg
7766|1|001ATK012010.jpg
7802|1|Alb%200036%20037%20CT%20ok.jpg
7814|1|Alb%200036%20081%20CT%20ok.jpg
7817|1|Alb%200036%20087%20CT%20ok.jpg
7848|1|Alb%200036%20013%20CT%20ok.jpg
7852|1|Album%200035%20105%20CT.jpg
7861|1|Album%200035%20088%20CT.jpg
7875|1|Album%200035%20078%20CT.jpg
7939|2|imagem.jpg
8075|1|Alb%200038%20009%20CT%20ok.jpg
8128|1|014AM006009.jpg
8133|1|014AM010003.jpg
8141|1|014AM010014.jpg
8145|1|014AM012006.jpg
8161|1|014AM012058.jpg
8182|1|014AM019007.jpg
8187|1|014AM019013.jpg
8249|1|014AM002012.jpg
8254|1|014AM002019.jpg
8262|1|014AM003015.jpg
8267|1|014AM004003.jpg
8268|1|014AM005003.jpg
8271|1|014AM005005.jpg
8275|1|014AM005014.jpg
8277|1|014AM005020.jpg
8286|1|014AM006002.jpg
8313|1|001AAN005123.jpg
8316|1|001ACL019004.jpg
8374|1|002080NUS0309.jpg
8396|2|imagem.jpg
8739|1|007ALA102.jpg
8761|1|007ALA015.jpg
8762|1|007ALA016.jpg
8774|1|007ALA027.jpg
8781|1|007ALA033.jpg
8785|1|007ALA037.jpg
8796|1|007ALA047.jpg
8804|1|007ALA054.jpg
8825|1|007ALA073.jpg
8872|1|A05F03P02.jpg
8912|1|pixinguinha04.jpg
9148|1|007ALA091.jpg
+1
View File
@@ -0,0 +1 @@
02613de5023060e3,05911dc2ecc6cc15,0caab216058ff6d2,0d55d8aed6f5c6ab,0f3c9e36634481a6,0fab79100a789e1e,156a2fb4dbf31022,19b7926881196d2c,1d79f6322473b2d6,1dd9eb1b3225e4f5,245c2235080f8741,2adcc082cc2803f6,2f5796cbebe1630f,3170f17d024f1ecb,39d71b3d5698ce40,39f5e743c8e7c82f,3c1ebc546fe9515a,3f2d83f3343edece,406d157fa4a0dece,4653cb23d05ca80a,4dd6179c4aa5c6ad,52d64de29697520d,55804fed0b889e20,592a055b12dde540,5dd72d2b95a8a360,63c554533a29f9c7,646a2ca5f0e27755,64eb90a0f19f5c92,68237f8e1b3320a2,6b3dc2e4fab10c17,6e5fb5d70b0a2188,78b1c7c97264eccc,7ed78268ecd643d3,805597161ea720ca,857f49a66ef4790a,8761a8854c2f2d94,88e7134f34a1c980,8c27317041265193,9027d49c43062815,9048c399cbd2c9ea,93ecf64dfbd9dadd,9988377423792689,9dcbda0f1b62059a,9e3d84d8f527852a,a11dc33508dc2f4f,a5daf0bb81dced94,aba0616fc5ababd5,ac85ebad711a1e4e,ae7974f4b7cf7c5b,ae7a8b07fcae91f2,ae8d4c76a7b7a11a,aec60e35ea0d63d6,b270eb4a505cb651,ba496d1ac80b3566,baac480015239d09,bc5afbc7c40ae40c,bd2d3f1c856e5f6a,be0f499b3a79a4f5,cb58995e649b0463,cf9282f500f4b123,cfdf15b521f5f74b,d1d9d4e2a42a4bda,d8749360ea01dc8b,dc485d5aa7327ef8,dd14376bddd21672,de1bbbf57c2cf42b,deef3f833f25f707,ea827ea65df1eb2e,f154da9ee174cf8c,f1862c0b01c18b00,f739113fc8912219,faa22557ced734f0,ff3501b9e831ae94
+1
View File
@@ -0,0 +1 @@
6545|1|CC-05-01-015-3.jpg;6555|1|BR_RJANRIO_Q0_ADM_CPA_VFE_FOT_0009_m0003de0003.jpg;6568|1|BR_RJANRIO_Q0_ADM_CPA_VFE_FOT_0019_m0001de0001.jpg;6570|1|BR_RJANRIO_Q0_ADM_CPA_VFE_FOT_0024_m0001de0001.jpg;6656|2|imagem.jpg;6669|1|BP-06-TP-01-012.jpg;6670|1|BP-06-TP-01-015.jpg;6674|1|BP-06-TP-01-022.jpg;7034|1|007A6P3F08-004.jpg;7317|4|Alb%200294%20069ct.jpg;7326|4|Alb%200294%20037ct.jpg;7344|4|Alb%200294%20093ct.jpg;7353|4|Alb%200294%20097ct.jpg;7355|4|Alb%200259%20073%20ct.jpg;7358|1|BR_RJANRIO_OG_0_FOT_0001_021.jpg;7379|1|BR_RJANRIO_OG_0_FOT_0001_057.jpg;7386|1|BR_RJANRIO_OG_0_FOT_0001_067.jpg;7393|1|BR_RJANRIO_OG_0_FOT_0001_089.jpg;7438|1|BR_RJANRIO_OG_0_FOT_0001_085.jpg;7440|1|BR_RJANRIO_OG_0_FOT_0001_087.jpg;7457|4|Alb%200294%20127ct.jpg;7461|4|Alb%200259%20081ct.jpg;7463|4|Alb%200294%20106ct.jpg;7475|4|Alb%200259%20096ct.jpg;7515|4|Alb%200259%20145ct.jpg;7516|4|Alb%200259%20139ct.jpg;7517|3|Album%200035%20297%20CT.jpg;7529|5|Alb%200259%20130ct.jpg;7743|1|001ALA011011.jpg;7744|1|001ALA011012.jpg;7766|1|001ATK012010.jpg;7802|1|Alb%200036%20037%20CT%20ok.jpg;7814|1|Alb%200036%20081%20CT%20ok.jpg;7817|1|Alb%200036%20087%20CT%20ok.jpg;7848|1|Alb%200036%20013%20CT%20ok.jpg;7852|1|Album%200035%20105%20CT.jpg;7861|1|Album%200035%20088%20CT.jpg;7875|1|Album%200035%20078%20CT.jpg;7939|2|imagem.jpg;8075|1|Alb%200038%20009%20CT%20ok.jpg;8128|1|014AM006009.jpg;8133|1|014AM010003.jpg;8141|1|014AM010014.jpg;8145|1|014AM012006.jpg;8161|1|014AM012058.jpg;8182|1|014AM019007.jpg;8187|1|014AM019013.jpg;8249|1|014AM002012.jpg;8254|1|014AM002019.jpg;8262|1|014AM003015.jpg;8267|1|014AM004003.jpg;8268|1|014AM005003.jpg;8271|1|014AM005005.jpg;8275|1|014AM005014.jpg;8277|1|014AM005020.jpg;8286|1|014AM006002.jpg;8313|1|001AAN005123.jpg;8316|1|001ACL019004.jpg;8374|1|002080NUS0309.jpg;8396|2|imagem.jpg;8739|1|007ALA102.jpg;8761|1|007ALA015.jpg;8762|1|007ALA016.jpg;8774|1|007ALA027.jpg;8781|1|007ALA033.jpg;8785|1|007ALA037.jpg;8796|1|007ALA047.jpg;8804|1|007ALA054.jpg;8825|1|007ALA073.jpg;8872|1|A05F03P02.jpg;8912|1|pixinguinha04.jpg;9148|1|007ALA091.jpg
+59 -2
View File
@@ -277,7 +277,7 @@ Mural no ar com **13.059 peças** (antes 12.552): commits `bba32f6`,
| | | | | |
|---|--:| |---|--:|
| itens no catálogo | 13.060 | | itens no catálogo | 13.060 |
| com imagem de preservação | 12.985 | | com imagem de preservação | 12.991 |
| com thumbnail do DSpace | 13.059 | | com thumbnail do DSpace | 13.059 |
| com miniatura derivada (`derivados/thumb256/`) | 13.059 | | com miniatura derivada (`derivados/thumb256/`) | 13.059 |
| **no mural** | **13.059** | | **no mural** | **13.059** |
@@ -375,6 +375,59 @@ requisições simultâneas, `6545` e `6555` davam 500 enquanto `1014`, `8128`,
crescente eles davam erros seguidos e disparavam o aborto automático — por crescente eles davam erros seguidos e disparavam o aborto automático — por
isso o motor passou a **embaralhar** a lista. isso o motor passou a **embaralhar** a lista.
### Achado 2.26 — nova rodada sobre os 75 (13/09 noite): o que recupera e a armadilha da sequência
**Recuperados (3):** `6433` e `6520` por curl — a origem serve a ~11 KB/s, e o
"erro de rede" do navegador era estouro de tempo; `6656` no navegador na
**sequência 3** (5,4 MB, 1604×2612) — o catálogo apontava a sequência 2, que é
o texto de licença.
**Curl não escala:** depois dos 2 primeiros o Cloudflare devolveu `403`
(5.484 bytes) para 23 seguidos. Parado para não piorar o bloqueio.
**Armadilha — não aceitar "qualquer imagem em qualquer sequência".** A 1ª
versão do motor que varria as sequências 1–6 trouxe 8 "sucessos"; **7 eram o
`thumbnail/thumb_3.jpg` que já estava no bucket** (sha256 idêntico, 27–170 KB,
~800 px). Retidos antes de subir e descartados. A estrutura típica de um item
DSpace deste acervo:
| sequência | conteúdo |
|--:|---|
| 1 | imagem de preservação (nos itens com defeito: `HTTP 500`) |
| 2 | bitstream de licença (texto, 426–821 bytes) |
| 3 | thumbnail gerado pelo DSpace |
| 4–6 | inexistente |
A versão corrigida calcula SHA-256 no navegador e rejeita qualquer candidato
cujo hash já esteja no ledger como `thumbnail` ou `legado`, e grava com prefixo
`HOLD__` (o `subidor-paralelo.py` ignora) para conferência antes de subir.
### Achado 2.27 — os itens do IMS morrem num corte de 300 s; o `500` é o mesmo por sequência e por nome
Terceira rodada sobre os 75 (13/09, 21h), com um motor que registra o tempo de
cada tentativa. Três comportamentos distintos, todos da origem:
- **Corte em ~300 s sem resposta** (`rede@301s`), em 12 itens do Instituto
Moreira Salles (`8145`–`8316`). A requisição não recebe nem cabeçalho: um
teste com `Range: bytes=0-1023` estourou 18 s sem resposta, então não é
transferência lenta que cai no meio — o servidor trava antes de responder e
algo no caminho corta em 5 min. Retomar em pedaços não ajuda.
- **Corte em ~32 s** em 3 itens (`8271`, `8275`, `8277`): mesma família, limite
diferente.
- **`500` imediato** (0 s) em 11 itens (`8739`–`9148`). A forma canônica
`/bitstream/handle/20.500.12156.1/<id>/<arquivo>` — que busca pelo nome em
vez da sequência — **também devolve `500` em 0,2 s** (`8739`, `6545`). O
defeito está no servidor localizar o bitstream, não no endereçamento.
Estrutura das sequências nos itens do IMS: **1 = preservação, 2 = thumbnail**
(sem bitstream de licença, ao contrário dos do Museu Aeroespacial/Arquivo
Nacional/Fiocruz, onde 2 é licença e 3 é thumbnail). Varrer 1–6 nesses itens só
gasta tempo: 3–6 não existem.
Recuperado nesta rodada: `8396` (Biblioteca Nacional, sequência 3, 13,5 MB,
3361×4453) — mesmo padrão de `6656` e `7939`, onde o catálogo aponta a
sequência 2 (licença) e a imagem está na 3.
### Achado 2.22 — o gargalo do upload era o `subidor.py`, não o link; troca pelo paralelo ### Achado 2.22 — o gargalo do upload era o `subidor.py`, não o link; troca pelo paralelo
Eu tinha escrito aqui que o gargalo era o link de casa. **Errado.** Medido em Eu tinha escrito aqui que o gargalo era o link de casa. **Errado.** Medido em
@@ -563,7 +616,7 @@ handle.
- [ ] **Rebaixar o que o `subidor.py` antigo apagou** (achado 2.19, correção): 8 itens sem preservação (`14358`–`14364`, `14368`) + ~20 `extra_seqN` em TIFF — lista com URL em `pipeline/apagados-pelo-subidor-antigo.jsonl`. Precisa da aba do navegador. - [ ] **Rebaixar o que o `subidor.py` antigo apagou** (achado 2.19, correção): 8 itens sem preservação (`14358`–`14364`, `14368`) + ~20 `extra_seqN` em TIFF — lista com URL em `pipeline/apagados-pelo-subidor-antigo.jsonl`. Precisa da aba do navegador.
- [x] ~~Recontar os faltantes de preservação (211)~~ — feito em 13/09: 136 baixaram, sobraram **75** com defeito de origem (achado 2.25), listados em `pipeline/falhas-500-2026-09-13.txt`. Script usado: `pipeline/baixar-faltantes-v3.js` (ou o motor `F5` colado direto na aba). - [x] ~~Recontar os faltantes de preservação (211)~~ — feito em 13/09: 136 baixaram, sobraram **75** com defeito de origem (achado 2.25), listados em `pipeline/falhas-500-2026-09-13.txt`. Script usado: `pipeline/baixar-faltantes-v3.js` (ou o motor `F5` colado direto na aba).
- [ ] **`subidor.py` antigo: aposentar ou corrigir a regra de assinatura** antes de qualquer uso futuro — do jeito que está, apaga TIFF. - [ ] **`subidor.py` antigo: aposentar ou corrigir a regra de assinatura** antes de qualquer uso futuro — do jeito que está, apaga TIFF.
- [ ] **Rebaixar os 75 do achado 2.25** quando a origem se recuperar — todos têm thumbnail, falta a preservação. Um `FALTA3.retomar()`/`F5.iniciar()` na aba basta; o que já baixou fica marcado no `localStorage` (`bras_faltantes_v3`). - [ ] **Rebaixar os 69 que sobraram** (achados 2.25–2.27; 6 recuperados em 13/09 à noite) quando a origem se recuperar — todos têm thumbnail, falta a preservação. Um `FALTA3.retomar()`/`F5.iniciar()` na aba basta; o que já baixou fica marcado no `localStorage` (`bras_faltantes_v3`).
- [ ] **Handle `8396` sem imagem e sem diagnóstico** — não está em `pipeline/faltantes-preservacao.jsonl` nem nas exceções conhecidas do MANIFEST; apareceu ao cruzar catálogo × miniaturas. Precisa de uma tentativa avulsa pra saber se é recusa da origem (achado 2.18) ou outra coisa. - [ ] **Handle `8396` sem imagem e sem diagnóstico** — não está em `pipeline/faltantes-preservacao.jsonl` nem nas exceções conhecidas do MANIFEST; apareceu ao cruzar catálogo × miniaturas. Precisa de uma tentativa avulsa pra saber se é recusa da origem (achado 2.18) ou outra coisa.
- [ ] **`.git` do `rafapolo/xyz` está em 2,5 GB** e cada publicação do atlas soma ~51 MB permanentes (binário não faz delta). Se o mural for republicar atlas com frequência, tirar os `.webp` do git — LFS, ou servir do próprio bucket, que já tem os thumbs em `derivados/thumb256/`. - [ ] **`.git` do `rafapolo/xyz` está em 2,5 GB** e cada publicação do atlas soma ~51 MB permanentes (binário não faz delta). Se o mural for republicar atlas com frequência, tirar os `.webp` do git — LFS, ou servir do próprio bucket, que já tem os thumbs em `derivados/thumb256/`.
- [ ] **Crawl da Fase 1 pode ter mais buracos** (achado 2.10 do PLANO.md): 2 itens reais (`1799`, `4798`) foram achados faltando no catálogo só porque o WordPress os citava — já corrigidos, mas não existe verificação exaustiva de que a enumeração por `browse?type=title` pegou 100% de cada comunidade. Sem ideia barata de auditar isso por completo agora. - [ ] **Crawl da Fase 1 pode ter mais buracos** (achado 2.10 do PLANO.md): 2 itens reais (`1799`, `4798`) foram achados faltando no catálogo só porque o WordPress os citava — já corrigidos, mas não existe verificação exaustiva de que a enumeração por `browse?type=title` pegou 100% de cada comunidade. Sem ideia barata de auditar isso por completo agora.
@@ -608,4 +661,8 @@ handle.
- **Assinaturas aceitas como imagem** (`subidor-paralelo.py`): JPEG `FFD8`, PNG, - **Assinaturas aceitas como imagem** (`subidor-paralelo.py`): JPEG `FFD8`, PNG,
TIFF `II*\0`/`MM\0*`, GIF, JP2, BMP `BM`, WebP. Content-Type sai do conteúdo, TIFF `II*\0`/`MM\0*`, GIF, JP2, BMP `BM`, WebP. Content-Type sai do conteúdo,
não da extensão (TIFF chega com nome `.jpg`). não da extensão (TIFF chega com nome `.jpg`).
- **`vipsthumbnail --output` é relativo à pasta do arquivo de entrada**, não ao
diretório corrente: `vipsthumbnail tmp/x.img --output out/y.webp` tenta
gravar em `tmp/out/y.webp` e falha. Usar caminho absoluto na saída. (Custou
uma miniatura "refeita" que não foi refeita, em 13/09.)
- Scripts-fonte em `pipeline/`: `coletor.js` / `coletor-resume.js` (metadados), `baixador-navegador.js` (preservação, todos os itens), `baixador-thumb.js` (miniaturas), `baixador-extras.js` (2a+ imagem de itens multi-bitstream), `reparo-multibitstream.js` (enumera bitstreams reais de um item). - Scripts-fonte em `pipeline/`: `coletor.js` / `coletor-resume.js` (metadados), `baixador-navegador.js` (preservação, todos os itens), `baixador-thumb.js` (miniaturas), `baixador-extras.js` (2a+ imagem de itens multi-bitstream), `reparo-multibitstream.js` (enumera bitstreams reais de um item).
File diff suppressed because one or more lines are too long