adicao de logs para ver o que acontece com cada csv
This commit is contained in:
@@ -233,11 +233,37 @@ fn main() {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
.filter_map_ok(|(ai_repsonse, file_path_csv)| {
|
.filter_map_ok(|(ai_response, file_path_csv)| {
|
||||||
|
|
||||||
|
|
||||||
|
// ---------- LOG 1: mostra qual arquivo está sendo processado ----------
|
||||||
|
eprintln!("🔍 Processando arquivo: {:?}", file_path_csv);
|
||||||
|
// Opcional: mostrar as primeiras linhas do CSV
|
||||||
|
eprintln!("📄 Primeiras 200 caracteres do CSV:\n{}", &ai_response[..200.min(ai_response.len())]);
|
||||||
|
//
|
||||||
|
|
||||||
let mut reader = csv::ReaderBuilder::new()
|
let mut reader = csv::ReaderBuilder::new()
|
||||||
.has_headers(true)
|
.has_headers(true)
|
||||||
.delimiter(b';')
|
.delimiter(b';')
|
||||||
.from_reader(ai_repsonse.as_bytes());
|
.from_reader(ai_response.as_bytes());
|
||||||
|
|
||||||
|
|
||||||
|
// ---------- LOG 2: tenta desserializar e conta os registros ----------
|
||||||
|
let deserialized = reader.deserialize::<CsvHeader>().collect::<Vec<_>>();
|
||||||
|
eprintln!("🧾 Total de linhas lidas (incluindo cabeçalho?): {}", deserialized.len());
|
||||||
|
|
||||||
|
for (i, result) in deserialized.iter().enumerate() {
|
||||||
|
match result {
|
||||||
|
Ok(record) => {
|
||||||
|
eprintln!("✅ Linha {}: CATEGORIA={}, PONTOS={:?}", i, record.CATEGORIA, record.PONTOS);
|
||||||
|
}
|
||||||
|
Err(e) => {
|
||||||
|
eprintln!("❌ Linha {} ERRO: {}", i, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
let mut deserialized_iter = reader.deserialize::<CsvHeader>();
|
let mut deserialized_iter = reader.deserialize::<CsvHeader>();
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ use std::time::Duration;
|
|||||||
|
|
||||||
use csv;
|
use csv;
|
||||||
|
|
||||||
|
use std::fs::metadata;
|
||||||
|
use std::io::Read;
|
||||||
|
|
||||||
pub mod send_mail_util;
|
pub mod send_mail_util;
|
||||||
pub mod zip_directory_util;
|
pub mod zip_directory_util;
|
||||||
|
|
||||||
@@ -228,11 +231,53 @@ fn main() {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
.filter_map_ok(|(ai_repsonse, file_path_csv)| {
|
.filter_map_ok(|(ai_response, file_path_csv)| {
|
||||||
|
|
||||||
|
// ---------- LOG 1: mostra qual arquivo está sendo processado ----------
|
||||||
|
// eprintln!("🔍 Processando arquivo: {:?}", file_path_csv);
|
||||||
|
|
||||||
|
// Mostra o caminho absoluto
|
||||||
|
let path = file_path_csv.path();
|
||||||
|
|
||||||
|
// Caminho absoluto
|
||||||
|
if let Ok(abs_path) = std::fs::canonicalize(&path) {
|
||||||
|
eprintln!("📁 Caminho absoluto: {:?}", abs_path);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Metadados
|
||||||
|
if let Ok(meta) = std::fs::metadata(&path) {
|
||||||
|
if let Ok(modified) = meta.modified() {
|
||||||
|
let datetime: chrono::DateTime<chrono::Local> = modified.into();
|
||||||
|
eprintln!("📅 Modificado (local): {}", datetime.format("%Y-%m-%d %H:%M:%S%.3f"));
|
||||||
|
//eprintln!("🕒 Modificado: {:?}", modified);
|
||||||
|
}
|
||||||
|
eprintln!("📏 Tamanho: {} bytes", meta.len());
|
||||||
|
}
|
||||||
|
|
||||||
|
// Opcional: mostrar as primeiras linhas do CSV
|
||||||
|
eprintln!("📄 Primeiras 200 caracteres do CSV:\n{}", &ai_response[..200.min(ai_response.len())]);
|
||||||
|
//
|
||||||
|
|
||||||
let mut reader = csv::ReaderBuilder::new()
|
let mut reader = csv::ReaderBuilder::new()
|
||||||
.has_headers(true)
|
.has_headers(true)
|
||||||
.delimiter(b';')
|
.delimiter(b';')
|
||||||
.from_reader(ai_repsonse.as_bytes());
|
.from_reader(ai_response.as_bytes());
|
||||||
|
|
||||||
|
// ---------- LOG 2: tenta desserializar e conta os registros ----------
|
||||||
|
let deserialized = reader.deserialize::<CsvHeader>().collect::<Vec<_>>();
|
||||||
|
eprintln!("🧾 Total de linhas lidas (incluindo cabeçalho?): {}", deserialized.len());
|
||||||
|
|
||||||
|
for (i, result) in deserialized.iter().enumerate() {
|
||||||
|
match result {
|
||||||
|
Ok(record) => {
|
||||||
|
eprintln!("✅ Linha {}: CATEGORIA={}, PONTOS={:?}", i, record.CATEGORIA, record.PONTOS);
|
||||||
|
}
|
||||||
|
Err(e) => {
|
||||||
|
eprintln!("❌ Linha {} ERRO: {}", i, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
|
||||||
let mut deserialized_iter = reader.deserialize::<CsvHeader>();
|
let mut deserialized_iter = reader.deserialize::<CsvHeader>();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user