Pumping pads as files into publishing frameworks!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

49 lines
1.1 KiB

import json
import os
import re
from argparse import ArgumentParser
from urllib.error import HTTPError, URLError
from urllib.parse import urlencode
from urllib.request import urlopen
def group(items, key=lambda x: x):
ret = []
keys = {}
for item in items:
k = key(item)
if k not in keys:
keys[k] = []
keys[k].append(item)
for k in sorted(keys):
keys[k].sort()
ret.append(keys[k])
return ret
def main(args):
p = ArgumentParser("")
p.add_argument("input", nargs="+", help="filenames")
args = p.parse_args(args)
inputs = args.input
inputs.sort()
inputs = [x for x in inputs if not os.path.isdir(x)]
def base(x):
return re.sub(r"(\.html)|(\.diff\.html)|(\.meta\.json)|(\.txt)$", "", x)
# from pprint import pprint
# pprint()
gg = group(inputs, base)
for items in gg:
itembase = base(items[0])
try:
os.mkdir(itembase)
except OSError:
pass
for i in items:
newloc = os.path.join(itembase, i)
print("'{0}' => '{1}'".format(i, newloc))
os.rename(i, newloc)