Skip to content

Commit 9051cb1

Browse files
authored
Merge pull request #7 from AmineDiro/fix/output-dir
fix: output dir
2 parents eabb392 + 5ba141f commit 9051cb1

File tree

3 files changed

+17
-15
lines changed

3 files changed

+17
-15
lines changed

Dockerfile

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,11 @@ RUN cargo chef prepare --recipe-path recipe.json
77

88
# Build dependencies using recipe.json
99
FROM chef AS builder
10+
RUN apt-get update -y && apt-get install -y clang
1011
COPY --from=planner /app/recipe.json recipe.json
1112

1213
# Build dependencies - this layer is cached if dependencies don't change
13-
RUN cargo chef cook --release --recipe-path recipe.json
14+
RUN cargo +nightly chef cook --release --recipe-path recipe.json
1415

1516
# Build application
1617
COPY . .

ferrules-cli/src/main.rs

+1-8
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ struct Args {
5151
///
5252
/// If not specified, defaults to the current working directory.
5353
#[arg(
54+
short = 'o',
5455
long,
5556
env = "FERRULES_OUTPUT_DIR",
5657
help = "Specify the directory to store parsing result"
@@ -74,14 +75,6 @@ struct Args {
7475
)]
7576
save_images: bool,
7677

77-
/// Path to the layout model. If not specified, a default model will be used.
78-
#[arg(
79-
long,
80-
env = "FERRULES_LAYOUT_MODEL_PATH",
81-
help = "Specify the path to the layout model for document parsing"
82-
)]
83-
layout_model_path: Option<PathBuf>,
84-
8578
/// Use CoreML for layout inference (default: true)
8679
#[arg(
8780
long,

ferrules-core/src/lib.rs

+14-6
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,14 @@ fn save_doc_images(imgs_dir: &Path, doc: &ParsedDocument) -> anyhow::Result<()>
7070
Ok(())
7171
}
7272

73+
fn recreate_result_dir(result_dir_name: &Path) -> anyhow::Result<PathBuf> {
74+
if std::fs::create_dir(result_dir_name).is_err() {
75+
std::fs::remove_dir_all(result_dir_name)?;
76+
std::fs::create_dir(result_dir_name)?;
77+
};
78+
Ok(result_dir_name.to_owned())
79+
}
80+
7381
pub fn create_dirs<P: AsRef<Path>>(
7482
output_dir: Option<P>,
7583
doc_name: &str,
@@ -78,13 +86,13 @@ pub fn create_dirs<P: AsRef<Path>>(
7886
) -> anyhow::Result<(PathBuf, Option<PathBuf>)> {
7987
let result_dir_name = format!("{}-results", sanitize_doc_name(doc_name));
8088
let res_dir_path = match output_dir {
81-
Some(p) => p.as_ref().to_owned().join(&result_dir_name),
89+
Some(p) => {
90+
let result_dir_path = p.as_ref().to_owned().join(&result_dir_name);
91+
recreate_result_dir(&result_dir_path)?
92+
}
8293
None => {
83-
if std::fs::create_dir(&result_dir_name).is_err() {
84-
std::fs::remove_dir_all(&result_dir_name)?;
85-
std::fs::create_dir(&result_dir_name)?;
86-
};
87-
format!("./{}", &result_dir_name).into()
94+
let res_dir_path = PathBuf::from(format!("./{}", &result_dir_name));
95+
recreate_result_dir(&res_dir_path)?
8896
}
8997
};
9098
if save_imgs {

0 commit comments

Comments
 (0)