summaryrefslogtreecommitdiff
path: root/stwcs/gui/write_headerlet.py
diff options
context:
space:
mode:
authorNadia Dencheva <nadia.astropy@gmail.com>2016-08-07 12:23:24 -0400
committerGitHub <noreply@github.com>2016-08-07 12:23:24 -0400
commita2e16e39b0eb8ac0251a6473c60fee0d437c3a5f (patch)
tree7b6771e9c1974852eb8a283507677651078ce32a /stwcs/gui/write_headerlet.py
parent86d1bc5a77491770d45b86e5cf18b79ded68fb9b (diff)
parent2dc0676bc00f66a87737e78484876051633b731a (diff)
downloadstwcs_hcf-a2e16e39b0eb8ac0251a6473c60fee0d437c3a5f.tar.gz
Merge pull request #9 from nden/refactor-and-tests
restructure and add stwcs tests
Diffstat (limited to 'stwcs/gui/write_headerlet.py')
-rw-r--r--stwcs/gui/write_headerlet.py80
1 files changed, 80 insertions, 0 deletions
diff --git a/stwcs/gui/write_headerlet.py b/stwcs/gui/write_headerlet.py
new file mode 100644
index 0000000..e18bed8
--- /dev/null
+++ b/stwcs/gui/write_headerlet.py
@@ -0,0 +1,80 @@
+from __future__ import print_function
+import os
+
+from stsci.tools import teal
+from stsci.tools import parseinput
+
+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.write_headerlet.__doc__
+
+ else:
+ helpString = 'file://'+htmlfile
+
+ return helpString
+
+def run(configObj=None):
+ flist,oname = parseinput.parseinput(configObj['filename'])
+ if len(flist) == 0:
+ print('='*60)
+ print('ERROR:')
+ print(' No valid "filename" parameter value provided!')
+ print(' Please check the working directory and restart this task.')
+ print('='*60)
+ return
+
+ 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
+
+ if configObj['output'] in ['',' ','INDEF']:
+ configObj['output'] = None
+
+ str_kw = ['wcsname','destim','sipname','npolfile','d2imfile',
+ 'descrip','history','author','output','catalog']
+
+ # 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: write_headerlet(filename, hdrname, output, sciext='SCI',
+ # wcsname=None, wcskey=None, destim=None,
+ # sipname=None, npolfile=None, d2imfile=None,
+ # author=None, descrip=None, history=None,
+ # attach=True, clobber=False)
+ headerlet.write_headerlet(flist, configObj['hdrname'],
+ **cdict)