1
+ #! /usr/bin/env python3
2
+ import os
3
+ import shutil
4
+ import argparse
5
+
6
+ parser = argparse .ArgumentParser (description = 'Copy specified directories from source to target.' )
7
+ parser .add_argument ('source_dir' , help = 'Source directory path' )
8
+ parser .add_argument ('target_dir' , help = 'Target directory path' )
9
+ args = parser .parse_args ()
10
+
11
+ directories = ['locale' , 'bin' , 'meta' , 'script' ]
12
+ files = ['main.lua' , "changelog.md" , "LICENSE" ]
13
+
14
+ if os .path .exists (args .target_dir ):
15
+ shutil .rmtree (args .target_dir )
16
+ os .makedirs (args .target_dir )
17
+
18
+ def copy_directories (source_dir , target_dir , directories ):
19
+ if not os .path .exists (target_dir ):
20
+ os .makedirs (target_dir )
21
+ for directory in directories :
22
+ src_path = os .path .join (source_dir , directory )
23
+ dst_path = os .path .join (target_dir , directory )
24
+ if os .path .exists (src_path ):
25
+ shutil .copytree (src_path , dst_path )
26
+ else :
27
+ print (f"Directory { src_path } does not exist." )
28
+
29
+ copy_directories (args .source_dir , args .target_dir , directories )
30
+
31
+ def copy_files (source_dir , target_dir , files ):
32
+ for file in files :
33
+ src_path = os .path .join (source_dir , file )
34
+ dst_path = os .path .join (target_dir , file )
35
+ if os .path .exists (src_path ):
36
+ shutil .copy2 (src_path , dst_path )
37
+ else :
38
+ print (f"File { src_path } does not exist." )
39
+
40
+ copy_files (args .source_dir , args .target_dir , files )
0 commit comments