Skip to content

Commit

Permalink
combined getList for latin_dictionary and unique_latin_words
Browse files Browse the repository at this point in the history
  • Loading branch information
cqb13 committed Feb 26, 2024
1 parent fd66013 commit 95ec774
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 71 deletions.
14 changes: 8 additions & 6 deletions src/use_data/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,13 @@ use self::parsers::latin_dictionary_parser::parse_latin_dictionary;
use self::parsers::latin_inflection_parser::parse_latin_inflections;
use self::parsers::modifiers_parser::parse_modifiers;
use self::parsers::stem_parser::parse_latin_stems;
use self::parsers::unique_latin_dictionary_parser::parse_unique_latin_words;
use crate::dictionary_structures::dictionary_keys::PartOfSpeech;
use crate::dictionary_structures::dictionary_values::{
Attachment, EnglishWordInfo, Inflection, LatinWordInfo, Modifier, Stem,
};
use crate::utils::data::{
get_latin_not_packons, get_latin_packons, get_latin_prefixes, get_latin_suffixes,
get_latin_tackons, get_latin_tickons,
get_latin_dictionary, get_latin_not_packons, get_latin_packons, get_latin_prefixes,
get_latin_suffixes, get_latin_tackons, get_latin_tickons, get_unique_latin_words,
};
use serde::Serialize;
use serde_json;
Expand All @@ -23,7 +22,6 @@ mod parsers {
pub mod latin_inflection_parser;
pub mod modifiers_parser;
pub mod stem_parser;
pub mod unique_latin_dictionary_parser;
}

mod utils;
Expand Down Expand Up @@ -90,7 +88,9 @@ pub fn get_list(
OutputList::English(list)
}
WordType::Latin => {
let list = parse_latin_dictionary(pos_list, max, min, exact, amount, random);
let dictionary = get_latin_dictionary();
let list =
parse_latin_dictionary(dictionary, pos_list, max, min, exact, amount, random);
OutputList::Latin(list)
}
WordType::Inflections => {
Expand Down Expand Up @@ -132,7 +132,9 @@ pub fn get_list(
OutputList::Attachment(list)
}
WordType::UniqueLatin => {
let list = parse_unique_latin_words(pos_list, max, min, exact, amount, random);
let dictionary = get_unique_latin_words();
let list =
parse_latin_dictionary(dictionary, pos_list, max, min, exact, amount, random);
OutputList::Latin(list)
}
};
Expand Down
11 changes: 5 additions & 6 deletions src/use_data/parsers/latin_dictionary_parser.rs
Original file line number Diff line number Diff line change
@@ -1,27 +1,26 @@
use crate::dictionary_structures::dictionary_keys::PartOfSpeech;
use crate::dictionary_structures::dictionary_values::LatinWordInfo;
use crate::use_data::utils::word_fits_filters;
use crate::utils::data::get_latin_dictionary;
use rand::Rng;

//TODO: Generate principle parts, and check for extension senses in parse.
pub fn parse_latin_dictionary(
dictionary: Vec<LatinWordInfo>,
pos_list: Option<Vec<PartOfSpeech>>,
max: Option<i32>,
min: Option<i32>,
exact: Option<i32>,
amount: Option<i32>,
random: bool,
) -> Vec<LatinWordInfo> {
let latin_dictionary = get_latin_dictionary();
let mut latin_word_info_list: Vec<LatinWordInfo> = Vec::new();

if let Some(amount) = amount {
if random {
let mut rng = rand::thread_rng();
while latin_word_info_list.len() as i32 != amount {
let random_index = rng.gen_range(0..latin_dictionary.len());
let word_at_index = latin_dictionary[random_index].clone();
let random_index = rng.gen_range(0..dictionary.len());
let word_at_index = dictionary[random_index].clone();
if !word_fits_filters(
&word_at_index.orth,
&word_at_index.pos,
Expand All @@ -35,7 +34,7 @@ pub fn parse_latin_dictionary(
latin_word_info_list.push(word_at_index);
}
} else {
for word in latin_dictionary {
for word in dictionary {
if !word_fits_filters(&word.orth, &word.pos, &pos_list, &max, &min, &exact) {
continue;
}
Expand All @@ -47,7 +46,7 @@ pub fn parse_latin_dictionary(
}
}
} else {
for word in latin_dictionary {
for word in dictionary {
if !word_fits_filters(&word.orth, &word.pos, &pos_list, &max, &min, &exact) {
continue;
}
Expand Down
59 changes: 0 additions & 59 deletions src/use_data/parsers/unique_latin_dictionary_parser.rs

This file was deleted.

0 comments on commit 95ec774

Please sign in to comment.