Skip to main content

engine_step1_scanner

Function engine_step1_scanner 

Source
pub fn engine_step1_scanner(j: &ValidPreparedJobConfig) -> ValidResultMainTab
Expand description

[Step 1] Skaner - teraz przyjmuje konfiguratory zamiast surowych struktur Job

Examples found in repository?
examples/try.rs (line 45)
3fn main() {
4	let mode_is_job_from_toml: bool = true;
5	// =========================================================================
6	// ZBIERANIE USTAWIEŃ (Wszystkie dostępne parametry z Valid<NAZWA>Config)
7	// =========================================================================
8	let j: job::ValidPreparedJobConfig = if !mode_is_job_from_toml {
9		//let blank: Vec<&str> = Vec::<&str>::new();
10		//job::ValidPreparedJobConfig {
11		//    // 0. Execution Config (Domyślnie: Debug: true, SaveAs: true, CliColor: true)
12		//    exec: job::ValidExecutionParse::parse_vec_as_config(&blank),
13		//    // 1. Workspace (Domyślnie ".")
14		//    work: job::ValidWorkspaceParse::parse_vec_as_config(["."]),
15		//    // 2. Patterns (Domyślnie zbiór filtrów zdefiniowany w config.rs)
16		//    patt: job::ValidPatternParse::parse_vec_as_config(&blank),
17		//    // 3. Table Parts (Domyślnie md + mf)
18		//    part: job::ValidTablePartParse::parse_vec_as_config(&blank),
19		//    // 4. Column Item (Domyślnie Tree, IconsLite, Name: false, Align: false)
20		//    item: job::ValidColumnItemParse::parse_vec_as_config(["list-tree", "name-show", "ws-show", "icons-lite"]),
21		//    // 5. Table Columns (Domyślnie Date, Time, Size, Item, Path)
22		//    cols: job::ValidTableColumnsParse::parse_vec_as_config(&blank),
23		//    // 6. Column Date (Domyślnie "%Y W%V %u-%a")
24		//    date: job::ValidColumnDateParse::parse_vec_as_config(&blank),
25		//    // 7. Column Time (Domyślnie "%H:%M:%S.%3f")
26		//    time: job::ValidColumnTimeParse::parse_vec_as_config(&blank),
27		//    // 8. Column Size (Domyślnie Decimal / SI)
28		//    size: job::ValidColumnSizeParse::parse_vec_as_config(&blank),
29		//    // 9. Sort By (Domyślnie Name, [Spec][Num][AZaz], Reverse: false)
30		//    sort: job::ValidSortByParse::parse_vec_as_config(&blank),
31		//    // 10. Save As (Domyślnie "./target/.cargo-plot/", "Project Snapshot", SOTC/COTS names)
32		//    save: job::ValidSaveAsParse::parse_vec_as_config(&blank),
33		//}
34		job::ValidPreparedJobConfig::default()
35	} else {
36		job::ValidPreparedJobConfig::from_toml(None).unwrap()
37	};
38
39	// =========================================================================
40	// STEP 0: Inicjalizacja
41	// =========================================================================
42	// =========================================================================
43	// STEP 1: Skanowanie i pobranie metadanych z dysku
44	// =========================================================================
45	let step1 = job::engine_step1_scanner(&j);
46
47	println!("Skanowanie zakończone. Zabrano wierszy (ValidResultMainRow): {}\n", step1.rows.len());
48
49	// =========================================================================
50	// STEP 2: Formatowanie komórek
51	// =========================================================================
52	let step2: Vec<job::FormattedRow> = job::engine_step2_data_formater(&j, &step1);
53
54	// =========================================================================
55	// STEP 6: ZAPISYWANIE
56	// =========================================================================
57	if j.exec.save_as && !j.exec.only_dry {
58		job::engine_step6_data_save(&j, &step2).unwrap();
59	}
60	// =========================================================================
61	// STEP 7: PODGLĄD
62	// =========================================================================
63	if !j.exec.mute {
64		let limit = step2.len().min(75);
65		println!("{}", job::gens::mock_render(&step2[..limit], &j.cols));
66	}
67	// =========================================================================
68	println!("\n=== KONIEC ===\n");
69}