From f74b16051b3ab27275c4bb5f68c653983682cc2b Mon Sep 17 00:00:00 2001 From: Taymor El Achkar Date: Tue, 24 Apr 2012 11:31:18 +0000 Subject: [PATCH] autodetection of line length for geomPack, updated description for both files --- processing/pre/spectral_geomCrop.py | 5 ++--- processing/pre/spectral_geomPack.py | 22 ++++++++++++++-------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/processing/pre/spectral_geomCrop.py b/processing/pre/spectral_geomCrop.py index ce7a7882f..d719e007b 100755 --- a/processing/pre/spectral_geomCrop.py +++ b/processing/pre/spectral_geomCrop.py @@ -37,9 +37,8 @@ mappings = { parser = OptionParser(option_class=extendedOption, usage='%prog options [file[s]]', description = """ -Offset microstructure index for points which see a microstructure different from themselves within a given (cubic) vicinity, -i.e. within the region close to a grain/phase boundary. -""" + string.replace('$Id: spectral_geomCheck 994 2011-09-05 13:38:10Z MPIE\p.eisenlohr $','\n','\\n') +Crops a spectral geometry description at given offset and by given points. +""" + string.replace('$Id$','\n','\\n') ) parser.add_option('-r', '--resolution', dest='resolution', type='int', nargs = 3, \ diff --git a/processing/pre/spectral_geomPack.py b/processing/pre/spectral_geomPack.py index 7bb7981cd..c1c9cbf9b 100755 --- a/processing/pre/spectral_geomPack.py +++ b/processing/pre/spectral_geomPack.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- import os,re,sys,math,string -from optparse import OptionParser, Option +from optparse import OptionParser, OptionGroup, Option, SUPPRESS_HELP def writeKey(outType, begin, counter): if outType == 'range': @@ -16,7 +16,7 @@ def writeKey(outType, begin, counter): file['output'].write(c) # ----------------------------- -class extendableOption(Option): +class extendedOption(Option): # ----------------------------- # used for definition of new option parser action 'extend', which enables to take multiple option arguments # taken from online tutorial http://docs.python.org/library/optparse.html @@ -39,8 +39,9 @@ class extendableOption(Option): # -------------------------------------------------------------------- # MAIN # -------------------------------------------------------------------- -parser = OptionParser(option_class=extendableOption, usage='%prog options [file[s]]', description = """ -packing/unpacking geometry file +parser = OptionParser(option_class=extendedOption, usage='%prog options [file[s]]', description = """ +Pack/unpack geometry files by adding or removing range indicator "to" and copy indicator "copies of". + """ + string.replace('$Id$','\n','\\n') ) @@ -50,12 +51,12 @@ parser.add_option('-p','--pack', dest='pack', action='store_true', \ parser.add_option('-u','--unpack', dest='unpack', action='store_true', \ help='unpack input file [%default]') parser.add_option('-l','--linelength', dest='lineLength',type='int', nargs=1, \ - help='length of line [%default]') + help='length of line, 0 for auto (resolution[0]) [%default]') parser.set_defaults(pack = False) parser.set_defaults(unpack = False) -parser.set_defaults(lineLength = 1) +parser.set_defaults(lineLength = 0) (options,filenames) = parser.parse_args() @@ -84,7 +85,10 @@ for file in files: words=line.split() currentLine+=1 if('head' in line): headNumber=int(words[0])+1 - if(currentLine<=headNumber): file['output'].write(line) + if(currentLine<=headNumber): + if(words[0].lower()=='resolution' and words[1].lower()=='a' and options.lineLength==0): + options.lineLength = int(words[2].lower()) + file['output'].write(line) else: if options.unpack: # unpacking the geometry file words = line.split() @@ -116,5 +120,7 @@ for file in files: outType= 'none' begin = current - writeKey(outType, begin, counter) # just for packing (last line), outType not defined for unpacking + writeKey(outType, begin, counter) # just for packing (last line), outType not defined for unpacking + file['output'].close() + file['input'].close() os.rename(file['name']+'_tmp',file['name'])