|
|
|
@ -81,12 +81,14 @@ versionRegex = (
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
blacklist = (
|
|
|
|
|
re.compile(r"wl_apsta.*"),
|
|
|
|
|
re.compile(r"boost.*"),
|
|
|
|
|
re.compile(r".*\.fw"),
|
|
|
|
|
re.compile(r".*\.arm"),
|
|
|
|
|
re.compile(r".*\.bin"),
|
|
|
|
|
re.compile(r"RT\d+_Firmware.*"),
|
|
|
|
|
("linux", re.compile(r"linux-.*")),
|
|
|
|
|
("gcc", re.compile(r"gcc-.*")),
|
|
|
|
|
("boost", re.compile(r"boost.*")),
|
|
|
|
|
("wl_apsta", re.compile(r"wl_apsta.*")),
|
|
|
|
|
(".fw", re.compile(r".*\.fw")),
|
|
|
|
|
(".arm", re.compile(r".*\.arm")),
|
|
|
|
|
(".bin", re.compile(r".*\.bin")),
|
|
|
|
|
("rt-firmware", re.compile(r"RT\d+_Firmware.*")),
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
class EntryParseError(Exception): pass
|
|
|
|
@ -132,14 +134,15 @@ def usage():
|
|
|
|
|
print "Usage: " + sys.argv[0] + " [OPTIONS] <path/to/dl>"
|
|
|
|
|
print ""
|
|
|
|
|
print " -d|--dry-run Do a dry-run. Don't delete any files"
|
|
|
|
|
print " -B|--show-blacklist Show the blacklist and exit"
|
|
|
|
|
|
|
|
|
|
def main(argv):
|
|
|
|
|
global opt_dryrun
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
(opts, args) = getopt.getopt(argv[1:],
|
|
|
|
|
"hd",
|
|
|
|
|
[ "help", "dry-run", ])
|
|
|
|
|
"hdB",
|
|
|
|
|
[ "help", "dry-run", "show-blacklist", ])
|
|
|
|
|
if len(args) != 1:
|
|
|
|
|
raise getopt.GetoptError()
|
|
|
|
|
except getopt.GetoptError:
|
|
|
|
@ -152,14 +155,18 @@ def main(argv):
|
|
|
|
|
return 0
|
|
|
|
|
if o in ("-d", "--dry-run"):
|
|
|
|
|
opt_dryrun = True
|
|
|
|
|
if o in ("-B", "--show-blacklist"):
|
|
|
|
|
for (name, regex) in blacklist:
|
|
|
|
|
print name
|
|
|
|
|
return 0
|
|
|
|
|
|
|
|
|
|
# Create a directory listing and parse the file names.
|
|
|
|
|
entries = []
|
|
|
|
|
for filename in os.listdir(directory):
|
|
|
|
|
if filename == "." or filename == "..":
|
|
|
|
|
continue
|
|
|
|
|
for black in blacklist:
|
|
|
|
|
if black.match(filename):
|
|
|
|
|
for (name, regex) in blacklist:
|
|
|
|
|
if regex.match(filename):
|
|
|
|
|
if opt_dryrun:
|
|
|
|
|
print filename, "is blacklisted"
|
|
|
|
|
break
|
|
|
|
|