@@ -5,9 +5,9 @@ use anyhow::{bail, Result};
55use crate :: file_manager:: save_file_with_content;
66use crate :: project_info:: { ProjectInfo , ProjectManager } ;
77
8- fn create_dunder_main_file ( source_dir : & str ) -> String {
8+ fn create_dunder_main_file ( module : & str ) -> String {
99 format ! (
10- r#"from {source_dir }.main import main # pragma: no cover
10+ r#"from {module }.main import main # pragma: no cover
1111
1212if __name__ == "__main__":
1313 raise SystemExit(main())
@@ -29,23 +29,24 @@ if __name__ == "__main__":
2929}
3030
3131fn save_main_files ( project_info : & ProjectInfo ) -> Result < ( ) > {
32- let src = project_info. base_dir ( ) . join ( & project_info. source_dir ) ;
32+ let module = project_info. source_dir . replace ( '-' , "_" ) ;
33+ let src = project_info. base_dir ( ) . join ( & module) ;
3334 let main = src. join ( "main.py" ) ;
3435 let main_content = create_main_file ( ) ;
3536
3637 save_file_with_content ( & main, & main_content) ?;
3738
3839 let main_dunder = src. join ( "__main__.py" ) ;
39- let main_dunder_content = create_dunder_main_file ( & project_info . source_dir ) ;
40+ let main_dunder_content = create_dunder_main_file ( & module ) ;
4041
4142 save_file_with_content ( & main_dunder, & main_dunder_content) ?;
4243
4344 Ok ( ( ) )
4445}
4546
46- fn create_main_test_file ( source_dir : & str ) -> String {
47+ fn create_main_test_file ( module : & str ) -> String {
4748 format ! (
48- r#"from {source_dir }.main import main
49+ r#"from {module }.main import main
4950
5051
5152def test_main():
@@ -55,17 +56,18 @@ def test_main():
5556}
5657
5758fn save_main_test_file ( project_info : & ProjectInfo ) -> Result < ( ) > {
59+ let module = project_info. source_dir . replace ( '-' , "_" ) ;
5860 let file_path = project_info. base_dir ( ) . join ( "tests/test_main.py" ) ;
59- let content = create_main_test_file ( & project_info . source_dir ) ;
61+ let content = create_main_test_file ( & module ) ;
6062
6163 save_file_with_content ( & file_path, & content) ?;
6264
6365 Ok ( ( ) )
6466}
6567
66- fn create_pyo3_test_file ( source_dir : & str ) -> String {
68+ fn create_pyo3_test_file ( module : & str ) -> String {
6769 format ! (
68- r#"from {source_dir } import sum_as_string
70+ r#"from {module } import sum_as_string
6971
7072
7173def test_sum_as_string():
@@ -75,25 +77,26 @@ def test_sum_as_string():
7577}
7678
7779fn save_pyo3_test_file ( project_info : & ProjectInfo ) -> Result < ( ) > {
80+ let module = project_info. source_dir . replace ( '-' , "_" ) ;
7881 let file_path = project_info
7982 . base_dir ( )
80- . join ( format ! ( "tests/test_{}.py" , & project_info . source_dir ) ) ;
81- let content = create_pyo3_test_file ( & project_info . source_dir ) ;
83+ . join ( format ! ( "tests/test_{}.py" , & module ) ) ;
84+ let content = create_pyo3_test_file ( & module ) ;
8285
8386 save_file_with_content ( & file_path, & content) ?;
8487
8588 Ok ( ( ) )
8689}
8790
88- fn create_project_init_file ( source_dir : & str , project_manager : & ProjectManager ) -> String {
91+ fn create_project_init_file ( module : & str , project_manager : & ProjectManager ) -> String {
8992 match project_manager {
9093 ProjectManager :: Maturin => {
9194 let v_ascii: u8 = 118 ;
92- if let Some ( first_char) = source_dir . chars ( ) . next ( ) {
95+ if let Some ( first_char) = module . chars ( ) . next ( ) {
9396 if ( first_char as u8 ) < v_ascii {
9497 format ! (
95- r#"from {source_dir }._{source_dir } import sum_as_string
96- from {source_dir }._version import VERSION
98+ r#"from {module }._{module } import sum_as_string
99+ from {module }._version import VERSION
97100
98101__version__ = VERSION
99102
@@ -103,8 +106,8 @@ __all__ = ["sum_as_string"]
103106 )
104107 } else {
105108 format ! (
106- r#"from {source_dir }._version import VERSION
107- from {source_dir }._{source_dir } import sum_as_string
109+ r#"from {module }._version import VERSION
110+ from {module }._{module } import sum_as_string
108111
109112__version__ = VERSION
110113
@@ -115,8 +118,8 @@ __all__ = ["sum_as_string"]
115118 }
116119 } else {
117120 format ! (
118- r#"from {source_dir }._{source_dir } import sum_as_string
119- r#"from {source_dir }._version import VERSION
121+ r#"from {module }._{module } import sum_as_string
122+ r#"from {module }._version import VERSION
120123
121124__version__ = VERSION
122125
@@ -128,7 +131,7 @@ __all__ = ["sum_as_string"]
128131 }
129132 _ => {
130133 format ! (
131- r#"from {source_dir }._version import VERSION
134+ r#"from {module }._version import VERSION
132135
133136__version__ = VERSION
134137"#
@@ -145,10 +148,11 @@ fn save_test_init_file(project_info: &ProjectInfo) -> Result<()> {
145148}
146149
147150fn save_project_init_file ( project_info : & ProjectInfo ) -> Result < ( ) > {
151+ let module = project_info. source_dir . replace ( '-' , "_" ) ;
148152 let file_path = project_info
149153 . base_dir ( )
150- . join ( format ! ( "{}/__init__.py" , & project_info . source_dir ) ) ;
151- let content = create_project_init_file ( & project_info . source_dir , & project_info. project_manager ) ;
154+ . join ( format ! ( "{}/__init__.py" , & module ) ) ;
155+ let content = create_project_init_file ( & module , & project_info. project_manager ) ;
152156
153157 save_file_with_content ( & file_path, & content) ?;
154158
@@ -164,10 +168,10 @@ def sum_as_string(a: int, b: int) -> str: ...
164168}
165169
166170pub fn save_pyi_file ( project_info : & ProjectInfo ) -> Result < ( ) > {
167- let file_path = project_info. base_dir ( ) . join ( format ! (
168- "{}/_{}.pyi" ,
169- & project_info . source_dir , & project_info . source_dir
170- ) ) ;
171+ let module = project_info. source_dir . replace ( '-' , "_" ) ;
172+ let file_path = project_info
173+ . base_dir ( )
174+ . join ( format ! ( "{}/_{}.pyi" , & module , & module ) ) ;
171175 let content = create_pyi_file ( ) ;
172176
173177 save_file_with_content ( & file_path, & content) ?;
@@ -180,17 +184,18 @@ fn create_version_file(version: &str) -> String {
180184}
181185
182186fn save_version_file ( project_info : & ProjectInfo ) -> Result < ( ) > {
187+ let module = project_info. source_dir . replace ( '-' , "_" ) ;
183188 let file_path = project_info
184189 . base_dir ( )
185- . join ( format ! ( "{}/_version.py" , & project_info . source_dir ) ) ;
190+ . join ( format ! ( "{}/_version.py" , & module ) ) ;
186191 let content = create_version_file ( & project_info. version ) ;
187192
188193 save_file_with_content ( & file_path, & content) ?;
189194
190195 Ok ( ( ) )
191196}
192197
193- fn create_version_test_file ( source_dir : & str , project_manager : & ProjectManager ) -> String {
198+ fn create_version_test_file ( module : & str , project_manager : & ProjectManager ) -> String {
194199 let version_test: & str = match project_manager {
195200 ProjectManager :: Maturin => {
196201 r#"def test_versions_match():
@@ -212,7 +217,7 @@ fn create_version_test_file(source_dir: &str, project_manager: &ProjectManager)
212217 }
213218 ProjectManager :: Setuptools => {
214219 return format ! (
215- r#"from {source_dir }._version import VERSION
220+ r#"from {module }._version import VERSION
216221
217222def test_versions_match():
218223 assert VERSION == "0.1.0"
@@ -225,7 +230,7 @@ def test_versions_match():
225230 r#"import sys
226231from pathlib import Path
227232
228- from {source_dir }._version import VERSION
233+ from {module }._version import VERSION
229234
230235if sys.version_info < (3, 11):
231236 import tomli as tomllib
@@ -239,8 +244,9 @@ else:
239244}
240245
241246fn save_version_test_file ( project_info : & ProjectInfo ) -> Result < ( ) > {
247+ let module = project_info. source_dir . replace ( '-' , "_" ) ;
242248 let file_path = project_info. base_dir ( ) . join ( "tests/test_version.py" ) ;
243- let content = create_version_test_file ( & project_info . source_dir , & project_info. project_manager ) ;
249+ let content = create_version_test_file ( & module , & project_info. project_manager ) ;
244250 save_file_with_content ( & file_path, & content) ?;
245251
246252 Ok ( ( ) )
0 commit comments