1414from data_generator import FakeTextDataGenerator
1515from multiprocessing import Pool
1616
17+
1718def margins (margin ):
1819 margins = margin .split (',' )
1920 if len (margins ) == 1 :
2021 return [margins [0 ]] * 4
2122 return [int (m ) for m in margins ]
2223
24+
2325def parse_arguments ():
2426 """
2527 Parse the command line arguments of the program.
@@ -260,10 +262,16 @@ def parse_arguments():
260262 nargs = "?" ,
261263 help = "Define font to be used"
262264 )
263-
264-
265+ parser .add_argument (
266+ "-ca" ,
267+ "--case" ,
268+ type = str ,
269+ nargs = "?" ,
270+ help = "Generate upper or lowercase only. arguments: upper or lower. Example: --case upper"
271+ )
265272 return parser .parse_args ()
266273
274+
267275def load_dict (lang ):
268276 """
269277 Read the dictionnary file and returns all words in it.
@@ -274,6 +282,7 @@ def load_dict(lang):
274282 lang_dict = [l for l in d .read ().splitlines () if len (l ) > 0 ]
275283 return lang_dict
276284
285+
277286def load_fonts (lang ):
278287 """
279288 Load all fonts in the fonts directories
@@ -284,6 +293,7 @@ def load_fonts(lang):
284293 else :
285294 return [os .path .join ('fonts/latin' , font ) for font in os .listdir ('fonts/latin' )]
286295
296+
287297def main ():
288298 """
289299 Description: Main function
@@ -327,36 +337,40 @@ def main():
327337 else :
328338 strings = create_strings_from_dict (args .length , args .random , args .count , lang_dict )
329339
340+ if args .case == 'upper' :
341+ strings = [x .upper () for x in strings ]
342+ if args .case == 'lower' :
343+ strings = [x .lower () for x in strings ]
330344
331345 string_count = len (strings )
332346
333347 p = Pool (args .thread_count )
334348 for _ in tqdm (p .imap_unordered (
335- FakeTextDataGenerator .generate_from_tuple ,
336- zip (
337- [i for i in range (0 , string_count )],
338- strings ,
339- [fonts [rnd .randrange (0 , len (fonts ))] for _ in range (0 , string_count )],
340- [args .output_dir ] * string_count ,
341- [args .format ] * string_count ,
342- [args .extension ] * string_count ,
343- [args .skew_angle ] * string_count ,
344- [args .random_skew ] * string_count ,
345- [args .blur ] * string_count ,
346- [args .random_blur ] * string_count ,
347- [args .background ] * string_count ,
348- [args .distorsion ] * string_count ,
349- [args .distorsion_orientation ] * string_count ,
350- [args .handwritten ] * string_count ,
351- [args .name_format ] * string_count ,
352- [args .width ] * string_count ,
353- [args .alignment ] * string_count ,
354- [args .text_color ] * string_count ,
355- [args .orientation ] * string_count ,
356- [args .space_width ] * string_count ,
357- [args .margins ] * string_count ,
358- [args .fit ] * string_count
359- )
349+ FakeTextDataGenerator .generate_from_tuple ,
350+ zip (
351+ [i for i in range (0 , string_count )],
352+ strings ,
353+ [fonts [rnd .randrange (0 , len (fonts ))] for _ in range (0 , string_count )],
354+ [args .output_dir ] * string_count ,
355+ [args .format ] * string_count ,
356+ [args .extension ] * string_count ,
357+ [args .skew_angle ] * string_count ,
358+ [args .random_skew ] * string_count ,
359+ [args .blur ] * string_count ,
360+ [args .random_blur ] * string_count ,
361+ [args .background ] * string_count ,
362+ [args .distorsion ] * string_count ,
363+ [args .distorsion_orientation ] * string_count ,
364+ [args .handwritten ] * string_count ,
365+ [args .name_format ] * string_count ,
366+ [args .width ] * string_count ,
367+ [args .alignment ] * string_count ,
368+ [args .text_color ] * string_count ,
369+ [args .orientation ] * string_count ,
370+ [args .space_width ] * string_count ,
371+ [args .margins ] * string_count ,
372+ [args .fit ] * string_count
373+ )
360374 ), total = args .count ):
361375 pass
362376 p .terminate ()
@@ -368,5 +382,6 @@ def main():
368382 file_name = str (i ) + "." + args .extension
369383 f .write ("{} {}\n " .format (file_name , strings [i ]))
370384
385+
371386if __name__ == '__main__' :
372387 main ()
0 commit comments