@@ -105,6 +105,54 @@ def test_parse_args_both_xml_images_exists():
105105 assert args .images == images
106106
107107
108+ def test_parse_args_images_sleep_manual ():
109+ args = mwimport .parse_args ([
110+ '--images=images' ,
111+ '--images-comment=Importing from https://example.com' ,
112+ '--images-sleep=5' ,
113+ 'examplewiki' ,
114+ ], False )
115+
116+ assert args .images_sleep == 5
117+
118+
119+ def test_parse_args_images_sleep_auto_below_threshold ():
120+ with tempfile .TemporaryDirectory () as tempdir :
121+ # Populate five test files
122+ for i in range (5 ):
123+ with open (os .path .join (tempdir , f'{ i } .txt' ), 'w' ):
124+ pass
125+
126+ args = mwimport .parse_args ([
127+ f'--images={ tempdir } ' ,
128+ '--images-comment=Importing from https://example.com' ,
129+ 'examplewiki' ,
130+ ])
131+
132+ assert args .images_sleep == 0
133+
134+
135+ def test_parse_args_images_sleep_auto_above_threshold ():
136+ with tempfile .TemporaryDirectory () as tempdir :
137+ # Populate 1000 test files, bucketed in 10 directories
138+ # (to test file counts with subdirectories)
139+ for folder in range (10 ):
140+ folder = os .path .join (tempdir , str (folder ))
141+ os .mkdir (folder )
142+
143+ for file in range (100 ):
144+ with open (os .path .join (folder , f'{ file } .txt' ), 'w' ):
145+ pass
146+
147+ args = mwimport .parse_args ([
148+ f'--images={ tempdir } ' ,
149+ '--images-comment=Importing from https://example.com' ,
150+ 'examplewiki' ,
151+ ])
152+
153+ assert args .images_sleep == 1
154+
155+
108156def test_get_scripts_xml_images ():
109157 args = mwimport .parse_args ([
110158 '--version=0.42' ,
@@ -116,7 +164,7 @@ def test_get_scripts_xml_images():
116164 scripts = mwimport .get_scripts (args )
117165 expected = [
118166 ['importDump' , '--no-updates' , '--' , 'dump.xml' ],
119- ['importImages' , '--comment=Importing from https://example.com' , '--' , 'images' ],
167+ ['importImages' , '--sleep=0' , '-- comment=Importing from https://example.com' , '--' , 'images' ],
120168 ['rebuildall' ],
121169 ['initEditCount' ],
122170 ['initSiteStats' , '--update' ],
@@ -157,7 +205,7 @@ def test_get_scripts_search_recursively():
157205 ], False )
158206 scripts = mwimport .get_scripts (args )
159207 expected = [
160- ['importImages' , '--comment=Importing from https://example.com' , '--search-recursively' , '--' , 'images' ],
208+ ['importImages' , '--sleep=0' , '-- comment=Importing from https://example.com' , '--search-recursively' , '--' , 'images' ],
161209 ['initSiteStats' , '--update' ],
162210 ]
163211 expected = [
0 commit comments