Browse Source

WIP: refactor

develop-refactor
chodak166 4 months ago
parent
commit
b37c0d4e66
  1. 10
      app/src/commands/decode.rs
  2. 10
      app/src/commands/encode.rs
  3. 6
      app/src/defaults.rs
  4. 5
      lib/src/core/sys_major/lvmap.rs

10
app/src/commands/decode.rs

@ -2,7 +2,6 @@ use crate::commands::{ClapArgs, CommandExecutor, ConfigurableCommand};
use crate::config::AppConfig;
use crate::container::Container;
use crate::defaults;
use anyhow::Result;
use applib::core::sys_major::decoder::Decoder;
use applib::core::sys_major::{self as major};
@ -12,6 +11,13 @@ use async_trait::async_trait;
use config::ConfigBuilder;
use config::builder::DefaultState;
mod defaults {
use const_format::formatcp;
pub const DEC_SYSTEM_NAME: &str = "major_pl";
pub const HELP_DEC_SYSTEM: &str = formatcp!("System to use [default: {}]", DEC_SYSTEM_NAME);
pub const HELP_DEC_INPUT: &str = formatcp!("Text to decode");
}
#[derive(ClapArgs, Debug, Clone)]
pub struct DecodeArgs {
#[arg(long, help = defaults::HELP_DEC_SYSTEM)]
@ -27,7 +33,7 @@ impl ConfigurableCommand for DecodeArgs {
builder: ConfigBuilder<DefaultState>,
) -> Result<ConfigBuilder<DefaultState>> {
builder
.set_default("decoder.system", defaults::SYSTEM_NAME)?
.set_default("decoder.system", defaults::DEC_SYSTEM_NAME)?
.set_default("decoder.input", "")
.map_err(Into::into)
}

10
app/src/commands/encode.rs

@ -8,12 +8,18 @@ use crate::commands::{ClapArgs, CommandExecutor, ConfigurableCommand};
use crate::config::AppConfig;
use crate::container::Container;
use crate::defaults;
use anyhow::Result;
use async_trait::async_trait;
use config::ConfigBuilder;
use config::builder::DefaultState;
mod defaults {
use const_format::formatcp;
pub const ENC_SYSTEM_NAME: &str = "major_pl";
pub const HELP_ENC_SYSTEM: &str = formatcp!("System to use [default: {}]", ENC_SYSTEM_NAME);
pub const HELP_ENC_INPUT: &str = formatcp!("Number to encode");
}
#[derive(ClapArgs, Debug, Clone)]
pub struct EncodeArgs {
#[arg(long, help = defaults::HELP_ENC_SYSTEM)]
@ -29,7 +35,7 @@ impl ConfigurableCommand for EncodeArgs {
builder: ConfigBuilder<DefaultState>,
) -> Result<ConfigBuilder<DefaultState>> {
builder
.set_default("encoder.system", defaults::SYSTEM_NAME)?
.set_default("encoder.system", defaults::ENC_SYSTEM_NAME)?
.set_default("encoder.input", "")
.map_err(Into::into)
}

6
app/src/defaults.rs

@ -1,7 +1,6 @@
pub const HOST: &str = "127.0.0.1";
pub const PORT: u16 = 8080;
pub const LOG_LEVEL: &str = "info";
pub const SYSTEM_NAME: &str = "major_pl";
pub const IMPORT_DICT_NAME: &str = "";
pub const IMPORT_DICT_PATH: &str = "";
@ -9,9 +8,6 @@ use const_format::formatcp;
pub const HELP_PORT: &str = formatcp!("Override Port [default: {}]", PORT);
pub const HELP_LOG: &str = formatcp!("Override Log Level [default: {}]", LOG_LEVEL);
pub const HELP_DEC_SYSTEM: &str = formatcp!("System to use [default: {}]", SYSTEM_NAME);
pub const HELP_DEC_INPUT: &str = formatcp!("Text to decode");
pub const HELP_ENC_SYSTEM: &str = formatcp!("System to use [default: {}]", SYSTEM_NAME);
pub const HELP_ENC_INPUT: &str = formatcp!("Number to encode");
pub const HELP_IMPORT_DICT_NAME: &str = formatcp!("Dictionary name");
pub const HELP_IMPORT_DICT_INPUT: &str = formatcp!("Dictionary file path");

5
lib/src/core/sys_major/lvmap.rs

@ -102,14 +102,15 @@ impl LenValueMap {
}
pub async fn from_stream<S>(
mut stream: S,
stream: S,
decoder: &dyn SystemDecoder,
) -> Result<Self, LenValueMapError>
where
// S is a stream of "Result<Vec<String>, Error>"
S: Stream<Item = Result<Vec<String>, crate::core::errors::RepositoryError>> + Unpin,
S: Stream<Item = Result<Vec<String>, crate::core::errors::RepositoryError>>,
{
let mut map = LenValueMap::new();
let mut stream = Box::pin(stream);
// We stream the batches one by one.
// This ensures only one batch is in memory at a time.

Loading…
Cancel
Save