diff --git a/contrib/clearOldCache.py b/contrib/clearOldCache.py deleted file mode 100644 index 03650ce..0000000 --- a/contrib/clearOldCache.py +++ /dev/null @@ -1,97 +0,0 @@ -#!/usr/bin/python - -"""Deletes files from the old chunk-based cache""" - - -usage = "python contrib/%prog [OPTIONS] " - -description = """ -This script will delete files from the old chunk-based cache, a lot -like the old `overviewer.py -d World/` command. You should only use this if -you're updating from an older version of Overviewer, and you want to -clean up your world folder. -""" - -from optparse import OptionParser -import sys -import re -import os.path - -# incantation to be able to import overviewer_core -if not hasattr(sys, "frozen"): - sys.path.insert(0, os.path.abspath(os.path.join(os.path.split(__file__)[0], '..'))) - -from overviewer_core import world -from overviewer import list_worlds - -def main(): - parser = OptionParser(usage=usage, description=description) - parser.add_option("-d", "--dry-run", dest="dry", action="store_true", - help="Don't actually delete anything. Best used with -v.") - parser.add_option("-k", "--keep-dirs", dest="keep", action="store_true", - help="Keep the world directories intact, even if they are empty.") - parser.add_option("-v", "--verbose", dest="verbose", action="store_true", - help="Log each and every file that is deleted.") - - opt, args = parser.parse_args() - - if not len(args) == 1: - parser.print_help() - sys.exit(1) - - worlddir = args[0] - - if not os.path.exists(worlddir): - # world given is either world number, or name - worlds = world.get_worlds() - - # if there are no worlds found at all, exit now - if not worlds: - parser.print_help() - print "\nInvalid world path" - sys.exit(1) - - try: - worldnum = int(worlddir) - worlddir = worlds[worldnum]['path'] - except ValueError: - # it wasn't a number or path, try using it as a name - try: - worlddir = worlds[worlddir]['path'] - except KeyError: - # it's not a number, name, or path - parser.print_help() - print "Invalid world name or path" - sys.exit(1) - except KeyError: - # it was an invalid number - parser.print_help() - print "Invalid world number" - sys.exit(1) - - files_deleted = 0 - dirs_deleted = 0 - - imgre = re.compile(r'img\.[^.]+\.[^.]+\.nocave\.\w+\.png$') - for dirpath, dirnames, filenames in os.walk(worlddir, topdown=False): - for f in filenames: - if imgre.match(f): - filepath = os.path.join(dirpath, f) - if opt.verbose: - print "Deleting %s" % (filepath,) - if not opt.dry: - os.unlink(filepath) - files_deleted += 1 - - if not opt.keep: - if len(os.listdir(dirpath)) == 0: - if opt.verbose: - print "Deleting %s" % (dirpath,) - if not opt.dry: - os.rmdir(dirpath) - dirs_deleted += 1 - - print "%i files and %i directories deleted." % (files_deleted, dirs_deleted) - -if __name__ == "__main__": - main() diff --git a/contrib/findSigns.py b/contrib/findSigns.py deleted file mode 100644 index 8961365..0000000 --- a/contrib/findSigns.py +++ /dev/null @@ -1,105 +0,0 @@ -#!/usr/bin/python - -''' -Updates overviewer.dat file sign info - -This script will scan through every chunk looking for signs and write out an -updated overviewer.dat file. This can be useful if your overviewer.dat file -is either out-of-date or non-existant. - -To run, simply give a path to your world directory and the path to your -output directory. For example: - - python contrib/findSigns.py ../world.test/ output_dir/ - -An optional north direction may be specified as follows: - - python contrib/findSigns.py ../world.test/ output_dir/ lower-right - -Valid options are upper-left, upper-right, lower-left and lower-right. -If no direction is specified, lower-left is assumed - -Once that is done, simply re-run the overviewer to generate markers.js: - - python overviewer.py ../world.test/ output_dir/ - -''' -import sys -import re -import os -import cPickle - -# incantation to be able to import overviewer_core -if not hasattr(sys, "frozen"): - sys.path.insert(0, os.path.abspath(os.path.join(os.path.split(__file__)[0], '..'))) - -from overviewer_core import nbt - -from pprint import pprint -if len(sys.argv) < 3: - sys.exit("Usage: %s [north_direction]" % sys.argv[0]) - -worlddir = sys.argv[1] -outputdir = sys.argv[2] - -directions=["upper-left","upper-right","lower-left","lower-right"] -if len(sys.argv) < 4: - print "No north direction specified - assuming lower-left" - north_direction="lower-left" -else: - north_direction=sys.argv[3] - -if (north_direction not in directions): - print north_direction, " is not a valid direction" - sys.exit("Bad north-direction") - -if os.path.exists(worlddir): - print "Scanning chunks in ", worlddir -else: - sys.exit("Bad WorldDir") - -if os.path.exists(outputdir): - print "Output directory is ", outputdir -else: - sys.exit("Bad OutputDir") - -matcher = re.compile(r"^r\..*\.mcr$") - -POI = [] - -for dirpath, dirnames, filenames in os.walk(worlddir): - for f in filenames: - if matcher.match(f): - print f - full = os.path.join(dirpath, f) - # force lower-left so chunks are loaded in correct positions - r = nbt.load_region(full, 'lower-left') - chunks = r.get_chunks() - for x,y in chunks: - chunk = r.load_chunk(x,y).read_all() - data = chunk[1]['Level']['TileEntities'] - for entity in data: - if entity['id'] == 'Sign': - msg=' \n'.join([entity['Text1'], entity['Text2'], entity['Text3'], entity['Text4']]) - #print "checking -->%s<--" % msg.strip() - if msg.strip(): - newPOI = dict(type="sign", - x= entity['x'], - y= entity['y'], - z= entity['z'], - msg=msg, - chunk= (entity['x']/16, entity['z']/16), - ) - POI.append(newPOI) - print "Found sign at (%d, %d, %d): %r" % (newPOI['x'], newPOI['y'], newPOI['z'], newPOI['msg']) - - -if os.path.isfile(os.path.join(worlddir, "overviewer.dat")): - print "Overviewer.dat detected in WorldDir - this is no longer the correct location\n" - print "You may wish to delete the old file. A new overviewer.dat will be created\n" - print "Old file: ", os.path.join(worlddir, "overviewer.dat") - -pickleFile = os.path.join(outputdir,"overviewer.dat") -with open(pickleFile,"wb") as f: - cPickle.dump(dict(POI=POI,north_direction=north_direction), f) -