From b5f4204747f7e4105049713b40d7bca0fae052e5 Mon Sep 17 00:00:00 2001 From: hack Date: Tue, 25 Oct 2011 21:25:35 +0000 Subject: Merging changes from 'stwcs_hdrlet' branch (r18787 - r13909) into trunk. This version of STWCS (0.9.1) provides support for headerlets based on 'Headerlet Design' wiki document, and includes TEAL interfaces for all public headerlet functions. It also moves the TEAL interface for 'updatewcs' from 'astrodither' to this package. The TEAL interaces have been included as a new 'gui' sub-package in order to keep them separate from the remainder of the package's functionality. git-svn-id: http://svn.stsci.edu/svn/ssb/stsci_python/stsci_python/trunk/stwcs@13910 fe389314-cf27-0410-b35b-8c050e845b92 --- lib/stwcs/gui/extract_headerlet.py | 58 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 lib/stwcs/gui/extract_headerlet.py (limited to 'lib/stwcs/gui/extract_headerlet.py') diff --git a/lib/stwcs/gui/extract_headerlet.py b/lib/stwcs/gui/extract_headerlet.py new file mode 100644 index 0000000..8751ff3 --- /dev/null +++ b/lib/stwcs/gui/extract_headerlet.py @@ -0,0 +1,58 @@ +import os + +import pyfits +from stsci.tools import teal + +import stwcs +from stwcs.wcsutil import headerlet + +__taskname__ = __name__.split('.')[-1] # needed for help string +__package__ = headerlet.__name__ +__version__ = stwcs.__version__ +# +#### Interfaces used by TEAL +# +def getHelpAsString(docstring=False): + """ + return useful help from a file in the script directory called __taskname__.help + """ + install_dir = os.path.dirname(__file__) + htmlfile = os.path.join(install_dir,'htmlhelp',__taskname__+'.html') + helpfile = os.path.join(install_dir,__taskname__+'.help') + if docstring or (not docstring and not os.path.exists(htmlfile)): + helpString = __taskname__+' Version '+__version__+'\n\n' + if os.path.exists(helpfile): + helpString += teal.getHelpFileAsString(__taskname__,__file__) + else: + helpString += eval('.'.join([__package__,__taskname__,'__doc__'])) + + else: + helpString = 'file://'+htmlfile + + return helpString + +def run(configObj=None): + + if configObj['output'] in ['',' ',None]: + print '='*60 + print 'ERROR:' + print ' No valid "output" parameter value provided!' + print ' Please restart this task and provide a value for this parameter.' + print '='*60 + return + + # create dictionary of remaining parameters, deleting extraneous ones + # such as those above + cdict = configObj.dict() + # remove any rules defined for the TEAL interface + if cdict.has_key("_RULES_"): del cdict['_RULES_'] + del cdict['_task_name_'] + del cdict['filename'] + del cdict['output'] + + # Call function with properly interpreted input parameters + # Syntax: extract_headerlet(filename, output, extnum=None, hdrname=None, + # clobber=False, verbose=100) + headerlet.extract_headerlet(configObj['filename'], configObj['output'], + **cdict) + -- cgit