diff --git a/CHANGELOG b/CHANGELOG index 5e88341..a70b8db 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,13 @@ Stalker Changes =============== +0.2.16 +====== + +* **New:** ``Budget`` instances are now statusable. +* **Update:** Updated documentation to include database migration instructions + with Alembic. + 0.2.15.2 ======== diff --git a/alembic/versions/92257ba439e1_budget_is_now_statusable.py b/alembic/versions/92257ba439e1_budget_is_now_statusable.py new file mode 100644 index 0000000..1a5798e --- /dev/null +++ b/alembic/versions/92257ba439e1_budget_is_now_statusable.py @@ -0,0 +1,38 @@ +"""empty message + +Revision ID: 92257ba439e1 +Revises: f2005d1fbadc +Create Date: 2016-07-28 13:20:27.397000 + +""" + +# revision identifiers, used by Alembic. +revision = '92257ba439e1' +down_revision = 'f2005d1fbadc' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.add_column( + 'Budgets', + sa.Column('status_id', sa.Integer(), nullable=False) + ) + op.add_column( + 'Budgets', + sa.Column('status_list_id', sa.Integer(), nullable=False) + ) + op.create_foreign_key( + None, 'Budgets', 'Statuses', ['status_id'], ['id'] + ) + op.create_foreign_key( + None, 'Budgets', 'StatusLists', ['status_list_id'], ['id'] + ) + + +def downgrade(): + op.drop_constraint(None, 'Budgets', type_='foreignkey') + op.drop_constraint(None, 'Budgets', type_='foreignkey') + op.drop_column('Budgets', 'status_list_id') + op.drop_column('Budgets', 'status_id') diff --git a/docs/Makefile b/docs/Makefile index b4c923e..e4e0a2d 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -3,15 +3,10 @@ # You can set these variables from the command line. SPHINXOPTS = -SPHINXBUILD = ../../bin/sphinx-build +SPHINXBUILD = sphinx-build PAPER = BUILDDIR = build -# User-friendly check for sphinx-build -ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) -$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) -endif - # Internal variables. PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter @@ -19,8 +14,7 @@ ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) sou # the i18n builder cannot share the environment and doctrees with the others I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source -.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext - +.PHONY: help help: @echo "Please use \`make ' where is one of" @echo " html to make standalone HTML files" @@ -30,8 +24,10 @@ help: @echo " json to make JSON files" @echo " htmlhelp to make HTML files and a HTML help project" @echo " qthelp to make HTML files and a qthelp project" + @echo " applehelp to make an Apple Help Book" @echo " devhelp to make HTML files and a Devhelp project" @echo " epub to make an epub" + @echo " epub3 to make an epub3" @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" @echo " latexpdf to make LaTeX files and run them through pdflatex" @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" @@ -45,42 +41,52 @@ help: @echo " pseudoxml to make pseudoxml-XML files for display purposes" @echo " linkcheck to check all external links for integrity" @echo " doctest to run all doctests embedded in the documentation (if enabled)" + @echo " coverage to run coverage check of the documentation (if enabled)" + @echo " dummy to check syntax errors of document sources" +.PHONY: clean clean: rm -rf $(BUILDDIR)/* rm -rf source/generated/* +.PHONY: html html: $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." +.PHONY: dirhtml dirhtml: $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." +.PHONY: singlehtml singlehtml: $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml @echo @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." +.PHONY: pickle pickle: $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle @echo @echo "Build finished; now you can process the pickle files." +.PHONY: json json: $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json @echo @echo "Build finished; now you can process the JSON files." +.PHONY: htmlhelp htmlhelp: $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp @echo @echo "Build finished; now you can run HTML Help Workshop with the" \ ".hhp project file in $(BUILDDIR)/htmlhelp." +.PHONY: qthelp qthelp: $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp @echo @@ -90,6 +96,16 @@ qthelp: @echo "To view the help file:" @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Stalker.qhc" +.PHONY: applehelp +applehelp: + $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp + @echo + @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." + @echo "N.B. You won't be able to view it unless you put it in" \ + "~/Library/Documentation/Help or install it in your application" \ + "bundle." + +.PHONY: devhelp devhelp: $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp @echo @@ -99,11 +115,19 @@ devhelp: @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Stalker" @echo "# devhelp" +.PHONY: epub epub: $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub @echo @echo "Build finished. The epub file is in $(BUILDDIR)/epub." +.PHONY: epub3 +epub3: + $(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3 + @echo + @echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3." + +.PHONY: latex latex: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex cp texinputs/* $(BUILDDIR)/latex/ @@ -112,28 +136,33 @@ latex: @echo "Run \`make' in that directory to run these through (pdf)latex" \ "(use \`make latexpdf' here to do that automatically)." +.PHONY: latexpdf latexpdf: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo "Running LaTeX files through pdflatex..." $(MAKE) -C $(BUILDDIR)/latex all-pdf @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." +.PHONY: latexpdfja latexpdfja: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo "Running LaTeX files through platex and dvipdfmx..." $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." +.PHONY: text text: $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text @echo @echo "Build finished. The text files are in $(BUILDDIR)/text." +.PHONY: man man: $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man @echo @echo "Build finished. The manual pages are in $(BUILDDIR)/man." +.PHONY: texinfo texinfo: $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo @echo @@ -141,39 +170,58 @@ texinfo: @echo "Run \`make' in that directory to run these through makeinfo" \ "(use \`make info' here to do that automatically)." +.PHONY: info info: $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo @echo "Running Texinfo files through makeinfo..." make -C $(BUILDDIR)/texinfo info @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." +.PHONY: gettext gettext: $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale @echo @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." +.PHONY: changes changes: $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes @echo @echo "The overview file is in $(BUILDDIR)/changes." +.PHONY: linkcheck linkcheck: $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck @echo @echo "Link check complete; look for any errors in the above output " \ "or in $(BUILDDIR)/linkcheck/output.txt." +.PHONY: doctest doctest: $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest @echo "Testing of doctests in the sources finished, look at the " \ "results in $(BUILDDIR)/doctest/output.txt." +.PHONY: coverage +coverage: + $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage + @echo "Testing of coverage in the sources finished, look at the " \ + "results in $(BUILDDIR)/coverage/python.txt." + +.PHONY: xml xml: $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml @echo @echo "Build finished. The XML files are in $(BUILDDIR)/xml." +.PHONY: pseudoxml pseudoxml: $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml @echo @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." + +.PHONY: dummy +dummy: + $(SPHINXBUILD) -b dummy $(ALLSPHINXOPTS) $(BUILDDIR)/dummy + @echo + @echo "Build finished. Dummy builder generates no files." diff --git a/docs/make.bat b/docs/make.bat index 99bc1d1..e1a6fd6 100644 --- a/docs/make.bat +++ b/docs/make.bat @@ -2,8 +2,10 @@ REM Command file for Sphinx documentation +set SPHINXBUILD=..\..\Scripts\sphinx-build.exe + if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build + set SPHINXBUILD=..\..\Scripts\sphinx-build ) set BUILDDIR=build set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% source @@ -27,6 +29,7 @@ if "%1" == "help" ( echo. qthelp to make HTML files and a qthelp project echo. devhelp to make HTML files and a Devhelp project echo. epub to make an epub + echo. epub3 to make an epub3 echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter echo. text to make text files echo. man to make manual pages @@ -37,6 +40,8 @@ if "%1" == "help" ( echo. pseudoxml to make pseudoxml-XML files for display purposes echo. linkcheck to check all external links for integrity echo. doctest to run all doctests embedded in the documentation if enabled + echo. coverage to run coverage check of the documentation if enabled + echo. dummy to check syntax errors of document sources goto end ) @@ -47,6 +52,14 @@ if "%1" == "clean" ( ) +REM Check if sphinx-build is available and fallback to Python version if any +%SPHINXBUILD% 1>NUL 2>NUL +if errorlevel 9009 goto sphinx_python +goto sphinx_ok + +:sphinx_python + +set SPHINXBUILD=python -m sphinx.__init__ %SPHINXBUILD% 2> nul if errorlevel 9009 ( echo. @@ -60,6 +73,9 @@ if errorlevel 9009 ( exit /b 1 ) +:sphinx_ok + + if "%1" == "html" ( %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html if errorlevel 1 exit /b 1 @@ -137,6 +153,14 @@ if "%1" == "epub" ( goto end ) +if "%1" == "epub3" ( + %SPHINXBUILD% -b epub3 %ALLSPHINXOPTS% %BUILDDIR%/epub3 + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The epub3 file is in %BUILDDIR%/epub3. + goto end +) + if "%1" == "latex" ( %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex if errorlevel 1 exit /b 1 @@ -149,7 +173,7 @@ if "%1" == "latexpdf" ( %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex cd %BUILDDIR%/latex make all-pdf - cd %BUILDDIR%/.. + cd %~dp0 echo. echo.Build finished; the PDF files are in %BUILDDIR%/latex. goto end @@ -159,7 +183,7 @@ if "%1" == "latexpdfja" ( %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex cd %BUILDDIR%/latex make all-pdf-ja - cd %BUILDDIR%/.. + cd %~dp0 echo. echo.Build finished; the PDF files are in %BUILDDIR%/latex. goto end @@ -223,6 +247,15 @@ results in %BUILDDIR%/doctest/output.txt. goto end ) +if "%1" == "coverage" ( + %SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage + if errorlevel 1 exit /b 1 + echo. + echo.Testing of coverage in the sources finished, look at the ^ +results in %BUILDDIR%/coverage/python.txt. + goto end +) + if "%1" == "xml" ( %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml if errorlevel 1 exit /b 1 @@ -239,4 +272,12 @@ if "%1" == "pseudoxml" ( goto end ) +if "%1" == "dummy" ( + %SPHINXBUILD% -b dummy %ALLSPHINXOPTS% %BUILDDIR%/dummy + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. Dummy builder generates no files. + goto end +) + :end diff --git a/docs/source/_static/images/stalker_design.vue b/docs/source/_static/images/stalker_design.vue index a4aacaf..6584535 100644 --- a/docs/source/_static/images/stalker_design.vue +++ b/docs/source/_static/images/stalker_design.vue @@ -1,14 +1,14 @@ - + - + - stalker_design.vue @@ -2003,10 +2003,10 @@ <head> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -2031,10 +2031,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -2586,10 +2586,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -2627,10 +2627,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -2683,10 +2683,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -2736,10 +2736,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -2788,10 +2788,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -2886,10 +2886,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 11; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 11 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 11 } + body { font-size: 11; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 11; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 11; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -2937,10 +2937,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -2990,10 +2990,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 11; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 11 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 11 } + body { font-size: 11; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 11; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 11; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -3045,10 +3045,10 @@ <head> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -3097,10 +3097,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -3160,10 +3160,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 11; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 11 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 11 } + body { font-size: 11; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 11; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 11; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -3211,10 +3211,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -3600,10 +3600,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -3969,10 +3969,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -3998,10 +3998,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -4027,10 +4027,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -4381,10 +4381,10 @@ <head> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -4562,10 +4562,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -4788,10 +4788,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -4824,10 +4824,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -4871,10 +4871,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -4907,10 +4907,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -5018,10 +5018,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -5090,10 +5090,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -5141,10 +5141,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -5183,10 +5183,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -5231,10 +5231,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -5273,10 +5273,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -5323,10 +5323,10 @@ <head> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -5361,10 +5361,10 @@ <head> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -5461,10 +5461,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -5502,10 +5502,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -6079,10 +6079,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -6360,8 +6360,8 @@ #000000 Arial-bold-12 http://vue.tufts.edu/rdf/resource/13a3d6fc7f0001017490649e5a37d165 - #F2AE45 #7F7F7F @@ -6370,9 +6370,9 @@ http://vue.tufts.edu/rdf/resource/13a3d6fc7f0001017490649e4b94c630 - + #F2AE45 #7F7F7F #000000 @@ -6390,8 +6390,8 @@ http://vue.tufts.edu/rdf/resource/13a3d6fc7f0001017490649e8e3ec1dc - #F2AE45 #7F7F7F @@ -6400,8 +6400,8 @@ http://vue.tufts.edu/rdf/resource/e8a41f83648c6197658d749aa0829717 - #F2AE45 #7F7F7F @@ -6527,20 +6527,20 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> </head> <body> - <p style="color: #000000; text-align: center" color="#000000"> + <p style="text-align: center; color: #000000" color="#000000"> Just add another parameter called &quot;taget_entity_type&quot; to the StatusLits object, </p> - <p style="color: #000000; text-align: center" color="#000000"> + <p style="text-align: center; color: #000000" color="#000000"> and use it when assigning to other objects to check if it is compatible with the StatusList </p> @@ -6823,10 +6823,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -7702,10 +7702,10 @@ <head> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -7740,10 +7740,10 @@ <head> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -7809,10 +7809,10 @@ <head> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -8695,10 +8695,10 @@ <head style="color: #000000" color="#000000"> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -9021,10 +9021,10 @@ <head> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -9059,10 +9059,10 @@ <head> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -9726,10 +9726,10 @@ <head> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -9765,10 +9765,10 @@ <head> <style type="text/css"> <!-- - body { margin-left: 0px; color: #000000; margin-top: 0px; font-family: Arial; margin-right: 0px; font-size: 12; margin-bottom: 0px } - ol { margin-left: 30; margin-top: 6; font-family: Arial; vertical-align: middle; list-style-position: outside; font-size: 12 } - p { margin-left: 0; color: #000000; margin-top: 0; margin-right: 0; margin-bottom: 0 } - ul { margin-left: 30; margin-top: 6; vertical-align: middle; font-family: Arial; list-style-position: outside; font-size: 12 } + body { font-size: 12; margin-bottom: 0px; margin-right: 0px; font-family: Arial; color: #000000; margin-top: 0px; margin-left: 0px } + ol { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } + p { margin-bottom: 0; margin-right: 0; color: #000000; margin-top: 0; margin-left: 0 } + ul { list-style-position: outside; font-size: 12; font-family: Arial; margin-top: 6; vertical-align: middle; margin-left: 30 } --> </style> @@ -9786,8 +9786,8 @@ width="1.4E-45" height="1.4E-45" strokeWidth="0.0" autoSized="false"> http://vue.tufts.edu/rdf/resource/5d104b32c00007d601b277f026b72230 - 1.6024081389788731 - + 1.6392922137891288 + #202020 2009-05-20 diff --git a/docs/source/conf.py b/docs/source/conf.py index 77d5dba..b386470 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # # Stalker documentation build configuration file, created by -# sphinx-quickstart on Sat Jan 18 17:30:13 2014. +# sphinx-quickstart on Tue Jul 26 20:41:01 2016. # # This file is execfile()d with the current directory set to its # containing dir. @@ -12,18 +12,19 @@ # All configuration values have a default; values that are commented out # serve to show the default. -import sys -import os - # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. -#sys.path.insert(0, os.path.abspath('.')) + +import os +import sys +# sys.path.insert(0, os.path.abspath('.')) # -- General configuration ------------------------------------------------ # If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' +# +# needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom @@ -35,9 +36,10 @@ 'sphinx.ext.todo', 'sphinx.ext.coverage', 'sphinx.ext.viewcode', + 'sphinx.ext.githubpages', 'sphinx.ext.graphviz', 'sphinx.ext.inheritance_diagram', - 'sphinx.ext.pngmath', + # 'sphinx.ext.imgmath', 'sphinx.ext.mathjax', 'sphinx.ext.ifconfig' ] @@ -45,18 +47,23 @@ # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] -# The suffix of source filenames. +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +# source_suffix = ['.rst', '.md'] source_suffix = '.rst' # The encoding of source files. -#source_encoding = 'utf-8-sig' +# +# source_encoding = 'utf-8-sig' # The master toctree document. master_doc = 'index' # General information about the project. -project = 'Stalker' -copyright = '2009-2014, Stalker authors and contributors' +project = u'Stalker' +copyright = u'2009-2016, Erkan Ozgur Yilmaz' +author = u'Erkan Ozgur Yilmaz' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -76,76 +83,96 @@ # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. -#language = None +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: -#today = '' +# +# today = '' +# # Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' +# +# today_fmt = '%B %d, %Y' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. +# This patterns also effect to html_static_path and html_extra_path exclude_patterns = ['build', 'templates'] # The reST default role (used for this markup: `text`) to use for all # documents. -#default_role = None +# +# default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True +# +# add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). -#add_module_names = True +# +# add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. -#show_authors = False +# +# show_authors = False # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' # A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] +# modindex_common_prefix = [] # If true, keep warnings as "system message" paragraphs in the built documents. -#keep_warnings = False +# keep_warnings = False + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = True # -- Options for HTML output ---------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -#html_theme = 'default' -#html_theme = 'scrolls' -#html_theme = 'agogo' -#html_theme = 'sphinxdoc' +# html_theme = 'default' +# html_theme = 'scrolls' +# html_theme = 'agogo' +# html_theme = 'sphinxdoc' html_theme = 'pyramid' +# html_theme = 'alabaster' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. -#html_theme_options = {} +# +# html_theme_options = {} # Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] +# html_theme_path = [] -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None +# The name for this set of Sphinx documents. +# " v documentation" by default. +# +# html_title = None # A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None +# +# html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. -#html_logo = None +# +# html_logo = None -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# The name of an image file (relative to this directory) to use as a favicon of +# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. -#html_favicon = None +# +# html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, @@ -155,48 +182,79 @@ # Add any extra paths that contain custom files (such as robots.txt or # .htaccess) here, relative to this directory. These files are copied # directly to the root of the documentation. -#html_extra_path = [] +# +# html_extra_path = [] -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' +# If not None, a 'Last updated on:' timestamp is inserted at every page +# bottom, using the given strftime format. +# The empty string is equivalent to '%b %d, %Y'. +# +# html_last_updated_fmt = None # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. -#html_use_smartypants = True +# +# html_use_smartypants = True # Custom sidebar templates, maps document names to template names. -#html_sidebars = {} +# +# html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. -#html_additional_pages = {} +# +# html_additional_pages = {} # If false, no module index is generated. -#html_domain_indices = True +# +# html_domain_indices = True # If false, no index is generated. -#html_use_index = True +# +# html_use_index = True # If true, the index is split into individual pages for each letter. -#html_split_index = False +# +# html_split_index = False # If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True +# +# html_show_sourcelink = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True +# +# html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True +# +# html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. -#html_use_opensearch = '' +# +# html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None +# html_file_suffix = None + +# Language to be used for generating the HTML full-text search index. +# Sphinx supports the following languages: +# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' +# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr', 'zh' +# +# html_search_language = 'en' + +# A dictionary with options for the search language support, empty by default. +# 'ja' uses this config value. +# 'zh' user can custom change `jieba` dictionary path. +# +# html_search_options = {'type': 'default'} + +# The name of a javascript file (relative to the configuration directory) that +# implements a search results scorer. If empty, the default will be used. +# +# html_search_scorer = 'scorer.js' # Output file base name for HTML help builder. htmlhelp_basename = 'Stalkerdoc' @@ -205,46 +263,66 @@ # -- Options for LaTeX output --------------------------------------------- latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -'papersize': 'a4paper', + # The paper size ('letterpaper' or 'a4paper'). + # + 'papersize': 'a4paper', -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', + # The font size ('10pt', '11pt' or '12pt'). + # + # 'pointsize': '10pt', -# Additional stuff for the LaTeX preamble. -#'preamble': '', + # Additional stuff for the LaTeX preamble. + # + # 'preamble': '', + + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - ('contents', 'Stalker.tex', 'Stalker Documentation', - 'Erkan Ozgur Yilmaz', 'manual'), + ('contents', 'Stalker.tex', u'Stalker Documentation', + u'Erkan Ozgur Yilmaz', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of # the title page. -#latex_logo = None +# +# latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. -#latex_use_parts = False +# +# latex_use_parts = False # If true, show page references after internal links. -#latex_show_pagerefs = False +# +# latex_show_pagerefs = False # If true, show URL addresses after external links. -#latex_show_urls = False +# +# latex_show_urls = False # Additional stuff for the LaTeX preamble. -latex_preamble = '\setcounter{tocdepth}{3}' +# +# latex_preamble = '\setcounter{tocdepth}{3}' # Documents to append as an appendix to all manuals. -#latex_appendices = [] +# +# latex_appendices = [] + +# It false, will not define \strong, \code, itleref, \crossref ... but only +# \sphinxstrong, ..., \sphinxtitleref, ... To help avoid clash with user added +# packages. +# +# latex_keep_old_macro_names = True # If false, no module index is generated. -#latex_domain_indices = True +# +# latex_domain_indices = True # -- Options for manual page output --------------------------------------- @@ -252,12 +330,13 @@ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('index', 'stalker', 'Stalker Documentation', - ['Erkan Ozgur Yilmaz'], 1) + (master_doc, 'stalker', u'Stalker Documentation', + [author], 1) ] # If true, show URL addresses after external links. -#man_show_urls = False +# +# man_show_urls = False # -- Options for Texinfo output ------------------------------------------- @@ -266,22 +345,26 @@ # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - ('index', 'Stalker', 'Stalker Documentation', - 'Erkan Ozgur Yilmaz', 'Stalker', 'One line description of project.', + (master_doc, 'Stalker', u'Stalker Documentation', + author, 'Stalker', 'One line description of project.', 'Miscellaneous'), ] # Documents to append as an appendix to all manuals. -#texinfo_appendices = [] +# +# texinfo_appendices = [] # If false, no module index is generated. -#texinfo_domain_indices = True +# +# texinfo_domain_indices = True # How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' +# +# texinfo_show_urls = 'footnote' # If true, do not generate a @detailmenu in the "Top" node's menu. -#texinfo_no_detailmenu = False +# +# texinfo_no_detailmenu = False # -- Options for Epub output ---------------------------------------------- @@ -355,7 +438,7 @@ # Example configuration for intersphinx: refer to the Python standard library. -intersphinx_mapping = {'http://docs.python.org/': None} +intersphinx_mapping = {'https://docs.python.org/': None} autosummary_generate = True autodoc_member_order = "bysource" diff --git a/docs/source/contents.rst b/docs/source/contents.rst index 03e453e..b5a3b46 100644 --- a/docs/source/contents.rst +++ b/docs/source/contents.rst @@ -11,6 +11,7 @@ Table of Contents tutorial.rst design.rst configure.rst + upgrade_db.rst contribute.rst roadmap.rst changelog.rst diff --git a/docs/source/inheritance_diagram.rst b/docs/source/inheritance_diagram.rst index 099c7bc..ecacf69 100644 --- a/docs/source/inheritance_diagram.rst +++ b/docs/source/inheritance_diagram.rst @@ -14,6 +14,7 @@ Inheritance Diagram stalker.models.auth.Group stalker.models.auth.LocalSession stalker.models.auth.Permission + stalker.models.auth.Role stalker.models.auth.User stalker.models.budget.Budget stalker.models.budget.BudgetEntry diff --git a/docs/source/summary.rst b/docs/source/summary.rst index 85fc094..831e0ac 100644 --- a/docs/source/summary.rst +++ b/docs/source/summary.rst @@ -19,6 +19,7 @@ Summary stalker.models.asset.Asset stalker.models.auth.Group stalker.models.auth.LocalSession + stalker.models.auth.Role stalker.models.auth.Permission stalker.models.auth.User stalker.models.budget.Budget diff --git a/docs/source/upgrade_db.rst b/docs/source/upgrade_db.rst new file mode 100644 index 0000000..6e8891e --- /dev/null +++ b/docs/source/upgrade_db.rst @@ -0,0 +1,35 @@ +.. upgrade_db_toplevel: + +================== +Upgrading Database +================== + +Introduction +============ + +From time to time, with new releases of Stalker, your Stalker database may need +to be upgraded. This is done with the `Alembic`_ library, which is a database +migration library for `SQLAlchemy`_. + +.. _Alembic: http://alembic.zzzcomputing.com/en/latest/ +.. _SQLAlchemy: http://www.sqlalchemy.org + +Instructions +============ + +The upgrade is easy, just run the following command on the root of the stalker +installation directory:: + + # for Windows + ..\Scripts\alembic.exe upgrade head + + # for Linux or OSX + ../bin/alembic upgrade head + + # this should output something like that: + # + # INFO [alembic.runtime.migration] Context impl PostgresqlImpl. + # INFO [alembic.runtime.migration] Will assume transactional DDL. + # INFO [alembic.runtime.migration] Running upgrade 745b210e6907 -> f2005d1fbadc, added ProjectClients + +That's it, your database is now migrated to the latest version. \ No newline at end of file diff --git a/stalker/__init__.py b/stalker/__init__.py index d718650..7de80a5 100644 --- a/stalker/__init__.py +++ b/stalker/__init__.py @@ -25,7 +25,7 @@ import sys -__version__ = '0.2.15.2' +__version__ = '0.2.16' __string_types__ = [] diff --git a/stalker/db/__init__.py b/stalker/db/__init__.py index 54ae2e3..1bbffb9 100644 --- a/stalker/db/__init__.py +++ b/stalker/db/__init__.py @@ -36,7 +36,7 @@ logger = logging.getLogger(__name__) logger.setLevel(logging_level) -alembic_version = 'f2005d1fbadc' +alembic_version = '92257ba439e1' def setup(settings=None): diff --git a/stalker/models/budget.py b/stalker/models/budget.py index 104f0cd..59b4be9 100644 --- a/stalker/models/budget.py +++ b/stalker/models/budget.py @@ -23,7 +23,7 @@ from stalker.db import Base from stalker.models.entity import Entity -from stalker.models.mixins import ProjectMixin, DAGMixin +from stalker.models.mixins import ProjectMixin, DAGMixin, StatusMixin class Good(Entity): @@ -204,7 +204,7 @@ def _validate_goods(self, key, good): ) -class Budget(Entity, ProjectMixin, DAGMixin): +class Budget(Entity, ProjectMixin, DAGMixin, StatusMixin): """Manages project budgets Budgets manager :class:`.Project` budgets. You can create entries as @@ -235,6 +235,7 @@ def __init__(self, **kwargs): super(Budget, self).__init__(**kwargs) ProjectMixin.__init__(self, **kwargs) DAGMixin.__init__(self, **kwargs) + StatusMixin.__init__(self, **kwargs) @validates('entries') def _validate_entry(self, key, entry): diff --git a/tests/db/test_db.py b/tests/db/test_db.py index e9cd7d1..e090ed2 100644 --- a/tests/db/test_db.py +++ b/tests/db/test_db.py @@ -982,7 +982,7 @@ def test_initialization_of_alembic_version_table(self): sql_query = 'select version_num from "alembic_version"' version_num = \ db.DBSession.connection().execute(sql_query).fetchone()[0] - self.assertEqual('f2005d1fbadc', version_num) + self.assertEqual('92257ba439e1', version_num) def test_initialization_of_alembic_version_table_multiple_times(self): """testing if the db.create_alembic_table() will handle initializing @@ -999,7 +999,7 @@ def test_initialization_of_alembic_version_table_multiple_times(self): sql_query = 'select version_num from "alembic_version"' version_num = \ db.DBSession.connection().execute(sql_query).fetchone()[0] - self.assertEqual('f2005d1fbadc', version_num) + self.assertEqual('92257ba439e1', version_num) db.DBSession.remove() db.setup(db_config) @@ -1382,6 +1382,12 @@ def test_persistence_of_Budget_and_BudgetEntry(self): target_entity_type='Project', ) + budget_status_list = StatusList( + name='Budget Statuses', + statuses=[status1, status2, status3], + target_entity_type='Budget' + ) + commercial_type = Type( name='Commercial A', code='comm', @@ -1402,7 +1408,9 @@ def test_persistence_of_Budget_and_BudgetEntry(self): kwargs = { 'name': 'Test Budget', 'project': test_project, - 'created_by': test_user + 'created_by': test_user, + 'status_list': budget_status_list, + 'status': status1 } test_budget = Budget(**kwargs) @@ -1431,6 +1439,7 @@ def test_persistence_of_Budget_and_BudgetEntry(self): updated_by = test_budget.updated_by notes = test_budget.notes entries = test_budget.entries + status = test_budget.status del test_budget @@ -1450,6 +1459,7 @@ def test_persistence_of_Budget_and_BudgetEntry(self): self.assertEqual(tags, test_budget_db.tags) self.assertEqual(updated_by, test_budget_db.updated_by) self.assertEqual(entries, test_budget_db.entries) + self.assertEqual(status, status1) # and we should have our entries intact self.assertTrue( diff --git a/tests/models/test_budget.py b/tests/models/test_budget.py index 2ca0b24..8f8f8ba 100644 --- a/tests/models/test_budget.py +++ b/tests/models/test_budget.py @@ -50,6 +50,16 @@ def setUp(self): self.status_stop = Status.query.filter_by(code="STOP").first() self.status_cmpl = Status.query.filter_by(code="CMPL").first() + self.status_new = Status.query.filter_by(code='NEW').first() + self.status_app = Status.query.filter_by(code='APP').first() + + self.budget_status_list = StatusList( + name='Budget Statuses', + target_entity_type='Budget', + statuses=[self.status_new, self.status_prev, self.status_app] + ) + db.DBSession.add(self.budget_status_list) + self.task_status_list = StatusList.query\ .filter_by(target_entity_type='Task').first() @@ -179,6 +189,25 @@ def test_entries_attribute_is_working_properly(self): [entry1, entry2] ) + def test_statuses_is_working_properly(self): + """testing if Budget accepts statuses + """ + self.test_budget.status = self.status_new + self.assertEqual( + self.test_budget.status, + self.status_new + ) + self.test_budget.status = self.status_prev + self.assertEqual( + self.test_budget.status, + self.status_prev + ) + self.test_budget.status = self.status_app + self.assertEqual( + self.test_budget.status, + self.status_app + ) + class BudgetEntryTestCase(BudgetTestBase): """tests the stalker.models.budget.BudgetEntry class