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