blob: 5215e72d1c7b6af69a89caa32f27faa1cc42f870 (
plain) (
tree)
|
|
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import sys
import os
import subprocess
import tempfile
import re
CLIENT_DATA_ROOT = os.path.realpath(
os.path.join(
os.path.dirname(__file__),
u'..',
)
)
MAP_RE = re.compile(r'^(\d{3})-(\d{1})$')
def list_missing_minimaps(maps, minimaps):
def minimap_wanted(m):
match = MAP_RE.match(m)
if match:
d = match.group(2)
# We ignore indoor maps
if not d == '2':
return True
return False
missing_minimaps = set([m for m in maps if minimap_wanted(m)]) - set(minimaps)
retcode = len(missing_minimaps)
print '\n'.join(sorted(missing_minimaps))
return retcode
def usage():
sys.stderr.write(u'''Usage: %(prgm_name)s CMD
Where CMD is one of:
list-missing-minimaps, lm: Lists all maps which do not
have a minimap.
\n''' % {'prgm_name': sys.argv[0]})
def main():
if not len(sys.argv) > 1:
usage()
return 127
action = sys.argv[1].lower()
maps = [os.path.splitext(p)[0] for p in os.listdir(os.path.join(CLIENT_DATA_ROOT, u'maps'))]
minimaps = [os.path.splitext(p)[0] for p in os.listdir(os.path.join(CLIENT_DATA_ROOT, u'graphics', u'minimaps'))]
status = 0
if action in ('list-missing-minimaps', 'lm'):
status = list_missing_minimaps(maps, minimaps)
else:
usage()
return 127
return status
if __name__ == '__main__':
sys.exit(main())
|