Skip to content

Commit

Permalink
reorder use statements
Browse files Browse the repository at this point in the history
mh-northlander committed Jul 8, 2024
1 parent dd388b8 commit 81ede26
Showing 6 changed files with 32 additions and 21 deletions.
11 changes: 7 additions & 4 deletions python/src/build.rs
Original file line number Diff line number Diff line change
@@ -14,18 +14,21 @@
* limitations under the License.
*/

use crate::dictionary::get_default_resource_dir;
use crate::errors;
use pyo3::prelude::*;
use pyo3::types::{PyBytes, PyList, PyString, PyTuple, PyType};
use std::fs::{File, OpenOptions};
use std::io::BufWriter;
use std::path::Path;

use pyo3::prelude::*;
use pyo3::types::{PyBytes, PyList, PyString, PyTuple, PyType};

use sudachi::analysis::stateless_tokenizer::DictionaryAccess;
use sudachi::config::Config;
use sudachi::dic::build::{DataSource, DictBuilder};
use sudachi::dic::dictionary::JapaneseDictionary;

use crate::dictionary::get_default_resource_dir;
use crate::errors;

pub fn register_functions(m: &PyModule) -> PyResult<()> {
m.add_function(wrap_pyfunction!(build_system_dic, m)?)?;
m.add_function(wrap_pyfunction!(build_user_dic, m)?)?;
9 changes: 5 additions & 4 deletions python/src/dictionary.rs
Original file line number Diff line number Diff line change
@@ -14,18 +14,18 @@
* limitations under the License.
*/

use pyo3::prelude::*;
use pyo3::types::{PySet, PyString, PyTuple};
use std::convert::TryFrom;
use std::fmt::Write;
use std::ops::Deref;
use std::path::{Path, PathBuf};
use std::str::FromStr;
use std::sync::Arc;
use sudachi::analysis::Mode;

use crate::errors::{wrap, wrap_ctx, SudachiError as SudachiErr};
use pyo3::prelude::*;
use pyo3::types::{PySet, PyString, PyTuple};

use sudachi::analysis::stateless_tokenizer::DictionaryAccess;
use sudachi::analysis::Mode;
use sudachi::config::{Config, ConfigBuilder, SurfaceProjection};
use sudachi::dic::dictionary::JapaneseDictionary;
use sudachi::dic::grammar::Grammar;
@@ -35,6 +35,7 @@ use sudachi::plugin::input_text::InputTextPlugin;
use sudachi::plugin::oov::OovProviderPlugin;
use sudachi::plugin::path_rewrite::PathRewritePlugin;

use crate::errors::{wrap, wrap_ctx, SudachiError as SudachiErr};
use crate::morpheme::{PyMorphemeListWrapper, PyProjector};
use crate::pos_matcher::PyPosMatcher;
use crate::pretokenizer::PyPretokenizer;
4 changes: 3 additions & 1 deletion python/src/errors.rs
Original file line number Diff line number Diff line change
@@ -14,9 +14,11 @@
* limitations under the License.
*/

use pyo3::{import_exception, PyResult};
use std::fmt::{Debug, Display};

use pyo3::prelude::*;
use pyo3::{import_exception, PyResult};

// Sudachi exception class is defined in Python
import_exception!(sudachipy.errors, SudachiError);

16 changes: 9 additions & 7 deletions python/src/pretokenizer.rs
Original file line number Diff line number Diff line change
@@ -14,21 +14,23 @@
* limitations under the License.
*/

use crate::dictionary::PyDicData;
use crate::errors::wrap;
use crate::morpheme::{PyMorphemeList, PyMorphemeListWrapper, PyProjector};
use std::cell::RefCell;
use std::sync::Arc;

use pyo3::intern;
use pyo3::prelude::*;
use pyo3::sync::GILOnceCell;
use pyo3::types::{PyList, PySlice, PyTuple, PyType};
use std::cell::RefCell;
use std::sync::Arc;
use thread_local::ThreadLocal;

use crate::projection::MorphemeProjection;
use sudachi::analysis::stateful_tokenizer::StatefulTokenizer;
use sudachi::dic::subset::InfoSubset;
use sudachi::prelude::Mode;
use thread_local::ThreadLocal;

use crate::dictionary::PyDicData;
use crate::errors::wrap;
use crate::morpheme::{PyMorphemeList, PyMorphemeListWrapper, PyProjector};
use crate::projection::MorphemeProjection;

/// This struct perform actual tokenization
/// There should be at most one instance per thread of execution
12 changes: 8 additions & 4 deletions python/src/projection.rs
Original file line number Diff line number Diff line change
@@ -14,18 +14,22 @@
* limitations under the License.
*/

use crate::dictionary::PyDicData;
use crate::morpheme::PyProjector;
use pyo3::types::PyString;
use pyo3::{PyResult, Python};
use std::convert::TryFrom;
use std::ops::Deref;
use std::sync::Arc;

use pyo3::prelude::*;
use pyo3::types::PyString;
use pyo3::{PyResult, Python};

use sudachi::analysis::stateless_tokenizer::DictionaryAccess;
use sudachi::config::SurfaceProjection;
use sudachi::pos::PosMatcher;
use sudachi::prelude::Morpheme;

use crate::dictionary::PyDicData;
use crate::morpheme::PyProjector;

pub(crate) trait MorphemeProjection {
fn project<'py>(&self, m: &Morpheme<Arc<PyDicData>>, py: Python<'py>) -> &'py PyString;
}
1 change: 0 additions & 1 deletion python/src/tokenizer.rs
Original file line number Diff line number Diff line change
@@ -21,7 +21,6 @@ use std::sync::Arc;
use pyo3::prelude::*;

use sudachi::analysis::stateful_tokenizer::StatefulTokenizer;

use sudachi::dic::subset::InfoSubset;
use sudachi::prelude::*;

0 comments on commit 81ede26

Please sign in to comment.