summaryrefslogtreecommitdiff
path: root/stwcs/gui/archive_headerlet.py
diff options
context:
space:
mode:
authorNadia Dencheva <nadia.dencheva@gmail.com>2016-08-04 17:42:01 -0400
committerNadia Dencheva <nadia.dencheva@gmail.com>2016-08-04 17:42:01 -0400
commit4b65b226085ccb9e665a5866023d8114f7438188 (patch)
tree7183ed93c0624164930069bf5fedcd582dce84b6 /stwcs/gui/archive_headerlet.py
parent86d1bc5a77491770d45b86e5cf18b79ded68fb9b (diff)
downloadstwcs_hcf-4b65b226085ccb9e665a5866023d8114f7438188.tar.gz
restructure and add stwcs tests
Diffstat (limited to 'stwcs/gui/archive_headerlet.py')
-rw-r--r--stwcs/gui/archive_headerlet.py69
1 files changed, 69 insertions, 0 deletions
diff --git a/stwcs/gui/archive_headerlet.py b/stwcs/gui/archive_headerlet.py
new file mode 100644
index 0000000..7ad3d4d
--- /dev/null
+++ b/stwcs/gui/archive_headerlet.py
@@ -0,0 +1,69 @@
+from __future__ import print_function
+import os
+
+from astropy.io import fits
+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 += headerlet.archive_as_headerlet.__doc__
+
+ else:
+ helpString = 'file://'+htmlfile
+
+ return helpString
+
+def run(configObj=None):
+
+ if configObj['hdrname'] in ['',' ','INDEF']:
+ print('='*60)
+ print('ERROR:')
+ print(' No valid "hdrname" parameter value provided!')
+ print(' Please restart this task and provide a value for this parameter.')
+ print('='*60)
+ return
+
+ str_kw = ['wcsname','destim','sipname','npolfile','d2imfile',
+ 'descrip','history','author']
+
+ # create dictionary of remaining parameters, deleting extraneous ones
+ # such as those above
+ cdict = configObj.dict()
+ # remove any rules defined for the TEAL interface
+ if "_RULES_" in cdict: del cdict['_RULES_']
+ del cdict['_task_name_']
+ del cdict['filename']
+ del cdict['hdrname']
+
+ # Convert blank string input as None
+ for kw in str_kw:
+ if cdict[kw] == '': cdict[kw] = None
+ if cdict['wcskey'].lower() == 'primary': cdict['wcskey'] = ' '
+
+ # Call function with properly interpreted input parameters
+ # Syntax: archive_as_headerlet(filename, sciext='SCI', wcsname=None, wcskey=None,
+ # hdrname=None, destim=None,
+ # sipname=None, npolfile=None, d2imfile=None,
+ # author=None, descrip=None, history=None,
+ # hdrlet=None, clobber=False)
+ headerlet.archive_as_headerlet(configObj['filename'], configObj['hdrname'],
+ **cdict)