mirror of
https://github.com/catdevnull/preciazo.git
synced 2024-11-22 06:16:18 +00:00
utf-16
This commit is contained in:
parent
1644d8b207
commit
c24c931d46
2 changed files with 15 additions and 5 deletions
|
@ -78,13 +78,23 @@ await sql`
|
|||
CREATE INDEX IF NOT EXISTS idx_sucursales_composite ON sucursales (id_dataset, id_comercio, id_bandera, id_sucursal);
|
||||
`;
|
||||
|
||||
async function readFile(path: string) {
|
||||
// XXX: DORINKA SRL a veces envía archivos con UTF-16.
|
||||
const buffer = await fs.readFile(path, { encoding: null });
|
||||
if (buffer[0] === 0xff && buffer[1] === 0xfe) {
|
||||
return buffer.toString("utf16le");
|
||||
} else {
|
||||
return buffer.toString("utf8");
|
||||
}
|
||||
}
|
||||
|
||||
async function importSucursales(
|
||||
sql: postgres.Sql,
|
||||
datasetId: number,
|
||||
dir: string
|
||||
) {
|
||||
const sucursales: Papa.ParseResult<any> = Papa.parse(
|
||||
await fs.readFile(join(dir, "sucursales.csv"), "utf-8"),
|
||||
await readFile(join(dir, "sucursales.csv")),
|
||||
{
|
||||
header: true,
|
||||
}
|
||||
|
@ -131,7 +141,7 @@ async function importDataset(dir: string) {
|
|||
datasetId = res[0].id;
|
||||
|
||||
const comercios: Papa.ParseResult<{ comercio_cuit: string }> = Papa.parse(
|
||||
await fs.readFile(join(dir, "comercio.csv"), "utf-8"),
|
||||
await readFile(join(dir, "comercio.csv")),
|
||||
{ header: true }
|
||||
);
|
||||
const comercioCuit = comercios.data[0].comercio_cuit;
|
||||
|
@ -139,7 +149,7 @@ async function importDataset(dir: string) {
|
|||
|
||||
await importSucursales(sql, datasetId, dir);
|
||||
|
||||
let file = await fs.readFile(join(dir, "productos.csv"), "utf-8");
|
||||
let file = await readFile(join(dir, "productos.csv"));
|
||||
// WALL OF SHAME: estos proveedores no saben producir CSVs correctos
|
||||
if (comercioCuit == "30612929455") {
|
||||
// Libertad S.A.
|
||||
|
|
|
@ -10,9 +10,9 @@
|
|||
"typescript": "^5.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ckan": "workspace:*",
|
||||
"p-queue": "^8.0.1",
|
||||
"papaparse": "^5.4.1",
|
||||
"postgres": "^3.4.4",
|
||||
"ckan": "workspace:*"
|
||||
"postgres": "^3.4.4"
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue