From 4708831caca0c638dce03bbb87745291605fd8d5 Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 25 Mar 2023 20:42:25 +0700 Subject: [PATCH] metadata file deleting. update docs --- rust/README.md | 6 ++++-- rust/src/main.rs | 10 ++++++++++ rust/src/metadata.rs | 10 ++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/rust/README.md b/rust/README.md index d1fb2d003eb99..cfbed66013e43 100644 --- a/rust/README.md +++ b/rust/README.md @@ -45,10 +45,12 @@ Options: Print help information -V, --version Print version information - --driver_ttl + --driver-ttl Set custom TTL for driver in seconds. Default value is 86400 - --browser_ttl + --browser-ttl Set custom TTL for browser in seconds default value is 0 + --clear-metadata + Delete metadata file if it exists ``` For instance, the command required to manage chromedriver is the following: diff --git a/rust/src/main.rs b/rust/src/main.rs index e53e396966a33..e5cd6b43ce640 100644 --- a/rust/src/main.rs +++ b/rust/src/main.rs @@ -31,6 +31,8 @@ use selenium_manager::{ clear_cache, get_manager_by_browser, get_manager_by_driver, SeleniumManager, }; +use selenium_manager::metadata::clear_metadata; + /// Automated driver management for Selenium #[derive(Parser, Debug)] #[clap(version, about, long_about = None, help_template = "\ @@ -92,6 +94,10 @@ struct Cli { /// Set default browser ttl #[clap(long, value_parser, default_value_t = TTL_BROWSERS_SEC)] browser_ttl: u64, + + /// Clear metadata file + #[clap(long)] + clear_metadata: bool, } fn main() -> Result<(), Box> { @@ -102,6 +108,10 @@ fn main() -> Result<(), Box> { clear_cache(&log); } + if cli.clear_metadata { + clear_metadata(&log) + } + let browser_name: String = cli.browser.unwrap_or_default(); let driver_name: String = cli.driver.unwrap_or_default(); diff --git a/rust/src/metadata.rs b/rust/src/metadata.rs index eb2104fff0acb..dfce148aa3a9a 100644 --- a/rust/src/metadata.rs +++ b/rust/src/metadata.rs @@ -154,3 +154,13 @@ pub fn write_metadata(metadata: &Metadata, log: &Logger) { ) .unwrap(); } + +pub fn clear_metadata(log: &Logger){ + let metadata_path = get_metadata_path(); + log.trace(format!("Deleting metadata file {}", metadata_path.display())); + match fs::remove_file(metadata_path){ + Ok(()) => log.trace("Metadata file was deleted".to_string()), + Err(err) => log.warn( + format!("Metadata file deleting invoked an error: {}",err)), + } +}