Remove all pages except the system pages

Provided by Engelbert Gruber <engelbert.gruber@ssg.co.at>

"""Delete all files not listed.
USAGE: rm-non-systempages SystemPages
  reads SystemPages and cleans curent directory"""
        
import sys,os
import re

if (len( sys.argv)<=2 ):
        print( __doc__ )
        sys.exit(0)

word_match = re.compile("^[ \*]*([^\s]+)")
# Read file list (survivors)
keep = {}
f = open(sys.argv[1])

while 1:
        line = f.readline()
        if not line:
                break
        m = word_match.match(line)      
        if (m and len(m.group(1))>2):
                keep[m.group(1)] = 1
        
f.close()

# Scan through directory and remove files not in keep.

for entry in os.listdir(sys.argv[2]):
        # donot test for directories, remove wont do no harm.
        if (not keep.has_key(entry)):
                fn = os.path.join( sys.argv[2], entry )
                print "remove:"+fn
                os.remove( fn )
        else:
                print "keep:"+entry

MoinMoin: ScriptMarket/RemoveAllExceptSystemPages (last edited 2007-10-29 19:14:14 by localhost)