Prepare reading in files

This commit is contained in:
Jaby 2022-09-19 20:20:43 +02:00
parent 3d5f544de1
commit 77e4f855ae
3 changed files with 16 additions and 1 deletions

View File

@ -7,4 +7,5 @@ edition = "2021"
[dependencies]
clap = {version = "*", features = ["derive"]}
image = "*"
tool_helper = {path = "../tool_helper"}

View File

@ -1,4 +1,6 @@
use clap::{Args, ValueEnum};
use image::io::Reader as ImageReader;
use std::io::Cursor;
use tool_helper::{Error, Input, Output};
#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, ValueEnum)]
@ -14,6 +16,8 @@ pub struct Arguments {
color_depth: ColorDepth
}
pub fn convert(_args: Arguments, _input: Input, _output: Output) -> Result<(), Error> {
pub fn convert(_args: Arguments, input: Input, _output: Output) -> Result<(), Error> {
ImageReader::new(Cursor::new(tool_helper::input_to_vec(input)?));
Err(Error::new("Convert not implemented yet".to_owned(), Some(-2)))
}

View File

@ -53,4 +53,14 @@ pub fn os_str_to_string(input: &std::ffi::OsStr, name: &str) -> Result<String> {
pub fn get_file_name_from_path_buf(input: &PathBuf, name: &str) -> Result<String> {
os_str_to_string(Error::ok_or_new(input.file_name(), ||format!("No {} file name found", name), None)?, name)
}
pub fn input_to_vec(input: Input) -> Result<Vec<u8>> {
let mut data = Vec::new();
for byte in input.bytes() {
data.push(Error::try_or_new(byte, None)?);
}
Ok(data)
}