#!/usr/bin/python from zipfile import ZipFile import os, sys, zipfile from glob import glob import fnmatch as fnm maps = [] for fn in glob("*.pk3"): try: zf = ZipFile(fn) except zipfile.BadZipfile: print >> sys.stderr, "Not a package:", fn else: maps += (os.path.splitext(os.path.basename(f))[0] for f in fnm.filter(zf.namelist(), "maps/*.mapcfg")) zf.close() maps.sort() args = sys.argv[1:] for m in maps: for a in args: if fnm.fnmatch(m, a): print m break if len(args) == 0: print m