Source code for jscatter.examples

# -*- coding: utf-8 -*-
# written by Ralf Biehl at the Forschungszentrum Jülich ,
# Jülich Center for Neutron Science 1 and Institute of Complex Systems 1
#    jscatter is a program to read, analyse and plot data
#    Copyright (C) 2015  Ralf Biehl
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
from __future__ import division
from __future__ import print_function

"""
Some examples to show how to use jscatter

Functions show the code or run the examples in example directory.

"""


import os
import glob
import webbrowser
_path_ = os.path.realpath(os.path.dirname(__file__))
_expath=_path_
datapath=os.path.join(_expath,'exampleData')

def _getexamples():
    exfiles=glob.glob(_expath+'/example_*.py')
    return sorted(exfiles)

[docs]def showExampleList(): """ Show a list of all examples. """ print('Example path : ',_expath) exfiles=_getexamples() for i,ff in enumerate(exfiles): print(i,' ',os.path.basename(ff))
[docs]def runExample(example): """ Runs example Parameters ---------- example: string,int Filename or number of the example to run """ if isinstance(example,int): exfiles = _getexamples() example=exfiles[example] sorted(example) print('-----------------------------------') print(example) cwd = os.getcwd() os.chdir(_expath) with open(example) as f: exec(f.read(),{}) os.chdir(cwd) return
[docs]def showExample(example='.'): """ Opens example in browser or default editor Parameters ---------- example : string, int Filename or number. If '.' the folder with the examples is opened. """ if isinstance(example,int): exfiles = _getexamples() example=exfiles[example] webbrowser.open(os.path.join(_expath,example))
[docs]def runAll(): """ Run all examples. """ exfiles = _getexamples() for ff in exfiles: print('----------------------------------') print(os.path.basename(ff)) runExample(os.path.basename(ff))