1
"""distutils_extra.command.clean_i18n
3
Implements the Distutils 'clean_i18n' command."""
6
from distutils.dir_util import remove_tree
7
import distutils.command.clean
9
class clean_i18n(distutils.command.clean.clean):
11
description = "clean up files generated by build_i18n"
15
mo_dir = os.path.join("build", "mo")
16
if os.path.isdir(mo_dir):
17
remove_tree('build/mo')
19
# clean built i18n files
20
for setname in ('xml_files', 'desktop_files', 'schemas_files',
21
'rfc822deb_files', 'ba_files', 'key_files'):
22
file_set = eval(self.distribution.get_option_dict('build_i18n').get(setname, (None, '[]'))[1])
23
for (target, files) in file_set:
24
build_target = os.path.join("build", target)
26
if file.endswith(".in"):
27
file_merged = os.path.basename(file[:-3])
29
file_merged = os.path.basename(file)
30
file_merged = os.path.join(build_target, file_merged)
31
if os.path.exists(file_merged):
32
os.unlink(file_merged)
33
if os.path.exists(build_target):
34
os.removedirs(build_target)
36
distutils.command.clean.clean.run(self)