Fixing error codes

This commit is contained in:
Matteo Paonessa 2024-01-13 00:12:52 +01:00
parent e64d7418eb
commit 29f365a185
3 changed files with 21 additions and 21 deletions

View File

@ -28,11 +28,11 @@ pub fn compress(
output_path: String, output_path: String,
parameters: &CSParameters, parameters: &CSParameters,
) -> Result<(), CaesiumError> { ) -> Result<(), CaesiumError> {
let in_file = fs::read(input_path).map_err(|e| CaesiumError { message: e.to_string(), code: 2100 })?; let in_file = fs::read(input_path).map_err(|e| CaesiumError { message: e.to_string(), code: 20100 })?;
let out_buffer = compress_to_memory(in_file, parameters)?; let out_buffer = compress_to_memory(in_file, parameters)?;
let mut out_file = File::create(output_path).map_err(|e| CaesiumError { message: e.to_string(), code: 2101 })?; let mut out_file = File::create(output_path).map_err(|e| CaesiumError { message: e.to_string(), code: 20101 })?;
out_file.write_all(&out_buffer).map_err(|e| CaesiumError { message: e.to_string(), code: 2102 })?; out_file.write_all(&out_buffer).map_err(|e| CaesiumError { message: e.to_string(), code: 20102 })?;
Ok(()) Ok(())
} }
@ -55,7 +55,7 @@ pub fn compress_to_memory(mut in_file: Vec<u8>, parameters: &CSParameters) -> Re
} else { } else {
lossy(in_file, parameters) lossy(in_file, parameters)
} }
}).unwrap_or_else(|_| Err(CaesiumError { message: format!("Internal JPEG error: {}", JPEG_ERROR), code: 2104 })) }).unwrap_or_else(|_| Err(CaesiumError { message: format!("Internal JPEG error: {}", JPEG_ERROR), code: 20104 }))
} }
} }

View File

@ -14,15 +14,15 @@ pub fn compress(
output_path: String, output_path: String,
parameters: &CSParameters, parameters: &CSParameters,
) -> Result<(), CaesiumError> { ) -> Result<(), CaesiumError> {
let mut in_file = fs::read(input_path).map_err(|e| CaesiumError { message: e.to_string(), code: 3100 })?; let mut in_file = fs::read(input_path).map_err(|e| CaesiumError { message: e.to_string(), code: 20200 })?;
if parameters.width > 0 || parameters.height > 0 { if parameters.width > 0 || parameters.height > 0 {
in_file = resize(in_file, parameters.width, parameters.height, ImageOutputFormat::Png)?; in_file = resize(in_file, parameters.width, parameters.height, ImageOutputFormat::Png)?;
} }
let optimized_png = compress_to_memory(in_file, parameters)?; let optimized_png = compress_to_memory(in_file, parameters)?;
let mut output_file_buffer = File::create(output_path).map_err(|e| CaesiumError { message: e.to_string(), code: 3102 })?; let mut output_file_buffer = File::create(output_path).map_err(|e| CaesiumError { message: e.to_string(), code: 20202 })?;
output_file_buffer.write_all(optimized_png.as_slice()).map_err(|e| CaesiumError { message: e.to_string(), code: 3103 })?; output_file_buffer.write_all(optimized_png.as_slice()).map_err(|e| CaesiumError { message: e.to_string(), code: 20203 })?;
Ok(()) Ok(())
} }
@ -39,25 +39,25 @@ pub fn compress_to_memory(in_file: Vec<u8>, parameters: &CSParameters) -> Result
} }
fn lossy(in_file: Vec<u8>, parameters: &CSParameters) -> Result<Vec<u8>, CaesiumError> { fn lossy(in_file: Vec<u8>, parameters: &CSParameters) -> Result<Vec<u8>, CaesiumError> {
let rgba_bitmap = lodepng::decode32(in_file).map_err(|e| CaesiumError { message: e.to_string(), code: 3104 })?; let rgba_bitmap = lodepng::decode32(in_file).map_err(|e| CaesiumError { message: e.to_string(), code: 20204 })?;
let mut liq = imagequant::new(); let mut liq = imagequant::new();
liq.set_quality(0, parameters.png.quality as u8).map_err(|e| CaesiumError { message: e.to_string(), code: 3105 })?; liq.set_quality(0, parameters.png.quality as u8).map_err(|e| CaesiumError { message: e.to_string(), code: 20205 })?;
let mut liq_image = liq.new_image( let mut liq_image = liq.new_image(
rgba_bitmap.buffer.as_slice(), rgba_bitmap.buffer.as_slice(),
rgba_bitmap.width, rgba_bitmap.width,
rgba_bitmap.height, rgba_bitmap.height,
0.0, 0.0,
).map_err(|e| CaesiumError { message: e.to_string(), code: 3106 })?; ).map_err(|e| CaesiumError { message: e.to_string(), code: 20206 })?;
let mut quantization = liq.quantize(&mut liq_image).map_err(|e| CaesiumError { message: e.to_string(), code: 3107 })?; let mut quantization = liq.quantize(&mut liq_image).map_err(|e| CaesiumError { message: e.to_string(), code: 20207 })?;
let (palette, pixels) = quantization.remapped(&mut liq_image).map_err(|e| CaesiumError { message: e.to_string(), code: 3108 })?; let (palette, pixels) = quantization.remapped(&mut liq_image).map_err(|e| CaesiumError { message: e.to_string(), code: 20208 })?;
let mut encoder = lodepng::Encoder::new(); let mut encoder = lodepng::Encoder::new();
encoder.set_palette(palette.as_slice()).map_err(|e| CaesiumError { message: e.to_string(), code: 3112 })?; encoder.set_palette(palette.as_slice()).map_err(|e| CaesiumError { message: e.to_string(), code: 20212 })?;
let png_vec = encoder.encode(pixels.as_slice(), rgba_bitmap.width, rgba_bitmap.height).map_err(|e| CaesiumError { message: e.to_string(), code: 3109 })?; let png_vec = encoder.encode(pixels.as_slice(), rgba_bitmap.width, rgba_bitmap.height).map_err(|e| CaesiumError { message: e.to_string(), code: 20209 })?;
Ok(png_vec) Ok(png_vec)
} }
@ -77,7 +77,7 @@ fn lossless(in_file: Vec<u8>, parameters: &CSParameters) -> Result<Vec<u8>, Caes
oxipng_options.deflate = Libdeflater { compression: 6 }; oxipng_options.deflate = Libdeflater { compression: 6 };
} }
let optimized_png = oxipng::optimize_from_memory(in_file.as_slice(), &oxipng_options).map_err(|e| CaesiumError { message: e.to_string(), code: 3110 })?; let optimized_png = oxipng::optimize_from_memory(in_file.as_slice(), &oxipng_options).map_err(|e| CaesiumError { message: e.to_string(), code: 20210 })?;
Ok(optimized_png) Ok(optimized_png)
} }

