From 3927419fe23bb91b894c31633fcd41c299639323 Mon Sep 17 00:00:00 2001 From: Hanno Rein Date: Tue, 15 Mar 2016 15:44:09 -0400 Subject: [PATCH] ipynb2py now executes the code directly. This allows me to capture the annoying NASA Horizon timeouts. --- .travis.yml | 38 ++++++++++---------- ipython_examples/Churyumov-Gerasimenko.ipynb | 2 +- ipython_examples/ipynb2py.py | 13 ++++--- 3 files changed, 29 insertions(+), 24 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9f8876dd7..5a50dc1b3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,25 +23,25 @@ script: - cd $TRAVIS_BUILD_DIR/examples/ && make - cd $TRAVIS_BUILD_DIR/src && make clean - cd $TRAVIS_BUILD_DIR/ && make - - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py AdvWHFast.ipynb | python - - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py Checkpoints.ipynb | python - - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py Churyumov-Gerasimenko.ipynb | python - - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py CloseEncounters.ipynb | python - - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py EscapingParticles.ipynb | python - - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py Forces.ipynb | python - #- cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py FourierSpectrum.ipynb | python - - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py Horizons.ipynb | python - - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py Megno.ipynb | python - - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py VariationalEquations.ipynb | python - - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py VariationalEquationsWithChainRule.ipynb | python - #- cd $TRAVIS_BUILD_DIR/python_tutorials/ && python ipynb2py.py Parallel.ipynb | python - - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py ParticleIDsAndRemoval.ipynb | python - - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py PoincareMap.ipynb | python - - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py OrbitalElements.ipynb | python - #- cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py Testparticles.ipynb | python - - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py Units.ipynb | python - - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py WHFast.ipynb | python - - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py TransitTimingVariations.ipynb | python + - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py AdvWHFast.ipynb + - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py Checkpoints.ipynb + - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py Churyumov-Gerasimenko.ipynb + - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py CloseEncounters.ipynb + - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py EscapingParticles.ipynb + - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py Forces.ipynb + #- cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py FourierSpectrum.ipynb + - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py Horizons.ipynb + - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py Megno.ipynb + - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py VariationalEquations.ipynb + - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py VariationalEquationsWithChainRule.ipynb + #- cd $TRAVIS_BUILD_DIR/python_tutorials/ && python ipynb2py.py Parallel.ipynb + - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py ParticleIDsAndRemoval.ipynb + - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py PoincareMap.ipynb + - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py OrbitalElements.ipynb + #- cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py Testparticles.ipynb + - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py Units.ipynb + - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py WHFast.ipynb + - cd $TRAVIS_BUILD_DIR/ipython_examples/ && python ipynb2py.py TransitTimingVariations.ipynb - cd $TRAVIS_BUILD_DIR/python_examples/dragforce/ && python problem.py #- cd $TRAVIS_BUILD_DIR/python_examples/horizons/ && python problem.py - cd $TRAVIS_BUILD_DIR/python_examples/longtermtest/ && python problem.py diff --git a/ipython_examples/Churyumov-Gerasimenko.ipynb b/ipython_examples/Churyumov-Gerasimenko.ipynb index b41cfa7d5..9279ae8fb 100644 --- a/ipython_examples/Churyumov-Gerasimenko.ipynb +++ b/ipython_examples/Churyumov-Gerasimenko.ipynb @@ -356,7 +356,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.4.2" } }, "nbformat": 4, diff --git a/ipython_examples/ipynb2py.py b/ipython_examples/ipynb2py.py index a86dde99e..f96f3585e 100644 --- a/ipython_examples/ipynb2py.py +++ b/ipython_examples/ipynb2py.py @@ -1,10 +1,10 @@ import json import sys -print "import matplotlib as mpl" -print "mpl.use(\"Agg\")" +exec("import matplotlib as mpl") +exec("mpl.use(\"Agg\")") if len(sys.argv)!=2: - print "Usage: ipynb2py.py FILENAME" + print("Usage: ipynb2py.py FILENAME") exit(1) with open(sys.argv[1]) as data_file: ipynb = json.load(data_file) @@ -16,4 +16,9 @@ for s in source: if s[0] != "%": code += s.rstrip('\n')+"\n" -print code +import socket +try: + exec(code) +except socket.error: + print("A socket error occured. This is most likely due to a timeout in the NASA Horizons connections. We catch this exception here and ignore is.") + pass