Commit 05b33a6be58c216f51d1f15953943af46f4b1270
1 parent
18741613
Import and test IACT scripts only for Python 2.6 or later.
Showing
6 changed files
with
104 additions
and
81 deletions
ChangeLog
| 1 | -2016-02-25 Juergen Knoedlseder <jurgen.knodlseder@irap.omp.eu> | 1 | +2016-02-26 Juergen Knoedlseder <jurgen.knodlseder@irap.omp.eu> |
| 2 | 2 | ||
| 3 | * Version 1.1.0 released | 3 | * Version 1.1.0 released |
| 4 | ======================== | 4 | ======================== |
| 5 | 5 | ||
| 6 | + Test and import IACT scripts only for Python 2.6+ (#1715) | ||
| 6 | Adapt to revise GTime operators (#1714) | 7 | Adapt to revise GTime operators (#1714) |
| 7 | Add publish() methods to tools producing images (#1710) | 8 | Add publish() methods to tools producing images (#1710) |
| 8 | Read ahead output filename in cterror (#1700) | 9 | Read ahead output filename in cterror (#1700) |
NEWS
| @@ -2,7 +2,7 @@ New Features and Important Changes in ctools 1.1.0 | @@ -2,7 +2,7 @@ New Features and Important Changes in ctools 1.1.0 | ||
| 2 | 2 | ||
| 3 | Author(s) : Juergen Knoedlseder | 3 | Author(s) : Juergen Knoedlseder |
| 4 | 4 | ||
| 5 | -25 February 2016 | 5 | +26 February 2016 |
| 6 | 6 | ||
| 7 | 7 | ||
| 8 | 1. Introduction | 8 | 1. Introduction |
| @@ -18,7 +18,10 @@ None | @@ -18,7 +18,10 @@ None | ||
| 18 | 18 | ||
| 19 | 3. Python interface | 19 | 3. Python interface |
| 20 | ------------------- | 20 | ------------------- |
| 21 | -None | 21 | +The IACT scripts csfindobs, csiactcopy, csiactdata, and csiactobs are only |
| 22 | +imported into th cscripts module and tested if the Python version is 2.6 or | ||
| 23 | +newer. These scripts make use of the json Python module that is only became | ||
| 24 | +available from Python 2.6 on. | ||
| 22 | 25 | ||
| 23 | 26 | ||
| 24 | 4. Support model | 27 | 4. Support model |
configure.ac
| @@ -603,9 +603,9 @@ if test "x$ac_enable_python_binding" = "xno"; then | @@ -603,9 +603,9 @@ if test "x$ac_enable_python_binding" = "xno"; then | ||
| 603 | else | 603 | else |
| 604 | 604 | ||
| 605 | # Do we have Python and Python.h? | 605 | # Do we have Python and Python.h? |
| 606 | - AM_PATH_PYTHON([2.5], | 606 | + AM_PATH_PYTHON([2.3], |
| 607 | [has_python="yes"], | 607 | [has_python="yes"], |
| 608 | - [AC_MSG_WARN([Python >= 2.5 not found. Python >= 2.5 is required to build python binding. Python can be obtained from http://www.python.org])]) | 608 | + [AC_MSG_WARN([Python >= 2.3 not found. Python >= 2.3 is required to build python binding. Python can be obtained from http://www.python.org])]) |
| 609 | 609 | ||
| 610 | # It would really be weired if Python has not been found, as barely every system has Python. Maybe | 610 | # It would really be weired if Python has not been found, as barely every system has Python. Maybe |
| 611 | # it was not found because the autoconf is so old, and in an early version of the AM_PATH_PYTHON | 611 | # it was not found because the autoconf is so old, and in an early version of the AM_PATH_PYTHON |
cscripts/Makefile.am
| @@ -3,16 +3,18 @@ | @@ -3,16 +3,18 @@ | ||
| 3 | # Scripts to be distributed in $(pyexecdir)/cscripts | 3 | # Scripts to be distributed in $(pyexecdir)/cscripts |
| 4 | pythonscripts = __init__.py \ | 4 | pythonscripts = __init__.py \ |
| 5 | cspull.py cssens.py cstsdist.py cscaldb.py csresmap.py \ | 5 | cspull.py cssens.py cstsdist.py cscaldb.py csresmap.py \ |
| 6 | - csiactobs.py csiactdata.py csobsdef.py csspec.py cslightcrv.py csobsinfo.py \ | 6 | + csobsdef.py csspec.py cslightcrv.py csobsinfo.py \ |
| 7 | csinfo.py csmodelinfo.py csmodelmerge.py cstsmapmerge.py \ | 7 | csinfo.py csmodelinfo.py csmodelmerge.py cstsmapmerge.py \ |
| 8 | - csobs2caldb.py csfindobs.py csiactcopy.py \ | 8 | + csobs2caldb.py \ |
| 9 | + csfindobs.py csiactcopy.py csiactdata.py csiactobs.py \ | ||
| 9 | obsutils.py | 10 | obsutils.py |
| 10 | 11 | ||
| 11 | # Scripts for which symbolic links will be created in bindir | 12 | # Scripts for which symbolic links will be created in bindir |
| 12 | linkscripts = cspull cssens cstsdist cscaldb csresmap \ | 13 | linkscripts = cspull cssens cstsdist cscaldb csresmap \ |
| 13 | - csiactobs csiactdata csobsdef csspec cslightcrv csobsinfo \ | 14 | + csobsdef csspec cslightcrv csobsinfo \ |
| 14 | csinfo csmodelinfo csmodelmerge cstsmapmerge \ | 15 | csinfo csmodelinfo csmodelmerge cstsmapmerge \ |
| 15 | - csobs2caldb csfindobs csiactcopy | 16 | + csobs2caldb \ |
| 17 | + csfindobs csiactcopy csiactdata csiactobs | ||
| 16 | 18 | ||
| 17 | # Distribute scripts | 19 | # Distribute scripts |
| 18 | EXTRA_DIST = $(binscripts) $(pythonscripts) | 20 | EXTRA_DIST = $(binscripts) $(pythonscripts) |
cscripts/__init__.py.in
| 1 | # ========================================================================== | 1 | # ========================================================================== |
| 2 | # cscripts Python module | 2 | # cscripts Python module |
| 3 | # | 3 | # |
| 4 | -# Copyright (C) 2015 Juergen Knoedlseder | 4 | +# Copyright (C) 2015-2016 Juergen Knoedlseder |
| 5 | # | 5 | # |
| 6 | # This program is free software: you can redistribute it and/or modify | 6 | # This program is free software: you can redistribute it and/or modify |
| 7 | # it under the terms of the GNU General Public License as published by | 7 | # it under the terms of the GNU General Public License as published by |
| @@ -17,12 +17,14 @@ | @@ -17,12 +17,14 @@ | ||
| 17 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | 17 | # along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 18 | # | 18 | # |
| 19 | # ========================================================================== | 19 | # ========================================================================== |
| 20 | +# Python version check | ||
| 21 | +import sys | ||
| 22 | +req_version = (2,7) | ||
| 23 | +cur_version = sys.version_info | ||
| 20 | 24 | ||
| 21 | # List all scripts in this module | 25 | # List all scripts in this module |
| 22 | __all__ = [ | 26 | __all__ = [ |
| 23 | "cscaldb", | 27 | "cscaldb", |
| 24 | - "csiactdata", | ||
| 25 | - "csiactobs", | ||
| 26 | "csinfo", | 28 | "csinfo", |
| 27 | "cslightcrv", | 29 | "cslightcrv", |
| 28 | "csmodelinfo", | 30 | "csmodelinfo", |
| @@ -37,17 +39,18 @@ __all__ = [ | @@ -37,17 +39,18 @@ __all__ = [ | ||
| 37 | "cstsdist", | 39 | "cstsdist", |
| 38 | "cstsmapmerge", | 40 | "cstsmapmerge", |
| 39 | "csfindobs", | 41 | "csfindobs", |
| 40 | - "csiactobs", | ||
| 41 | - "csiactdata", | ||
| 42 | - "csiactcopy", | ||
| 43 | "obsutils", | 42 | "obsutils", |
| 44 | "test", | 43 | "test", |
| 45 | ] | 44 | ] |
| 45 | +if cur_version > req_version: | ||
| 46 | + __all__.extend(["csfindobs", | ||
| 47 | + "csiactcopy", | ||
| 48 | + "csiactdata", | ||
| 49 | + "csiactobs"]) | ||
| 50 | + | ||
| 46 | 51 | ||
| 47 | # Import | 52 | # Import |
| 48 | from .cscaldb import cscaldb | 53 | from .cscaldb import cscaldb |
| 49 | -from .csiactdata import csiactdata | ||
| 50 | -from .csiactobs import csiactobs | ||
| 51 | from .csinfo import csinfo | 54 | from .csinfo import csinfo |
| 52 | from .cslightcrv import cslightcrv | 55 | from .cslightcrv import cslightcrv |
| 53 | from .csmodelinfo import csmodelinfo | 56 | from .csmodelinfo import csmodelinfo |
| @@ -61,11 +64,17 @@ from .cssens import cssens | @@ -61,11 +64,17 @@ from .cssens import cssens | ||
| 61 | from .csspec import csspec | 64 | from .csspec import csspec |
| 62 | from .cstsdist import cstsdist | 65 | from .cstsdist import cstsdist |
| 63 | from .cstsmapmerge import cstsmapmerge | 66 | from .cstsmapmerge import cstsmapmerge |
| 64 | -from .csfindobs import csfindobs | ||
| 65 | -from .csiactobs import csiactobs | ||
| 66 | -from .csiactdata import csiactdata | ||
| 67 | -from .csiactcopy import csiactcopy | ||
| 68 | from . import obsutils | 67 | from . import obsutils |
| 68 | +if cur_version > req_version: | ||
| 69 | + from .csfindobs import csfindobs | ||
| 70 | + from .csiactcopy import csiactcopy | ||
| 71 | + from .csiactdata import csiactdata | ||
| 72 | + from .csiactobs import csiactobs | ||
| 73 | + | ||
| 74 | +# Delete version check variables | ||
| 75 | +del sys | ||
| 76 | +del req_version | ||
| 77 | +del cur_version | ||
| 69 | 78 | ||
| 70 | # Add test function | 79 | # Add test function |
| 71 | def test(): | 80 | def test(): |
test/test_cscripts.sh.in
| @@ -483,66 +483,74 @@ $ECHO " ok" | @@ -483,66 +483,74 @@ $ECHO " ok" | ||
| 483 | 483 | ||
| 484 | 484 | ||
| 485 | # | 485 | # |
| 486 | -# Test csiactcopy | ||
| 487 | -# =============== | ||
| 488 | -$ECHO -n "Test csiactcopy: " | ||
| 489 | -chmod +x @abs_top_srcdir@/cscripts/csiactcopy.py | ||
| 490 | -@abs_top_srcdir@/cscripts/csiactcopy.py \ | ||
| 491 | - remote_master="iactdata/master.json" \ | ||
| 492 | - outpath="iactdata_test" \ | ||
| 493 | - prodname="unit-test" > csiactcopy.log | ||
| 494 | -$ECHO -n "." | ||
| 495 | -if [ -s "iactdata_test/master.json" ] | ||
| 496 | -then | 486 | +# Optional tests for Python 2.6++ (scripts needing json module) |
| 487 | +# ============================================================= | ||
| 488 | +python_version=`echo @PYTHON_VERSION@ | sed 's/\(10\.[[0-9]]*\).*/\1/' | sed -e 's/\.//g'` | ||
| 489 | +if [ $python_version -ge 26 ]; then | ||
| 490 | + | ||
| 491 | + # | ||
| 492 | + # Test csfindobs | ||
| 493 | + # ============== | ||
| 494 | + $ECHO -n "Test csfindobs: " | ||
| 495 | + chmod +x @abs_top_srcdir@/cscripts/csfindobs.py | ||
| 496 | + @abs_top_srcdir@/cscripts/csfindobs.py \ | ||
| 497 | + datapath="iactdata/" \ | ||
| 498 | + prodname="unit-test" \ | ||
| 499 | + ra="83.6331" \ | ||
| 500 | + dec="22.01" \ | ||
| 501 | + rad="1.0" \ | ||
| 502 | + outfile="iactrunlist.dat" > csfindobs.log | ||
| 497 | $ECHO -n "." | 503 | $ECHO -n "." |
| 498 | -else | ||
| 499 | - $ECHO " iactdata_test/master.json file is not valid" | ||
| 500 | - exit 1 | ||
| 501 | -fi | ||
| 502 | -$ECHO " ok" | ||
| 503 | - | ||
| 504 | - | ||
| 505 | -# | ||
| 506 | -# Test csfindobs | ||
| 507 | -# ============== | ||
| 508 | -$ECHO -n "Test csfindobs: " | ||
| 509 | -chmod +x @abs_top_srcdir@/cscripts/csfindobs.py | ||
| 510 | -@abs_top_srcdir@/cscripts/csfindobs.py \ | ||
| 511 | - datapath="iactdata/" \ | ||
| 512 | - prodname="unit-test" \ | ||
| 513 | - ra="83.6331" \ | ||
| 514 | - dec="22.01" \ | ||
| 515 | - rad="1.0" \ | ||
| 516 | - outfile="iactrunlist.dat" > csfindobs.log | ||
| 517 | -$ECHO -n "." | ||
| 518 | -if [ -s "iactrunlist.dat" ] | ||
| 519 | -then | 504 | + if [ -s "iactrunlist.dat" ] |
| 505 | + then | ||
| 506 | + $ECHO -n "." | ||
| 507 | + else | ||
| 508 | + $ECHO " iactdata/runlist.txt file is not valid" | ||
| 509 | + exit 1 | ||
| 510 | + fi | ||
| 511 | + $ECHO " ok" | ||
| 512 | + | ||
| 513 | + | ||
| 514 | + # | ||
| 515 | + # Test csiactcopy | ||
| 516 | + # =============== | ||
| 517 | + $ECHO -n "Test csiactcopy: " | ||
| 518 | + chmod +x @abs_top_srcdir@/cscripts/csiactcopy.py | ||
| 519 | + @abs_top_srcdir@/cscripts/csiactcopy.py \ | ||
| 520 | + remote_master="iactdata/master.json" \ | ||
| 521 | + outpath="iactdata_test" \ | ||
| 522 | + prodname="unit-test" > csiactcopy.log | ||
| 520 | $ECHO -n "." | 523 | $ECHO -n "." |
| 521 | -else | ||
| 522 | - $ECHO " iactdata/runlist.txt file is not valid" | ||
| 523 | - exit 1 | ||
| 524 | -fi | ||
| 525 | -$ECHO " ok" | ||
| 526 | - | ||
| 527 | - | ||
| 528 | -# | ||
| 529 | -# Test csiactobs | ||
| 530 | -# ============== | ||
| 531 | -$ECHO -n "Test csiactobs: " | ||
| 532 | -chmod +x @abs_top_srcdir@/cscripts/csiactobs.py | ||
| 533 | -@abs_top_srcdir@/cscripts/csiactobs.py \ | ||
| 534 | - datapath="iactdata/" \ | ||
| 535 | - prodname="unit-test" \ | ||
| 536 | - infile="iactrunlist.dat" \ | ||
| 537 | - bkgpars="1" \ | ||
| 538 | - outobs="obs2.xml" \ | ||
| 539 | - outmodel="bkgmodels.xml" > csiactobs.log | ||
| 540 | -$ECHO -n "." | ||
| 541 | -if [ -s "obs2.xml" ] | ||
| 542 | -then | 524 | + if [ -s "iactdata_test/master.json" ] |
| 525 | + then | ||
| 526 | + $ECHO -n "." | ||
| 527 | + else | ||
| 528 | + $ECHO " iactdata_test/master.json file is not valid" | ||
| 529 | + exit 1 | ||
| 530 | + fi | ||
| 531 | + $ECHO " ok" | ||
| 532 | + | ||
| 533 | + | ||
| 534 | + # | ||
| 535 | + # Test csiactobs | ||
| 536 | + # ============== | ||
| 537 | + $ECHO -n "Test csiactobs: " | ||
| 538 | + chmod +x @abs_top_srcdir@/cscripts/csiactobs.py | ||
| 539 | + @abs_top_srcdir@/cscripts/csiactobs.py \ | ||
| 540 | + datapath="iactdata/" \ | ||
| 541 | + prodname="unit-test" \ | ||
| 542 | + infile="iactrunlist.dat" \ | ||
| 543 | + bkgpars="1" \ | ||
| 544 | + outobs="obs2.xml" \ | ||
| 545 | + outmodel="bkgmodels.xml" > csiactobs.log | ||
| 543 | $ECHO -n "." | 546 | $ECHO -n "." |
| 544 | -else | ||
| 545 | - $ECHO " obs.xml file is not valid" | ||
| 546 | - exit 1 | ||
| 547 | -fi | ||
| 548 | -$ECHO " ok" | 547 | + if [ -s "obs2.xml" ] |
| 548 | + then | ||
| 549 | + $ECHO -n "." | ||
| 550 | + else | ||
| 551 | + $ECHO " obs.xml file is not valid" | ||
| 552 | + exit 1 | ||
| 553 | + fi | ||
| 554 | + $ECHO " ok" | ||
| 555 | + | ||
| 556 | +fi # Python 2.6+ specific tests |