View File

@ -10,14 +10,14 @@ pub fn compress(
output_path: String, output_path: String,
parameters: &CSParameters, parameters: &CSParameters,
) -> Result<(), CaesiumError> { ) -> Result<(), CaesiumError> {
let mut input_file = File::open(input_path).map_err(|e| CaesiumError { message: e.to_string(), code: 3100 })?; let mut input_file = File::open(input_path).map_err(|e| CaesiumError { message: e.to_string(), code: 20300 })?;
let mut input_data = Vec::new(); let mut input_data = Vec::new();
input_file.read_to_end(&mut input_data).map_err(|e| CaesiumError { message: e.to_string(), code: 3101 })?; input_file.read_to_end(&mut input_data).map_err(|e| CaesiumError { message: e.to_string(), code: 20301 })?;
let mut output_file = File::create(output_path).map_err(|e| CaesiumError { message: e.to_string(), code: 3102 })?; let mut output_file = File::create(output_path).map_err(|e| CaesiumError { message: e.to_string(), code: 20302 })?;
let compressed_image = compress_to_memory(input_data, parameters)?; let compressed_image = compress_to_memory(input_data, parameters)?;
output_file.write_all(&compressed_image).map_err(|e| CaesiumError { message: e.to_string(), code: 3103 })?; output_file.write_all(&compressed_image).map_err(|e| CaesiumError { message: e.to_string(), code: 20303 })?;
Ok(()) Ok(())
} }
@ -28,7 +28,7 @@ pub fn compress_to_memory(in_file: Vec<u8>, parameters: &CSParameters) -> Result
Some(img) => img, Some(img) => img,
None => return Err(CaesiumError { None => return Err(CaesiumError {
message: "Error decoding WebP image".to_string(), message: "Error decoding WebP image".to_string(),
code: 3104, code: 20304,
}) })
}; };
let mut input_image = input_webp.to_image(); let mut input_image = input_webp.to_image();
@ -41,7 +41,7 @@ pub fn compress_to_memory(in_file: Vec<u8>, parameters: &CSParameters) -> Result
Ok(encoder) => encoder, Ok(encoder) => encoder,
Err(e) => return Err(CaesiumError { Err(e) => return Err(CaesiumError {
message: e.to_string(), message: e.to_string(),
code: 3105, code: 20305,
}) })
}; };