Fixing error codes
This commit is contained in:
parent
e64d7418eb
commit
29f365a185
|
@ -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 }))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
22
src/png.rs
22
src/png.rs
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
12
src/webp.rs
12
src/webp.rs
|
@ -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,
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue