├── .gitignore ├── LICENSE ├── README.md └── openlava ├── MANIFEST ├── MANIFEST.in ├── README ├── README.rst ├── build.sh ├── debug.sh ├── doc ├── Makefile ├── README.md ├── _build │ ├── doctrees │ │ ├── contributing.doctree │ │ ├── environment.pickle │ │ ├── index.doctree │ │ ├── installation.doctree │ │ ├── lsbatch.doctree │ │ └── lslib.doctree │ └── html │ │ ├── .buildinfo │ │ ├── _modules │ │ └── index.html │ │ ├── _sources │ │ ├── contributing.txt │ │ ├── index.txt │ │ ├── installation.txt │ │ ├── lsbatch.txt │ │ └── lslib.txt │ │ ├── _static │ │ ├── ajax-loader.gif │ │ ├── basic.css │ │ ├── comment-bright.png │ │ ├── comment-close.png │ │ ├── comment.png │ │ ├── default.css │ │ ├── doctools.js │ │ ├── down-pressed.png │ │ ├── down.png │ │ ├── file.png │ │ ├── jquery.js │ │ ├── minus.png │ │ ├── plus.png │ │ ├── pygments.css │ │ ├── searchtools.js │ │ ├── sidebar.js │ │ ├── underscore.js │ │ ├── up-pressed.png │ │ ├── up.png │ │ └── websupport.js │ │ ├── contributing.html │ │ ├── genindex.html │ │ ├── index.html │ │ ├── installation.html │ │ ├── lsbatch.html │ │ ├── lslib.html │ │ ├── objects.inv │ │ ├── py-modindex.html │ │ ├── search.html │ │ └── searchindex.js ├── _templates │ └── layout.html ├── conf.py ├── contributing.rst ├── index.rst ├── installation.rst ├── lsbatch.rst ├── lslib.rst └── make.bat ├── examples ├── cluster_info.py ├── host_info.py ├── host_load.py ├── hosts.py ├── jobs.py ├── queues.py └── users.py ├── openlava ├── __init__.py ├── lsblib.pyx ├── lslib.pyx └── openlava_base.pxd ├── setup.py └── tests └── test.py /.gitignore: -------------------------------------------------------------------------------- 1 | *.py[cod] 2 | .idea 3 | 4 | # C extensions 5 | *.so 6 | 7 | # Packages 8 | *.egg 9 | *.egg-info 10 | dist 11 | build 12 | eggs 13 | parts 14 | bin 15 | var 16 | sdist 17 | develop-eggs 18 | .installed.cfg 19 | lib 20 | lib64 21 | __pycache__ 22 | 23 | # Installer logs 24 | pip-log.txt 25 | 26 | # Unit test / coverage reports 27 | .coverage 28 | .tox 29 | nosetests.xml 30 | 31 | # Translations 32 | *.mo 33 | 34 | # Mr Developer 35 | .mr.developer.cfg 36 | .project 37 | .pydevproject 38 | 39 | .swp 40 | 41 | 42 | _build 43 | build.sh 44 | debug.sh 45 | 46 | *lslib.c 47 | *lsblib.c 48 | -------------------------------------------------------------------------------- /openlava/MANIFEST: -------------------------------------------------------------------------------- 1 | # file GENERATED by distutils, do NOT edit 2 | README 3 | openlava.pyx 4 | setup.py 5 | -------------------------------------------------------------------------------- /openlava/MANIFEST.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/irvined1982/openlava-python/1a1656eca6c324d7a4f24b7a3c77ff1b74893367/openlava/MANIFEST.in -------------------------------------------------------------------------------- /openlava/README: -------------------------------------------------------------------------------- 1 | openlava-python 2 | =============== 3 | 4 | Python bindings for openlava 5 | -------------------------------------------------------------------------------- /openlava/README.rst: -------------------------------------------------------------------------------- 1 | openlava-python 2 | =============== 3 | 4 | Python bindings for openlava 5 | -------------------------------------------------------------------------------- /openlava/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | sudo rm -rf /usr/local/lib/python2.7/dist-packages/openlava*; 3 | sudo rm -rf build/; 4 | rm -rf openlava.c ; 5 | rm -rf openlava/lslib.c ; 6 | rm -rf openlava/lsblib.c ; 7 | sudo python setup.py install 8 | if [[ $? -ne 0 ]]; then 9 | echo "BUILD FAILED" 10 | exit 1 11 | fi 12 | cd tests/ 13 | ./test.py 14 | if [[ $? -ne 0 ]]; then 15 | echo "TESTS FAILED" 16 | exit 1 17 | fi 18 | cd .. 19 | 20 | ( cd examples/; ./cluster_info.py&& ./host_info.py&& ./host_load.py&&./queues.py&&./hosts.py&&bsub sleep 10 &&./jobs.py&&./users.py ) 21 | 22 | 23 | -------------------------------------------------------------------------------- /openlava/debug.sh: -------------------------------------------------------------------------------- 1 | sudo rm -rf /usr/local/lib/python2.7/dist-packages/openlava*; 2 | sudo rm -rf build/; 3 | rm -rf openlava.c ; 4 | rm -rf openlava/lslib.c ; 5 | sudo python-dbg setup.py install 6 | if [[ $? -ne 0 ]]; then 7 | echo "BUILD FAILED" 8 | exit 1 9 | fi 10 | cd tests/ 11 | cygdb -- --args python-dbg mainscript.py 12 | cd .. 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /openlava/doc/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line. 5 | SPHINXOPTS = 6 | SPHINXBUILD = sphinx-build 7 | PAPER = 8 | BUILDDIR = _build 9 | 10 | # Internal variables. 11 | PAPEROPT_a4 = -D latex_paper_size=a4 12 | PAPEROPT_letter = -D latex_paper_size=letter 13 | ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . 14 | # the i18n builder cannot share the environment and doctrees with the others 15 | I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . 16 | 17 | .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext 18 | 19 | help: 20 | @echo "Please use \`make ' where is one of" 21 | @echo " html to make standalone HTML files" 22 | @echo " dirhtml to make HTML files named index.html in directories" 23 | @echo " singlehtml to make a single large HTML file" 24 | @echo " pickle to make pickle files" 25 | @echo " json to make JSON files" 26 | @echo " htmlhelp to make HTML files and a HTML help project" 27 | @echo " qthelp to make HTML files and a qthelp project" 28 | @echo " devhelp to make HTML files and a Devhelp project" 29 | @echo " epub to make an epub" 30 | @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" 31 | @echo " latexpdf to make LaTeX files and run them through pdflatex" 32 | @echo " text to make text files" 33 | @echo " man to make manual pages" 34 | @echo " texinfo to make Texinfo files" 35 | @echo " info to make Texinfo files and run them through makeinfo" 36 | @echo " gettext to make PO message catalogs" 37 | @echo " changes to make an overview of all changed/added/deprecated items" 38 | @echo " linkcheck to check all external links for integrity" 39 | @echo " doctest to run all doctests embedded in the documentation (if enabled)" 40 | 41 | clean: 42 | -rm -rf $(BUILDDIR)/* 43 | 44 | html: 45 | $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html 46 | @echo 47 | @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." 48 | 49 | dirhtml: 50 | $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml 51 | @echo 52 | @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." 53 | 54 | singlehtml: 55 | $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml 56 | @echo 57 | @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." 58 | 59 | pickle: 60 | $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle 61 | @echo 62 | @echo "Build finished; now you can process the pickle files." 63 | 64 | json: 65 | $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json 66 | @echo 67 | @echo "Build finished; now you can process the JSON files." 68 | 69 | htmlhelp: 70 | $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp 71 | @echo 72 | @echo "Build finished; now you can run HTML Help Workshop with the" \ 73 | ".hhp project file in $(BUILDDIR)/htmlhelp." 74 | 75 | qthelp: 76 | $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp 77 | @echo 78 | @echo "Build finished; now you can run "qcollectiongenerator" with the" \ 79 | ".qhcp project file in $(BUILDDIR)/qthelp, like this:" 80 | @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Openlava.qhcp" 81 | @echo "To view the help file:" 82 | @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Openlava.qhc" 83 | 84 | devhelp: 85 | $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp 86 | @echo 87 | @echo "Build finished." 88 | @echo "To view the help file:" 89 | @echo "# mkdir -p $$HOME/.local/share/devhelp/Openlava" 90 | @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Openlava" 91 | @echo "# devhelp" 92 | 93 | epub: 94 | $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub 95 | @echo 96 | @echo "Build finished. The epub file is in $(BUILDDIR)/epub." 97 | 98 | latex: 99 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex 100 | @echo 101 | @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." 102 | @echo "Run \`make' in that directory to run these through (pdf)latex" \ 103 | "(use \`make latexpdf' here to do that automatically)." 104 | 105 | latexpdf: 106 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex 107 | @echo "Running LaTeX files through pdflatex..." 108 | $(MAKE) -C $(BUILDDIR)/latex all-pdf 109 | @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." 110 | 111 | text: 112 | $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text 113 | @echo 114 | @echo "Build finished. The text files are in $(BUILDDIR)/text." 115 | 116 | man: 117 | $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man 118 | @echo 119 | @echo "Build finished. The manual pages are in $(BUILDDIR)/man." 120 | 121 | texinfo: 122 | $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo 123 | @echo 124 | @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." 125 | @echo "Run \`make' in that directory to run these through makeinfo" \ 126 | "(use \`make info' here to do that automatically)." 127 | 128 | info: 129 | $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo 130 | @echo "Running Texinfo files through makeinfo..." 131 | make -C $(BUILDDIR)/texinfo info 132 | @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." 133 | 134 | gettext: 135 | $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale 136 | @echo 137 | @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." 138 | 139 | changes: 140 | $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes 141 | @echo 142 | @echo "The overview file is in $(BUILDDIR)/changes." 143 | 144 | linkcheck: 145 | $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck 146 | @echo 147 | @echo "Link check complete; look for any errors in the above output " \ 148 | "or in $(BUILDDIR)/linkcheck/output.txt." 149 | 150 | doctest: 151 | $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest 152 | @echo "Testing of doctests in the sources finished, look at the " \ 153 | "results in $(BUILDDIR)/doctest/output.txt." 154 | -------------------------------------------------------------------------------- /openlava/doc/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/irvined1982/openlava-python/1a1656eca6c324d7a4f24b7a3c77ff1b74893367/openlava/doc/README.md -------------------------------------------------------------------------------- /openlava/doc/_build/doctrees/contributing.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/irvined1982/openlava-python/1a1656eca6c324d7a4f24b7a3c77ff1b74893367/openlava/doc/_build/doctrees/contributing.doctree -------------------------------------------------------------------------------- /openlava/doc/_build/doctrees/environment.pickle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/irvined1982/openlava-python/1a1656eca6c324d7a4f24b7a3c77ff1b74893367/openlava/doc/_build/doctrees/environment.pickle -------------------------------------------------------------------------------- /openlava/doc/_build/doctrees/index.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/irvined1982/openlava-python/1a1656eca6c324d7a4f24b7a3c77ff1b74893367/openlava/doc/_build/doctrees/index.doctree -------------------------------------------------------------------------------- /openlava/doc/_build/doctrees/installation.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/irvined1982/openlava-python/1a1656eca6c324d7a4f24b7a3c77ff1b74893367/openlava/doc/_build/doctrees/installation.doctree -------------------------------------------------------------------------------- /openlava/doc/_build/doctrees/lsbatch.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/irvined1982/openlava-python/1a1656eca6c324d7a4f24b7a3c77ff1b74893367/openlava/doc/_build/doctrees/lsbatch.doctree -------------------------------------------------------------------------------- /openlava/doc/_build/doctrees/lslib.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/irvined1982/openlava-python/1a1656eca6c324d7a4f24b7a3c77ff1b74893367/openlava/doc/_build/doctrees/lslib.doctree -------------------------------------------------------------------------------- /openlava/doc/_build/html/.buildinfo: -------------------------------------------------------------------------------- 1 | # Sphinx build info version 1 2 | # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. 3 | config: 04a32776ad77310bb7fd8072bed22428 4 | tags: fbb0d17656682115ca4d033fb2f83ba1 5 | -------------------------------------------------------------------------------- /openlava/doc/_build/html/_modules/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | Overview: module code — Openlava Python Bindings 1.0.0 documentation 12 | 13 | 14 | 15 | 16 | 25 | 26 | 27 | 28 | 29 | 39 | 40 | 41 | 42 | 43 | 55 | 56 |
57 |
58 |
59 |
60 | 61 |

All modules for which code is available

62 | 65 | 66 |
67 |
68 |
69 |
70 |
71 | 83 | 84 |
85 |
86 |
87 |
88 | 100 | 104 | 105 | -------------------------------------------------------------------------------- /openlava/doc/_build/html/_sources/contributing.txt: -------------------------------------------------------------------------------- 1 | Contributing and Getting Help 2 | ============================= 3 | 4 | Openlava-python is hosted on `github `_. Please submit pull requests and issues there. 5 | 6 | For help using the python bindings, and general help with Openlava, please use the `google group `_. 7 | -------------------------------------------------------------------------------- /openlava/doc/_build/html/_sources/index.txt: -------------------------------------------------------------------------------- 1 | .. Openlava documentation master file, created by 2 | sphinx-quickstart on Tue Jan 21 10:10:49 2014. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | 7 | Contents 8 | ======== 9 | 10 | Openlava is open-source software for distributed resource management. It is a fork of Platform Lava, which was positioned by Platform Computing as an entry-level workload management system. This package provides Python bindings that replicate the functionality provided by the Openlava C API. 11 | 12 | .. toctree:: 13 | :maxdepth: 3 14 | 15 | installation 16 | lslib 17 | lsbatch 18 | contributing 19 | 20 | 21 | 22 | 23 | 24 | Indices and tables 25 | ================== 26 | 27 | * :ref:`genindex` 28 | * :ref:`modindex` 29 | * :ref:`search` 30 | 31 | -------------------------------------------------------------------------------- /openlava/doc/_build/html/_sources/installation.txt: -------------------------------------------------------------------------------- 1 | Installation 2 | ============ 3 | Installation is done as follows: 4 | 5 | #. Download or Clone the repository: 6 | 7 | #. `Download Zip `_ 8 | #. git clone https://github.com/irvined1982/openlava-python.git:: 9 | 10 | $ git clone https://github.com/irvined1982/openlava-python.git 11 | Cloning into 'openlava-python'... 12 | remote: Reusing existing pack: 412, done. 13 | remote: Total 412 (delta 0), reused 0 (delta 0) 14 | Receiving objects: 100% (412/412), 2.22 MiB | 317 KiB/s, done. 15 | Resolving deltas: 100% (282/282), done. 16 | $ 17 | 18 | #. Enter the openlava directory:: 19 | 20 | $ cd openlava-python/openlava/ 21 | 22 | #. Run setup install:: 23 | 24 | $ python setup.py install 25 | running install 26 | running build 27 | running build_py 28 | creating build 29 | creating build/lib.linux-x86_64-2.7 30 | creating build/lib.linux-x86_64-2.7/openlava 31 | copying openlava/__init__.py -> build/lib.linux-x86_64-2.7/openlava 32 | running build_ext 33 | skipping 'openlava/lslib.c' Cython extension (up-to-date) 34 | building 'openlava.lslib' extension 35 | creating build/temp.linux-x86_64-2.7 36 | creating build/temp.linux-x86_64-2.7/openlava 37 | gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/opt/openlava/include -I. -I/usr/include/python2.7 -c openlava/lslib.c -o build/temp.linux-x86_64-2.7/openlava/lslib.o -O3 -Wall 38 | gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/openlava/lslib.o /opt/openlava/lib/liblsf.a /opt/openlava/lib/liblsbatch.a -L/opt/openlava/lib -llsf -llsbatch -lnsl -o build/lib.linux-x86_64-2.7/openlava/lslib.so -g 39 | skipping 'openlava/lsblib.c' Cython extension (up-to-date) 40 | building 'openlava.lsblib' extension 41 | gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/opt/openlava/include -I. -I/usr/include/python2.7 -c openlava/lsblib.c -o build/temp.linux-x86_64-2.7/openlava/lsblib.o -O3 -Wall 42 | openlava/lsblib.c: In function ‘__pyx_pf_8openlava_6lsblib_6Submit_1_modify’: 43 | openlava/lsblib.c:13338:13: warning: variable ‘__pyx_v_reply’ set but not used [-Wunused-but-set-variable] 44 | openlava/lsblib.c: In function ‘__pyx_pf_8openlava_6lsblib_11JobInfoHead_6jobIds___get__’: 45 | openlava/lsblib.c:19465:3: warning: statement with no effect [-Wunused-value] 46 | openlava/lsblib.c: In function ‘__pyx_pf_8openlava_6lsblib_11JobInfoHead_9hostNames___get__’: 47 | openlava/lsblib.c:19627:3: warning: statement with no effect [-Wunused-value] 48 | gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/openlava/lsblib.o /opt/openlava/lib/liblsf.a /opt/openlava/lib/liblsbatch.a -L/opt/openlava/lib -llsf -llsbatch -lnsl -o build/lib.linux-x86_64-2.7/openlava/lsblib.so -g 49 | running install_lib 50 | copying build/lib.linux-x86_64-2.7/openlava/lsblib.so -> /usr/local/lib/python2.7/dist-packages/openlava 51 | copying build/lib.linux-x86_64-2.7/openlava/__init__.py -> /usr/local/lib/python2.7/dist-packages/openlava 52 | copying build/lib.linux-x86_64-2.7/openlava/lslib.so -> /usr/local/lib/python2.7/dist-packages/openlava 53 | byte-compiling /usr/local/lib/python2.7/dist-packages/openlava/__init__.py to __init__.pyc 54 | running install_egg_info 55 | Removing /usr/local/lib/python2.7/dist-packages/openlava_bindings-1.0.egg-info 56 | Writing /usr/local/lib/python2.7/dist-packages/openlava_bindings-1.0.egg-info 57 | $ 58 | 59 | #. Test that openlava-python is working correctly:: 60 | 61 | $ python 62 | Python 2.7.3 (default, Sep 26 2013, 20:03:06) 63 | [GCC 4.6.3] on linux2 64 | Type "help", "copyright", "credits" or "license" for more information. 65 | >>> from openlava import lslib 66 | >>> lslib.ls_getclustername() 67 | u'openlava' 68 | >>> 69 | 70 | -------------------------------------------------------------------------------- /openlava/doc/_build/html/_sources/lsbatch.txt: -------------------------------------------------------------------------------- 1 | lsbatch 2 | ======= 3 | 4 | .. automodule:: openlava.lsblib 5 | :members: 6 | -------------------------------------------------------------------------------- /openlava/doc/_build/html/_sources/lslib.txt: -------------------------------------------------------------------------------- 1 | lslib 2 | ===== 3 | .. automodule:: openlava.lslib 4 | :members: 5 | -------------------------------------------------------------------------------- /openlava/doc/_build/html/_static/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/irvined1982/openlava-python/1a1656eca6c324d7a4f24b7a3c77ff1b74893367/openlava/doc/_build/html/_static/ajax-loader.gif -------------------------------------------------------------------------------- /openlava/doc/_build/html/_static/basic.css: -------------------------------------------------------------------------------- 1 | /* 2 | * basic.css 3 | * ~~~~~~~~~ 4 | * 5 | * Sphinx stylesheet -- basic theme. 6 | * 7 | * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. 8 | * :license: BSD, see LICENSE for details. 9 | * 10 | */ 11 | 12 | /* -- main layout ----------------------------------------------------------- */ 13 | 14 | div.clearer { 15 | clear: both; 16 | } 17 | 18 | /* -- relbar ---------------------------------------------------------------- */ 19 | 20 | div.related { 21 | width: 100%; 22 | font-size: 90%; 23 | } 24 | 25 | div.related h3 { 26 | display: none; 27 | } 28 | 29 | div.related ul { 30 | margin: 0; 31 | padding: 0 0 0 10px; 32 | list-style: none; 33 | } 34 | 35 | div.related li { 36 | display: inline; 37 | } 38 | 39 | div.related li.right { 40 | float: right; 41 | margin-right: 5px; 42 | } 43 | 44 | /* -- sidebar --------------------------------------------------------------- */ 45 | 46 | div.sphinxsidebarwrapper { 47 | padding: 10px 5px 0 10px; 48 | } 49 | 50 | div.sphinxsidebar { 51 | float: left; 52 | width: 230px; 53 | margin-left: -100%; 54 | font-size: 90%; 55 | } 56 | 57 | div.sphinxsidebar ul { 58 | list-style: none; 59 | } 60 | 61 | div.sphinxsidebar ul ul, 62 | div.sphinxsidebar ul.want-points { 63 | margin-left: 20px; 64 | list-style: square; 65 | } 66 | 67 | div.sphinxsidebar ul ul { 68 | margin-top: 0; 69 | margin-bottom: 0; 70 | } 71 | 72 | div.sphinxsidebar form { 73 | margin-top: 10px; 74 | } 75 | 76 | div.sphinxsidebar input { 77 | border: 1px solid #98dbcc; 78 | font-family: sans-serif; 79 | font-size: 1em; 80 | } 81 | 82 | div.sphinxsidebar #searchbox input[type="text"] { 83 | width: 170px; 84 | } 85 | 86 | div.sphinxsidebar #searchbox input[type="submit"] { 87 | width: 30px; 88 | } 89 | 90 | img { 91 | border: 0; 92 | } 93 | 94 | /* -- search page ----------------------------------------------------------- */ 95 | 96 | ul.search { 97 | margin: 10px 0 0 20px; 98 | padding: 0; 99 | } 100 | 101 | ul.search li { 102 | padding: 5px 0 5px 20px; 103 | background-image: url(file.png); 104 | background-repeat: no-repeat; 105 | background-position: 0 7px; 106 | } 107 | 108 | ul.search li a { 109 | font-weight: bold; 110 | } 111 | 112 | ul.search li div.context { 113 | color: #888; 114 | margin: 2px 0 0 30px; 115 | text-align: left; 116 | } 117 | 118 | ul.keywordmatches li.goodmatch a { 119 | font-weight: bold; 120 | } 121 | 122 | /* -- index page ------------------------------------------------------------ */ 123 | 124 | table.contentstable { 125 | width: 90%; 126 | } 127 | 128 | table.contentstable p.biglink { 129 | line-height: 150%; 130 | } 131 | 132 | a.biglink { 133 | font-size: 1.3em; 134 | } 135 | 136 | span.linkdescr { 137 | font-style: italic; 138 | padding-top: 5px; 139 | font-size: 90%; 140 | } 141 | 142 | /* -- general index --------------------------------------------------------- */ 143 | 144 | table.indextable { 145 | width: 100%; 146 | } 147 | 148 | table.indextable td { 149 | text-align: left; 150 | vertical-align: top; 151 | } 152 | 153 | table.indextable dl, table.indextable dd { 154 | margin-top: 0; 155 | margin-bottom: 0; 156 | } 157 | 158 | table.indextable tr.pcap { 159 | height: 10px; 160 | } 161 | 162 | table.indextable tr.cap { 163 | margin-top: 10px; 164 | background-color: #f2f2f2; 165 | } 166 | 167 | img.toggler { 168 | margin-right: 3px; 169 | margin-top: 3px; 170 | cursor: pointer; 171 | } 172 | 173 | div.modindex-jumpbox { 174 | border-top: 1px solid #ddd; 175 | border-bottom: 1px solid #ddd; 176 | margin: 1em 0 1em 0; 177 | padding: 0.4em; 178 | } 179 | 180 | div.genindex-jumpbox { 181 | border-top: 1px solid #ddd; 182 | border-bottom: 1px solid #ddd; 183 | margin: 1em 0 1em 0; 184 | padding: 0.4em; 185 | } 186 | 187 | /* -- general body styles --------------------------------------------------- */ 188 | 189 | a.headerlink { 190 | visibility: hidden; 191 | } 192 | 193 | h1:hover > a.headerlink, 194 | h2:hover > a.headerlink, 195 | h3:hover > a.headerlink, 196 | h4:hover > a.headerlink, 197 | h5:hover > a.headerlink, 198 | h6:hover > a.headerlink, 199 | dt:hover > a.headerlink { 200 | visibility: visible; 201 | } 202 | 203 | div.body p.caption { 204 | text-align: inherit; 205 | } 206 | 207 | div.body td { 208 | text-align: left; 209 | } 210 | 211 | .field-list ul { 212 | padding-left: 1em; 213 | } 214 | 215 | .first { 216 | margin-top: 0 !important; 217 | } 218 | 219 | p.rubric { 220 | margin-top: 30px; 221 | font-weight: bold; 222 | } 223 | 224 | img.align-left, .figure.align-left, object.align-left { 225 | clear: left; 226 | float: left; 227 | margin-right: 1em; 228 | } 229 | 230 | img.align-right, .figure.align-right, object.align-right { 231 | clear: right; 232 | float: right; 233 | margin-left: 1em; 234 | } 235 | 236 | img.align-center, .figure.align-center, object.align-center { 237 | display: block; 238 | margin-left: auto; 239 | margin-right: auto; 240 | } 241 | 242 | .align-left { 243 | text-align: left; 244 | } 245 | 246 | .align-center { 247 | text-align: center; 248 | } 249 | 250 | .align-right { 251 | text-align: right; 252 | } 253 | 254 | /* -- sidebars -------------------------------------------------------------- */ 255 | 256 | div.sidebar { 257 | margin: 0 0 0.5em 1em; 258 | border: 1px solid #ddb; 259 | padding: 7px 7px 0 7px; 260 | background-color: #ffe; 261 | width: 40%; 262 | float: right; 263 | } 264 | 265 | p.sidebar-title { 266 | font-weight: bold; 267 | } 268 | 269 | /* -- topics ---------------------------------------------------------------- */ 270 | 271 | div.topic { 272 | border: 1px solid #ccc; 273 | padding: 7px 7px 0 7px; 274 | margin: 10px 0 10px 0; 275 | } 276 | 277 | p.topic-title { 278 | font-size: 1.1em; 279 | font-weight: bold; 280 | margin-top: 10px; 281 | } 282 | 283 | /* -- admonitions ----------------------------------------------------------- */ 284 | 285 | div.admonition { 286 | margin-top: 10px; 287 | margin-bottom: 10px; 288 | padding: 7px; 289 | } 290 | 291 | div.admonition dt { 292 | font-weight: bold; 293 | } 294 | 295 | div.admonition dl { 296 | margin-bottom: 0; 297 | } 298 | 299 | p.admonition-title { 300 | margin: 0px 10px 5px 0px; 301 | font-weight: bold; 302 | } 303 | 304 | div.body p.centered { 305 | text-align: center; 306 | margin-top: 25px; 307 | } 308 | 309 | /* -- tables ---------------------------------------------------------------- */ 310 | 311 | table.docutils { 312 | border: 0; 313 | border-collapse: collapse; 314 | } 315 | 316 | table.docutils td, table.docutils th { 317 | padding: 1px 8px 1px 5px; 318 | border-top: 0; 319 | border-left: 0; 320 | border-right: 0; 321 | border-bottom: 1px solid #aaa; 322 | } 323 | 324 | table.field-list td, table.field-list th { 325 | border: 0 !important; 326 | } 327 | 328 | table.footnote td, table.footnote th { 329 | border: 0 !important; 330 | } 331 | 332 | th { 333 | text-align: left; 334 | padding-right: 5px; 335 | } 336 | 337 | table.citation { 338 | border-left: solid 1px gray; 339 | margin-left: 1px; 340 | } 341 | 342 | table.citation td { 343 | border-bottom: none; 344 | } 345 | 346 | /* -- other body styles ----------------------------------------------------- */ 347 | 348 | ol.arabic { 349 | list-style: decimal; 350 | } 351 | 352 | ol.loweralpha { 353 | list-style: lower-alpha; 354 | } 355 | 356 | ol.upperalpha { 357 | list-style: upper-alpha; 358 | } 359 | 360 | ol.lowerroman { 361 | list-style: lower-roman; 362 | } 363 | 364 | ol.upperroman { 365 | list-style: upper-roman; 366 | } 367 | 368 | dl { 369 | margin-bottom: 15px; 370 | } 371 | 372 | dd p { 373 | margin-top: 0px; 374 | } 375 | 376 | dd ul, dd table { 377 | margin-bottom: 10px; 378 | } 379 | 380 | dd { 381 | margin-top: 3px; 382 | margin-bottom: 10px; 383 | margin-left: 30px; 384 | } 385 | 386 | dt:target, .highlighted { 387 | background-color: #fbe54e; 388 | } 389 | 390 | dl.glossary dt { 391 | font-weight: bold; 392 | font-size: 1.1em; 393 | } 394 | 395 | .field-list ul { 396 | margin: 0; 397 | padding-left: 1em; 398 | } 399 | 400 | .field-list p { 401 | margin: 0; 402 | } 403 | 404 | .refcount { 405 | color: #060; 406 | } 407 | 408 | .optional { 409 | font-size: 1.3em; 410 | } 411 | 412 | .versionmodified { 413 | font-style: italic; 414 | } 415 | 416 | .system-message { 417 | background-color: #fda; 418 | padding: 5px; 419 | border: 3px solid red; 420 | } 421 | 422 | .footnote:target { 423 | background-color: #ffa; 424 | } 425 | 426 | .line-block { 427 | display: block; 428 | margin-top: 1em; 429 | margin-bottom: 1em; 430 | } 431 | 432 | .line-block .line-block { 433 | margin-top: 0; 434 | margin-bottom: 0; 435 | margin-left: 1.5em; 436 | } 437 | 438 | .guilabel, .menuselection { 439 | font-family: sans-serif; 440 | } 441 | 442 | .accelerator { 443 | text-decoration: underline; 444 | } 445 | 446 | .classifier { 447 | font-style: oblique; 448 | } 449 | 450 | abbr, acronym { 451 | border-bottom: dotted 1px; 452 | cursor: help; 453 | } 454 | 455 | /* -- code displays --------------------------------------------------------- */ 456 | 457 | pre { 458 | overflow: auto; 459 | overflow-y: hidden; /* fixes display issues on Chrome browsers */ 460 | } 461 | 462 | td.linenos pre { 463 | padding: 5px 0px; 464 | border: 0; 465 | background-color: transparent; 466 | color: #aaa; 467 | } 468 | 469 | table.highlighttable { 470 | margin-left: 0.5em; 471 | } 472 | 473 | table.highlighttable td { 474 | padding: 0 0.5em 0 0.5em; 475 | } 476 | 477 | tt.descname { 478 | background-color: transparent; 479 | font-weight: bold; 480 | font-size: 1.2em; 481 | } 482 | 483 | tt.descclassname { 484 | background-color: transparent; 485 | } 486 | 487 | tt.xref, a tt { 488 | background-color: transparent; 489 | font-weight: bold; 490 | } 491 | 492 | h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt { 493 | background-color: transparent; 494 | } 495 | 496 | .viewcode-link { 497 | float: right; 498 | } 499 | 500 | .viewcode-back { 501 | float: right; 502 | font-family: sans-serif; 503 | } 504 | 505 | div.viewcode-block:target { 506 | margin: -1px -10px; 507 | padding: 0 10px; 508 | } 509 | 510 | /* -- math display ---------------------------------------------------------- */ 511 | 512 | img.math { 513 | vertical-align: middle; 514 | } 515 | 516 | div.body div.math p { 517 | text-align: center; 518 | } 519 | 520 | span.eqno { 521 | float: right; 522 | } 523 | 524 | /* -- printout stylesheet --------------------------------------------------- */ 525 | 526 | @media print { 527 | div.document, 528 | div.documentwrapper, 529 | div.bodywrapper { 530 | margin: 0 !important; 531 | width: 100%; 532 | } 533 | 534 | div.sphinxsidebar, 535 | div.related, 536 | div.footer, 537 | #top-link { 538 | display: none; 539 | } 540 | } -------------------------------------------------------------------------------- /openlava/doc/_build/html/_static/comment-bright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/irvined1982/openlava-python/1a1656eca6c324d7a4f24b7a3c77ff1b74893367/openlava/doc/_build/html/_static/comment-bright.png -------------------------------------------------------------------------------- /openlava/doc/_build/html/_static/comment-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/irvined1982/openlava-python/1a1656eca6c324d7a4f24b7a3c77ff1b74893367/openlava/doc/_build/html/_static/comment-close.png -------------------------------------------------------------------------------- /openlava/doc/_build/html/_static/comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/irvined1982/openlava-python/1a1656eca6c324d7a4f24b7a3c77ff1b74893367/openlava/doc/_build/html/_static/comment.png -------------------------------------------------------------------------------- /openlava/doc/_build/html/_static/default.css: -------------------------------------------------------------------------------- 1 | /* 2 | * default.css_t 3 | * ~~~~~~~~~~~~~ 4 | * 5 | * Sphinx stylesheet -- default theme. 6 | * 7 | * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. 8 | * :license: BSD, see LICENSE for details. 9 | * 10 | */ 11 | 12 | @import url("basic.css"); 13 | 14 | /* -- page layout ----------------------------------------------------------- */ 15 | 16 | body { 17 | font-family: sans-serif; 18 | font-size: 100%; 19 | background-color: #11303d; 20 | color: #000; 21 | margin: 0; 22 | padding: 0; 23 | } 24 | 25 | div.document { 26 | background-color: #1c4e63; 27 | } 28 | 29 | div.documentwrapper { 30 | float: left; 31 | width: 100%; 32 | } 33 | 34 | div.bodywrapper { 35 | margin: 0 0 0 230px; 36 | } 37 | 38 | div.body { 39 | background-color: #ffffff; 40 | color: #000000; 41 | padding: 0 20px 30px 20px; 42 | } 43 | 44 | div.footer { 45 | color: #ffffff; 46 | width: 100%; 47 | padding: 9px 0 9px 0; 48 | text-align: center; 49 | font-size: 75%; 50 | } 51 | 52 | div.footer a { 53 | color: #ffffff; 54 | text-decoration: underline; 55 | } 56 | 57 | div.related { 58 | background-color: #133f52; 59 | line-height: 30px; 60 | color: #ffffff; 61 | } 62 | 63 | div.related a { 64 | color: #ffffff; 65 | } 66 | 67 | div.sphinxsidebar { 68 | } 69 | 70 | div.sphinxsidebar h3 { 71 | font-family: 'Trebuchet MS', sans-serif; 72 | color: #ffffff; 73 | font-size: 1.4em; 74 | font-weight: normal; 75 | margin: 0; 76 | padding: 0; 77 | } 78 | 79 | div.sphinxsidebar h3 a { 80 | color: #ffffff; 81 | } 82 | 83 | div.sphinxsidebar h4 { 84 | font-family: 'Trebuchet MS', sans-serif; 85 | color: #ffffff; 86 | font-size: 1.3em; 87 | font-weight: normal; 88 | margin: 5px 0 0 0; 89 | padding: 0; 90 | } 91 | 92 | div.sphinxsidebar p { 93 | color: #ffffff; 94 | } 95 | 96 | div.sphinxsidebar p.topless { 97 | margin: 5px 10px 10px 10px; 98 | } 99 | 100 | div.sphinxsidebar ul { 101 | margin: 10px; 102 | padding: 0; 103 | color: #ffffff; 104 | } 105 | 106 | div.sphinxsidebar a { 107 | color: #98dbcc; 108 | } 109 | 110 | div.sphinxsidebar input { 111 | border: 1px solid #98dbcc; 112 | font-family: sans-serif; 113 | font-size: 1em; 114 | } 115 | 116 | 117 | 118 | /* -- hyperlink styles ------------------------------------------------------ */ 119 | 120 | a { 121 | color: #355f7c; 122 | text-decoration: none; 123 | } 124 | 125 | a:visited { 126 | color: #355f7c; 127 | text-decoration: none; 128 | } 129 | 130 | a:hover { 131 | text-decoration: underline; 132 | } 133 | 134 | 135 | 136 | /* -- body styles ----------------------------------------------------------- */ 137 | 138 | div.body h1, 139 | div.body h2, 140 | div.body h3, 141 | div.body h4, 142 | div.body h5, 143 | div.body h6 { 144 | font-family: 'Trebuchet MS', sans-serif; 145 | background-color: #f2f2f2; 146 | font-weight: normal; 147 | color: #20435c; 148 | border-bottom: 1px solid #ccc; 149 | margin: 20px -20px 10px -20px; 150 | padding: 3px 0 3px 10px; 151 | } 152 | 153 | div.body h1 { margin-top: 0; font-size: 200%; } 154 | div.body h2 { font-size: 160%; } 155 | div.body h3 { font-size: 140%; } 156 | div.body h4 { font-size: 120%; } 157 | div.body h5 { font-size: 110%; } 158 | div.body h6 { font-size: 100%; } 159 | 160 | a.headerlink { 161 | color: #c60f0f; 162 | font-size: 0.8em; 163 | padding: 0 4px 0 4px; 164 | text-decoration: none; 165 | } 166 | 167 | a.headerlink:hover { 168 | background-color: #c60f0f; 169 | color: white; 170 | } 171 | 172 | div.body p, div.body dd, div.body li { 173 | text-align: justify; 174 | line-height: 130%; 175 | } 176 | 177 | div.admonition p.admonition-title + p { 178 | display: inline; 179 | } 180 | 181 | div.admonition p { 182 | margin-bottom: 5px; 183 | } 184 | 185 | div.admonition pre { 186 | margin-bottom: 5px; 187 | } 188 | 189 | div.admonition ul, div.admonition ol { 190 | margin-bottom: 5px; 191 | } 192 | 193 | div.note { 194 | background-color: #eee; 195 | border: 1px solid #ccc; 196 | } 197 | 198 | div.seealso { 199 | background-color: #ffc; 200 | border: 1px solid #ff6; 201 | } 202 | 203 | div.topic { 204 | background-color: #eee; 205 | } 206 | 207 | div.warning { 208 | background-color: #ffe4e4; 209 | border: 1px solid #f66; 210 | } 211 | 212 | p.admonition-title { 213 | display: inline; 214 | } 215 | 216 | p.admonition-title:after { 217 | content: ":"; 218 | } 219 | 220 | pre { 221 | padding: 5px; 222 | background-color: #eeffcc; 223 | color: #333333; 224 | line-height: 120%; 225 | border: 1px solid #ac9; 226 | border-left: none; 227 | border-right: none; 228 | } 229 | 230 | tt { 231 | background-color: #ecf0f3; 232 | padding: 0 1px 0 1px; 233 | font-size: 0.95em; 234 | } 235 | 236 | th { 237 | background-color: #ede; 238 | } 239 | 240 | .warning tt { 241 | background: #efc2c2; 242 | } 243 | 244 | .note tt { 245 | background: #d6d6d6; 246 | } 247 | 248 | .viewcode-back { 249 | font-family: sans-serif; 250 | } 251 | 252 | div.viewcode-block:target { 253 | background-color: #f4debf; 254 | border-top: 1px solid #ac9; 255 | border-bottom: 1px solid #ac9; 256 | } -------------------------------------------------------------------------------- /openlava/doc/_build/html/_static/doctools.js: -------------------------------------------------------------------------------- 1 | /* 2 | * doctools.js 3 | * ~~~~~~~~~~~ 4 | * 5 | * Sphinx JavaScript utilities for all documentation. 6 | * 7 | * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. 8 | * :license: BSD, see LICENSE for details. 9 | * 10 | */ 11 | 12 | /** 13 | * select a different prefix for underscore 14 | */ 15 | $u = _.noConflict(); 16 | 17 | /** 18 | * make the code below compatible with browsers without 19 | * an installed firebug like debugger 20 | if (!window.console || !console.firebug) { 21 | var names = ["log", "debug", "info", "warn", "error", "assert", "dir", 22 | "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", 23 | "profile", "profileEnd"]; 24 | window.console = {}; 25 | for (var i = 0; i < names.length; ++i) 26 | window.console[names[i]] = function() {}; 27 | } 28 | */ 29 | 30 | /** 31 | * small helper function to urldecode strings 32 | */ 33 | jQuery.urldecode = function(x) { 34 | return decodeURIComponent(x).replace(/\+/g, ' '); 35 | } 36 | 37 | /** 38 | * small helper function to urlencode strings 39 | */ 40 | jQuery.urlencode = encodeURIComponent; 41 | 42 | /** 43 | * This function returns the parsed url parameters of the 44 | * current request. Multiple values per key are supported, 45 | * it will always return arrays of strings for the value parts. 46 | */ 47 | jQuery.getQueryParameters = function(s) { 48 | if (typeof s == 'undefined') 49 | s = document.location.search; 50 | var parts = s.substr(s.indexOf('?') + 1).split('&'); 51 | var result = {}; 52 | for (var i = 0; i < parts.length; i++) { 53 | var tmp = parts[i].split('=', 2); 54 | var key = jQuery.urldecode(tmp[0]); 55 | var value = jQuery.urldecode(tmp[1]); 56 | if (key in result) 57 | result[key].push(value); 58 | else 59 | result[key] = [value]; 60 | } 61 | return result; 62 | }; 63 | 64 | /** 65 | * small function to check if an array contains 66 | * a given item. 67 | */ 68 | jQuery.contains = function(arr, item) { 69 | for (var i = 0; i < arr.length; i++) { 70 | if (arr[i] == item) 71 | return true; 72 | } 73 | return false; 74 | }; 75 | 76 | /** 77 | * highlight a given string on a jquery object by wrapping it in 78 | * span elements with the given class name. 79 | */ 80 | jQuery.fn.highlightText = function(text, className) { 81 | function highlight(node) { 82 | if (node.nodeType == 3) { 83 | var val = node.nodeValue; 84 | var pos = val.toLowerCase().indexOf(text); 85 | if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { 86 | var span = document.createElement("span"); 87 | span.className = className; 88 | span.appendChild(document.createTextNode(val.substr(pos, text.length))); 89 | node.parentNode.insertBefore(span, node.parentNode.insertBefore( 90 | document.createTextNode(val.substr(pos + text.length)), 91 | node.nextSibling)); 92 | node.nodeValue = val.substr(0, pos); 93 | } 94 | } 95 | else if (!jQuery(node).is("button, select, textarea")) { 96 | jQuery.each(node.childNodes, function() { 97 | highlight(this); 98 | }); 99 | } 100 | } 101 | return this.each(function() { 102 | highlight(this); 103 | }); 104 | }; 105 | 106 | /** 107 | * Small JavaScript module for the documentation. 108 | */ 109 | var Documentation = { 110 | 111 | init : function() { 112 | this.fixFirefoxAnchorBug(); 113 | this.highlightSearchWords(); 114 | this.initIndexTable(); 115 | }, 116 | 117 | /** 118 | * i18n support 119 | */ 120 | TRANSLATIONS : {}, 121 | PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; }, 122 | LOCALE : 'unknown', 123 | 124 | // gettext and ngettext don't access this so that the functions 125 | // can safely bound to a different name (_ = Documentation.gettext) 126 | gettext : function(string) { 127 | var translated = Documentation.TRANSLATIONS[string]; 128 | if (typeof translated == 'undefined') 129 | return string; 130 | return (typeof translated == 'string') ? translated : translated[0]; 131 | }, 132 | 133 | ngettext : function(singular, plural, n) { 134 | var translated = Documentation.TRANSLATIONS[singular]; 135 | if (typeof translated == 'undefined') 136 | return (n == 1) ? singular : plural; 137 | return translated[Documentation.PLURALEXPR(n)]; 138 | }, 139 | 140 | addTranslations : function(catalog) { 141 | for (var key in catalog.messages) 142 | this.TRANSLATIONS[key] = catalog.messages[key]; 143 | this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); 144 | this.LOCALE = catalog.locale; 145 | }, 146 | 147 | /** 148 | * add context elements like header anchor links 149 | */ 150 | addContextElements : function() { 151 | $('div[id] > :header:first').each(function() { 152 | $('\u00B6'). 153 | attr('href', '#' + this.id). 154 | attr('title', _('Permalink to this headline')). 155 | appendTo(this); 156 | }); 157 | $('dt[id]').each(function() { 158 | $('\u00B6'). 159 | attr('href', '#' + this.id). 160 | attr('title', _('Permalink to this definition')). 161 | appendTo(this); 162 | }); 163 | }, 164 | 165 | /** 166 | * workaround a firefox stupidity 167 | */ 168 | fixFirefoxAnchorBug : function() { 169 | if (document.location.hash && $.browser.mozilla) 170 | window.setTimeout(function() { 171 | document.location.href += ''; 172 | }, 10); 173 | }, 174 | 175 | /** 176 | * highlight the search words provided in the url in the text 177 | */ 178 | highlightSearchWords : function() { 179 | var params = $.getQueryParameters(); 180 | var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; 181 | if (terms.length) { 182 | var body = $('div.body'); 183 | window.setTimeout(function() { 184 | $.each(terms, function() { 185 | body.highlightText(this.toLowerCase(), 'highlighted'); 186 | }); 187 | }, 10); 188 | $('') 190 | .appendTo($('#searchbox')); 191 | } 192 | }, 193 | 194 | /** 195 | * init the domain index toggle buttons 196 | */ 197 | initIndexTable : function() { 198 | var togglers = $('img.toggler').click(function() { 199 | var src = $(this).attr('src'); 200 | var idnum = $(this).attr('id').substr(7); 201 | $('tr.cg-' + idnum).toggle(); 202 | if (src.substr(-9) == 'minus.png') 203 | $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); 204 | else 205 | $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); 206 | }).css('display', ''); 207 | if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { 208 | togglers.click(); 209 | } 210 | }, 211 | 212 | /** 213 | * helper function to hide the search marks again 214 | */ 215 | hideSearchWords : function() { 216 | $('#searchbox .highlight-link').fadeOut(300); 217 | $('span.highlighted').removeClass('highlighted'); 218 | }, 219 | 220 | /** 221 | * make the url absolute 222 | */ 223 | makeURL : function(relativeURL) { 224 | return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; 225 | }, 226 | 227 | /** 228 | * get the current relative url 229 | */ 230 | getCurrentURL : function() { 231 | var path = document.location.pathname; 232 | var parts = path.split(/\//); 233 | $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { 234 | if (this == '..') 235 | parts.pop(); 236 | }); 237 | var url = parts.join('/'); 238 | return path.substring(url.lastIndexOf('/') + 1, path.length - 1); 239 | } 240 | }; 241 | 242 | // quick alias for translations 243 | _ = Documentation.gettext; 244 | 245 | $(document).ready(function() { 246 | Documentation.init(); 247 | }); 248 | -------------------------------------------------------------------------------- /openlava/doc/_build/html/_static/down-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/irvined1982/openlava-python/1a1656eca6c324d7a4f24b7a3c77ff1b74893367/openlava/doc/_build/html/_static/down-pressed.png -------------------------------------------------------------------------------- /openlava/doc/_build/html/_static/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/irvined1982/openlava-python/1a1656eca6c324d7a4f24b7a3c77ff1b74893367/openlava/doc/_build/html/_static/down.png -------------------------------------------------------------------------------- /openlava/doc/_build/html/_static/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/irvined1982/openlava-python/1a1656eca6c324d7a4f24b7a3c77ff1b74893367/openlava/doc/_build/html/_static/file.png -------------------------------------------------------------------------------- /openlava/doc/_build/html/_static/minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/irvined1982/openlava-python/1a1656eca6c324d7a4f24b7a3c77ff1b74893367/openlava/doc/_build/html/_static/minus.png -------------------------------------------------------------------------------- /openlava/doc/_build/html/_static/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/irvined1982/openlava-python/1a1656eca6c324d7a4f24b7a3c77ff1b74893367/openlava/doc/_build/html/_static/plus.png -------------------------------------------------------------------------------- /openlava/doc/_build/html/_static/pygments.css: -------------------------------------------------------------------------------- 1 | .highlight .hll { background-color: #ffffcc } 2 | .highlight { background: #eeffcc; } 3 | .highlight .c { color: #408090; font-style: italic } /* Comment */ 4 | .highlight .err { border: 1px solid #FF0000 } /* Error */ 5 | .highlight .k { color: #007020; font-weight: bold } /* Keyword */ 6 | .highlight .o { color: #666666 } /* Operator */ 7 | .highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */ 8 | .highlight .cp { color: #007020 } /* Comment.Preproc */ 9 | .highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */ 10 | .highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */ 11 | .highlight .gd { color: #A00000 } /* Generic.Deleted */ 12 | .highlight .ge { font-style: italic } /* Generic.Emph */ 13 | .highlight .gr { color: #FF0000 } /* Generic.Error */ 14 | .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ 15 | .highlight .gi { color: #00A000 } /* Generic.Inserted */ 16 | .highlight .go { color: #303030 } /* Generic.Output */ 17 | .highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ 18 | .highlight .gs { font-weight: bold } /* Generic.Strong */ 19 | .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ 20 | .highlight .gt { color: #0040D0 } /* Generic.Traceback */ 21 | .highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ 22 | .highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ 23 | .highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ 24 | .highlight .kp { color: #007020 } /* Keyword.Pseudo */ 25 | .highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ 26 | .highlight .kt { color: #902000 } /* Keyword.Type */ 27 | .highlight .m { color: #208050 } /* Literal.Number */ 28 | .highlight .s { color: #4070a0 } /* Literal.String */ 29 | .highlight .na { color: #4070a0 } /* Name.Attribute */ 30 | .highlight .nb { color: #007020 } /* Name.Builtin */ 31 | .highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */ 32 | .highlight .no { color: #60add5 } /* Name.Constant */ 33 | .highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */ 34 | .highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */ 35 | .highlight .ne { color: #007020 } /* Name.Exception */ 36 | .highlight .nf { color: #06287e } /* Name.Function */ 37 | .highlight .nl { color: #002070; font-weight: bold } /* Name.Label */ 38 | .highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ 39 | .highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */ 40 | .highlight .nv { color: #bb60d5 } /* Name.Variable */ 41 | .highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */ 42 | .highlight .w { color: #bbbbbb } /* Text.Whitespace */ 43 | .highlight .mf { color: #208050 } /* Literal.Number.Float */ 44 | .highlight .mh { color: #208050 } /* Literal.Number.Hex */ 45 | .highlight .mi { color: #208050 } /* Literal.Number.Integer */ 46 | .highlight .mo { color: #208050 } /* Literal.Number.Oct */ 47 | .highlight .sb { color: #4070a0 } /* Literal.String.Backtick */ 48 | .highlight .sc { color: #4070a0 } /* Literal.String.Char */ 49 | .highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */ 50 | .highlight .s2 { color: #4070a0 } /* Literal.String.Double */ 51 | .highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */ 52 | .highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */ 53 | .highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */ 54 | .highlight .sx { color: #c65d09 } /* Literal.String.Other */ 55 | .highlight .sr { color: #235388 } /* Literal.String.Regex */ 56 | .highlight .s1 { color: #4070a0 } /* Literal.String.Single */ 57 | .highlight .ss { color: #517918 } /* Literal.String.Symbol */ 58 | .highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */ 59 | .highlight .vc { color: #bb60d5 } /* Name.Variable.Class */ 60 | .highlight .vg { color: #bb60d5 } /* Name.Variable.Global */ 61 | .highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */ 62 | .highlight .il { color: #208050 } /* Literal.Number.Integer.Long */ -------------------------------------------------------------------------------- /openlava/doc/_build/html/_static/searchtools.js: -------------------------------------------------------------------------------- 1 | /* 2 | * searchtools.js_t 3 | * ~~~~~~~~~~~~~~~~ 4 | * 5 | * Sphinx JavaScript utilties for the full-text search. 6 | * 7 | * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. 8 | * :license: BSD, see LICENSE for details. 9 | * 10 | */ 11 | 12 | /** 13 | * helper function to return a node containing the 14 | * search summary for a given text. keywords is a list 15 | * of stemmed words, hlwords is the list of normal, unstemmed 16 | * words. the first one is used to find the occurance, the 17 | * latter for highlighting it. 18 | */ 19 | 20 | jQuery.makeSearchSummary = function(text, keywords, hlwords) { 21 | var textLower = text.toLowerCase(); 22 | var start = 0; 23 | $.each(keywords, function() { 24 | var i = textLower.indexOf(this.toLowerCase()); 25 | if (i > -1) 26 | start = i; 27 | }); 28 | start = Math.max(start - 120, 0); 29 | var excerpt = ((start > 0) ? '...' : '') + 30 | $.trim(text.substr(start, 240)) + 31 | ((start + 240 - text.length) ? '...' : ''); 32 | var rv = $('
').text(excerpt); 33 | $.each(hlwords, function() { 34 | rv = rv.highlightText(this, 'highlighted'); 35 | }); 36 | return rv; 37 | } 38 | 39 | 40 | /** 41 | * Porter Stemmer 42 | */ 43 | var Stemmer = function() { 44 | 45 | var step2list = { 46 | ational: 'ate', 47 | tional: 'tion', 48 | enci: 'ence', 49 | anci: 'ance', 50 | izer: 'ize', 51 | bli: 'ble', 52 | alli: 'al', 53 | entli: 'ent', 54 | eli: 'e', 55 | ousli: 'ous', 56 | ization: 'ize', 57 | ation: 'ate', 58 | ator: 'ate', 59 | alism: 'al', 60 | iveness: 'ive', 61 | fulness: 'ful', 62 | ousness: 'ous', 63 | aliti: 'al', 64 | iviti: 'ive', 65 | biliti: 'ble', 66 | logi: 'log' 67 | }; 68 | 69 | var step3list = { 70 | icate: 'ic', 71 | ative: '', 72 | alize: 'al', 73 | iciti: 'ic', 74 | ical: 'ic', 75 | ful: '', 76 | ness: '' 77 | }; 78 | 79 | var c = "[^aeiou]"; // consonant 80 | var v = "[aeiouy]"; // vowel 81 | var C = c + "[^aeiouy]*"; // consonant sequence 82 | var V = v + "[aeiou]*"; // vowel sequence 83 | 84 | var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 85 | var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 86 | var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 87 | var s_v = "^(" + C + ")?" + v; // vowel in stem 88 | 89 | this.stemWord = function (w) { 90 | var stem; 91 | var suffix; 92 | var firstch; 93 | var origword = w; 94 | 95 | if (w.length < 3) 96 | return w; 97 | 98 | var re; 99 | var re2; 100 | var re3; 101 | var re4; 102 | 103 | firstch = w.substr(0,1); 104 | if (firstch == "y") 105 | w = firstch.toUpperCase() + w.substr(1); 106 | 107 | // Step 1a 108 | re = /^(.+?)(ss|i)es$/; 109 | re2 = /^(.+?)([^s])s$/; 110 | 111 | if (re.test(w)) 112 | w = w.replace(re,"$1$2"); 113 | else if (re2.test(w)) 114 | w = w.replace(re2,"$1$2"); 115 | 116 | // Step 1b 117 | re = /^(.+?)eed$/; 118 | re2 = /^(.+?)(ed|ing)$/; 119 | if (re.test(w)) { 120 | var fp = re.exec(w); 121 | re = new RegExp(mgr0); 122 | if (re.test(fp[1])) { 123 | re = /.$/; 124 | w = w.replace(re,""); 125 | } 126 | } 127 | else if (re2.test(w)) { 128 | var fp = re2.exec(w); 129 | stem = fp[1]; 130 | re2 = new RegExp(s_v); 131 | if (re2.test(stem)) { 132 | w = stem; 133 | re2 = /(at|bl|iz)$/; 134 | re3 = new RegExp("([^aeiouylsz])\\1$"); 135 | re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); 136 | if (re2.test(w)) 137 | w = w + "e"; 138 | else if (re3.test(w)) { 139 | re = /.$/; 140 | w = w.replace(re,""); 141 | } 142 | else if (re4.test(w)) 143 | w = w + "e"; 144 | } 145 | } 146 | 147 | // Step 1c 148 | re = /^(.+?)y$/; 149 | if (re.test(w)) { 150 | var fp = re.exec(w); 151 | stem = fp[1]; 152 | re = new RegExp(s_v); 153 | if (re.test(stem)) 154 | w = stem + "i"; 155 | } 156 | 157 | // Step 2 158 | re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; 159 | if (re.test(w)) { 160 | var fp = re.exec(w); 161 | stem = fp[1]; 162 | suffix = fp[2]; 163 | re = new RegExp(mgr0); 164 | if (re.test(stem)) 165 | w = stem + step2list[suffix]; 166 | } 167 | 168 | // Step 3 169 | re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; 170 | if (re.test(w)) { 171 | var fp = re.exec(w); 172 | stem = fp[1]; 173 | suffix = fp[2]; 174 | re = new RegExp(mgr0); 175 | if (re.test(stem)) 176 | w = stem + step3list[suffix]; 177 | } 178 | 179 | // Step 4 180 | re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; 181 | re2 = /^(.+?)(s|t)(ion)$/; 182 | if (re.test(w)) { 183 | var fp = re.exec(w); 184 | stem = fp[1]; 185 | re = new RegExp(mgr1); 186 | if (re.test(stem)) 187 | w = stem; 188 | } 189 | else if (re2.test(w)) { 190 | var fp = re2.exec(w); 191 | stem = fp[1] + fp[2]; 192 | re2 = new RegExp(mgr1); 193 | if (re2.test(stem)) 194 | w = stem; 195 | } 196 | 197 | // Step 5 198 | re = /^(.+?)e$/; 199 | if (re.test(w)) { 200 | var fp = re.exec(w); 201 | stem = fp[1]; 202 | re = new RegExp(mgr1); 203 | re2 = new RegExp(meq1); 204 | re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); 205 | if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) 206 | w = stem; 207 | } 208 | re = /ll$/; 209 | re2 = new RegExp(mgr1); 210 | if (re.test(w) && re2.test(w)) { 211 | re = /.$/; 212 | w = w.replace(re,""); 213 | } 214 | 215 | // and turn initial Y back to y 216 | if (firstch == "y") 217 | w = firstch.toLowerCase() + w.substr(1); 218 | return w; 219 | } 220 | } 221 | 222 | 223 | /** 224 | * Search Module 225 | */ 226 | var Search = { 227 | 228 | _index : null, 229 | _queued_query : null, 230 | _pulse_status : -1, 231 | 232 | init : function() { 233 | var params = $.getQueryParameters(); 234 | if (params.q) { 235 | var query = params.q[0]; 236 | $('input[name="q"]')[0].value = query; 237 | this.performSearch(query); 238 | } 239 | }, 240 | 241 | loadIndex : function(url) { 242 | $.ajax({type: "GET", url: url, data: null, success: null, 243 | dataType: "script", cache: true}); 244 | }, 245 | 246 | setIndex : function(index) { 247 | var q; 248 | this._index = index; 249 | if ((q = this._queued_query) !== null) { 250 | this._queued_query = null; 251 | Search.query(q); 252 | } 253 | }, 254 | 255 | hasIndex : function() { 256 | return this._index !== null; 257 | }, 258 | 259 | deferQuery : function(query) { 260 | this._queued_query = query; 261 | }, 262 | 263 | stopPulse : function() { 264 | this._pulse_status = 0; 265 | }, 266 | 267 | startPulse : function() { 268 | if (this._pulse_status >= 0) 269 | return; 270 | function pulse() { 271 | Search._pulse_status = (Search._pulse_status + 1) % 4; 272 | var dotString = ''; 273 | for (var i = 0; i < Search._pulse_status; i++) 274 | dotString += '.'; 275 | Search.dots.text(dotString); 276 | if (Search._pulse_status > -1) 277 | window.setTimeout(pulse, 500); 278 | }; 279 | pulse(); 280 | }, 281 | 282 | /** 283 | * perform a search for something 284 | */ 285 | performSearch : function(query) { 286 | // create the required interface elements 287 | this.out = $('#search-results'); 288 | this.title = $('

' + _('Searching') + '

').appendTo(this.out); 289 | this.dots = $('').appendTo(this.title); 290 | this.status = $('

').appendTo(this.out); 291 | this.output = $('