add room resolve

This commit is contained in:
Götz 2017-09-28 02:27:54 +02:00
parent 584e24a63f
commit 6bd8d503a5
8 changed files with 2742 additions and 908 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -12,12 +12,12 @@
<component name="CoverageDataManager"> <component name="CoverageDataManager">
<SUITE FILE_PATH="coverage/ofu_food$foodplan_parser_controler.coverage" NAME="foodplan-parser-controler Coverage Results" MODIFIED="1506277850230" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> <SUITE FILE_PATH="coverage/ofu_food$foodplan_parser_controler.coverage" NAME="foodplan-parser-controler Coverage Results" MODIFIED="1506277850230" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/ofu_food$mensa_page_parser.coverage" NAME="mensa-page-parser Coverage Results" MODIFIED="1506198388515" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> <SUITE FILE_PATH="coverage/ofu_food$mensa_page_parser.coverage" NAME="mensa-page-parser Coverage Results" MODIFIED="1506198388515" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/ofu_food$html_generator.coverage" NAME="html-generator Coverage Results" MODIFIED="1506522674615" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> <SUITE FILE_PATH="coverage/ofu_food$html_generator.coverage" NAME="html-generator Coverage Results" MODIFIED="1506558425013" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/ofu_food$fekide_happyhour_page_parser.coverage" NAME="fekide-happyhour-page-parser Coverage Results" MODIFIED="1506204094485" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> <SUITE FILE_PATH="coverage/ofu_food$fekide_happyhour_page_parser.coverage" NAME="fekide-happyhour-page-parser Coverage Results" MODIFIED="1506204094485" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/ofu_food$eventpage_parser_controller.coverage" NAME="eventpage-parser-controller Coverage Results" MODIFIED="1506519261107" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/events" /> <SUITE FILE_PATH="coverage/ofu_food$eventpage_parser_controller.coverage" NAME="eventpage-parser-controller Coverage Results" MODIFIED="1506558155597" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/events" />
<SUITE FILE_PATH="coverage/ofu_food$cafete_page_parser.coverage" NAME="cafete-page-parser Coverage Results" MODIFIED="1506201552685" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> <SUITE FILE_PATH="coverage/ofu_food$cafete_page_parser.coverage" NAME="cafete-page-parser Coverage Results" MODIFIED="1506201552685" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/ofu_food$ofu_food.coverage" NAME="ofu-food Coverage Results" MODIFIED="1506272180490" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> <SUITE FILE_PATH="coverage/ofu_food$ofu_food.coverage" NAME="ofu-food Coverage Results" MODIFIED="1506272180490" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/ofu_food$ofu_eventpage_parser.coverage" NAME="ofu-eventpage-parser Coverage Results" MODIFIED="1506519153767" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/events" /> <SUITE FILE_PATH="coverage/ofu_food$ofu_eventpage_parser.coverage" NAME="ofu-eventpage-parser Coverage Results" MODIFIED="1506558075813" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/events" />
<SUITE FILE_PATH="coverage/ofu_food$generator_food_page.coverage" NAME="generator-food-page Coverage Results" MODIFIED="1506346677743" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> <SUITE FILE_PATH="coverage/ofu_food$generator_food_page.coverage" NAME="generator-food-page Coverage Results" MODIFIED="1506346677743" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
</component> </component>
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" /> <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
@ -38,8 +38,8 @@
<file leaf-file-name="ofu-eventpage-parser.py" pinned="false" current-in-tab="false"> <file leaf-file-name="ofu-eventpage-parser.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/events/ofu-eventpage-parser.py"> <entry file="file://$PROJECT_DIR$/events/ofu-eventpage-parser.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="315"> <state relative-caret-position="395">
<caret line="20" column="13" lean-forward="false" selection-start-line="20" selection-start-column="13" selection-end-line="20" selection-end-column="13" /> <caret line="28" column="54" lean-forward="false" selection-start-line="28" selection-start-column="54" selection-end-line="28" selection-end-column="54" />
<folding> <folding>
<element signature="e#0#15#0" expanded="true" /> <element signature="e#0#15#0" expanded="true" />
</folding> </folding>
@ -47,11 +47,11 @@
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="events.jinja" pinned="false" current-in-tab="true"> <file leaf-file-name="events.jinja" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/templates/events.jinja"> <entry file="file://$PROJECT_DIR$/templates/events.jinja">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="195"> <state relative-caret-position="300">
<caret line="12" column="73" lean-forward="false" selection-start-line="12" selection-start-column="73" selection-end-line="12" selection-end-column="73" /> <caret line="24" column="63" lean-forward="false" selection-start-line="24" selection-start-column="63" selection-end-line="24" selection-end-column="63" />
<folding> <folding>
<element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#div#0;n#body#0;n#html#0;n#!!top" expanded="true" /> <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#div#0;n#body#0;n#html#0;n#!!top" expanded="true" />
</folding> </folding>
@ -72,18 +72,18 @@
<file leaf-file-name="eventpage-parser-controller.py" pinned="false" current-in-tab="false"> <file leaf-file-name="eventpage-parser-controller.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/events/eventpage-parser-controller.py"> <entry file="file://$PROJECT_DIR$/events/eventpage-parser-controller.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="140"> <state relative-caret-position="-145">
<caret line="7" column="59" lean-forward="false" selection-start-line="7" selection-start-column="59" selection-end-line="7" selection-end-column="59" /> <caret line="2" column="74" lean-forward="false" selection-start-line="2" selection-start-column="74" selection-end-line="2" selection-end-column="74" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="html-generator.py" pinned="false" current-in-tab="false"> <file leaf-file-name="html-generator.py" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/html-generator.py"> <entry file="file://$PROJECT_DIR$/html-generator.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120"> <state relative-caret-position="360">
<caret line="6" column="18" lean-forward="false" selection-start-line="6" selection-start-column="18" selection-end-line="6" selection-end-column="18" /> <caret line="18" column="2" lean-forward="false" selection-start-line="18" selection-start-column="2" selection-end-line="18" selection-end-column="2" />
<folding> <folding>
<element signature="e#0#13#0" expanded="true" /> <element signature="e#0#13#0" expanded="true" />
</folding> </folding>
@ -114,10 +114,10 @@
<option value="$PROJECT_DIR$/templates/food.jinja" /> <option value="$PROJECT_DIR$/templates/food.jinja" />
<option value="$PROJECT_DIR$/events/fekide-eventpage-parser.py" /> <option value="$PROJECT_DIR$/events/fekide-eventpage-parser.py" />
<option value="$PROJECT_DIR$/food/generator-food-page.py" /> <option value="$PROJECT_DIR$/food/generator-food-page.py" />
<option value="$PROJECT_DIR$/events/ofu-eventpage-parser.py" />
<option value="$PROJECT_DIR$/events/eventpage-parser-controller.py" /> <option value="$PROJECT_DIR$/events/eventpage-parser-controller.py" />
<option value="$PROJECT_DIR$/html-generator.py" /> <option value="$PROJECT_DIR$/events/ofu-eventpage-parser.py" />
<option value="$PROJECT_DIR$/templates/events.jinja" /> <option value="$PROJECT_DIR$/templates/events.jinja" />
<option value="$PROJECT_DIR$/html-generator.py" />
</list> </list>
</option> </option>
</component> </component>
@ -502,14 +502,14 @@
<servers /> <servers />
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="0" y="27" width="1920" height="1053" extended-state="7" /> <frame x="0" y="27" width="1920" height="1053" extended-state="6" />
<editor active="true" /> <editor active="true" />
<layout> <layout>
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.26549146" sideWeight="0.5" order="1" side_tool="false" content_ui="combo" /> <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.26549146" sideWeight="0.5" order="1" side_tool="false" content_ui="combo" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" /> <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.35191256" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> <window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.35191256" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
@ -544,7 +544,7 @@
<state relative-caret-position="880"> <state relative-caret-position="880">
<caret line="46" column="43" lean-forward="false" selection-start-line="46" selection-start-column="34" selection-end-line="46" selection-end-column="43" /> <caret line="46" column="43" lean-forward="false" selection-start-line="46" selection-start-column="34" selection-end-line="46" selection-end-column="43" />
<folding> <folding>
<element signature="e#0#15#0" expanded="true" /> <element signature="e#0#15#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
@ -570,7 +570,7 @@
<state relative-caret-position="300"> <state relative-caret-position="300">
<caret line="18" column="0" lean-forward="false" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" /> <caret line="18" column="0" lean-forward="false" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" />
<folding> <folding>
<element signature="e#0#13#0" expanded="true" /> <element signature="e#0#13#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
@ -588,7 +588,7 @@
<state relative-caret-position="880"> <state relative-caret-position="880">
<caret line="46" column="43" lean-forward="false" selection-start-line="46" selection-start-column="34" selection-end-line="46" selection-end-column="43" /> <caret line="46" column="43" lean-forward="false" selection-start-line="46" selection-start-column="34" selection-end-line="46" selection-end-column="43" />
<folding> <folding>
<element signature="e#0#15#0" expanded="true" /> <element signature="e#0#15#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
@ -614,7 +614,7 @@
<state relative-caret-position="300"> <state relative-caret-position="300">
<caret line="18" column="0" lean-forward="false" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" /> <caret line="18" column="0" lean-forward="false" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" />
<folding> <folding>
<element signature="e#0#13#0" expanded="true" /> <element signature="e#0#13#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
@ -632,7 +632,7 @@
<state relative-caret-position="880"> <state relative-caret-position="880">
<caret line="46" column="43" lean-forward="false" selection-start-line="46" selection-start-column="34" selection-end-line="46" selection-end-column="43" /> <caret line="46" column="43" lean-forward="false" selection-start-line="46" selection-start-column="34" selection-end-line="46" selection-end-column="43" />
<folding> <folding>
<element signature="e#0#15#0" expanded="true" /> <element signature="e#0#15#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
@ -666,7 +666,7 @@
<state relative-caret-position="300"> <state relative-caret-position="300">
<caret line="18" column="0" lean-forward="false" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" /> <caret line="18" column="0" lean-forward="false" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" />
<folding> <folding>
<element signature="e#0#13#0" expanded="true" /> <element signature="e#0#13#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
@ -702,7 +702,7 @@
<state relative-caret-position="240"> <state relative-caret-position="240">
<caret line="14" column="44" lean-forward="false" selection-start-line="14" selection-start-column="44" selection-end-line="14" selection-end-column="44" /> <caret line="14" column="44" lean-forward="false" selection-start-line="14" selection-start-column="44" selection-end-line="14" selection-end-column="44" />
<folding> <folding>
<element signature="e#0#13#0" expanded="true" /> <element signature="e#0#13#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
@ -738,7 +738,7 @@
<state relative-caret-position="500"> <state relative-caret-position="500">
<caret line="27" column="20" lean-forward="false" selection-start-line="27" selection-start-column="20" selection-end-line="27" selection-end-column="20" /> <caret line="27" column="20" lean-forward="false" selection-start-line="27" selection-start-column="20" selection-end-line="27" selection-end-column="20" />
<folding> <folding>
<element signature="e#0#13#0" expanded="true" /> <element signature="e#0#13#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
@ -795,7 +795,7 @@
<state relative-caret-position="940"> <state relative-caret-position="940">
<caret line="59" column="6" lean-forward="false" selection-start-line="59" selection-start-column="6" selection-end-line="59" selection-end-column="6" /> <caret line="59" column="6" lean-forward="false" selection-start-line="59" selection-start-column="6" selection-end-line="59" selection-end-column="6" />
<folding> <folding>
<element signature="e#0#13#0" expanded="true" /> <element signature="e#0#13#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
@ -813,11 +813,27 @@
<state relative-caret-position="920"> <state relative-caret-position="920">
<caret line="46" column="43" lean-forward="false" selection-start-line="46" selection-start-column="34" selection-end-line="46" selection-end-column="43" /> <caret line="46" column="43" lean-forward="false" selection-start-line="46" selection-start-column="34" selection-end-line="46" selection-end-column="43" />
<folding> <folding>
<element signature="e#0#15#0" expanded="true" /> <element signature="e#0#15#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/templates/food.jinja">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300">
<caret line="15" column="20" lean-forward="true" selection-start-line="15" selection-start-column="20" selection-end-line="15" selection-end-column="58" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/events/eventpage-parser-controller.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-145">
<caret line="2" column="74" lean-forward="false" selection-start-line="2" selection-start-column="74" selection-end-line="2" selection-end-column="74" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/events/fekide-eventpage-parser.py"> <entry file="file://$PROJECT_DIR$/events/fekide-eventpage-parser.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="820"> <state relative-caret-position="820">
@ -828,51 +844,35 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/events/eventpage-parser-controller.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="140">
<caret line="7" column="59" lean-forward="false" selection-start-line="7" selection-start-column="59" selection-end-line="7" selection-end-column="59" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/templates/food.jinja">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300">
<caret line="15" column="20" lean-forward="true" selection-start-line="15" selection-start-column="20" selection-end-line="15" selection-end-column="58" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/events/ofu-eventpage-parser.py"> <entry file="file://$PROJECT_DIR$/events/ofu-eventpage-parser.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="315"> <state relative-caret-position="395">
<caret line="20" column="13" lean-forward="false" selection-start-line="20" selection-start-column="13" selection-end-line="20" selection-end-column="13" /> <caret line="28" column="54" lean-forward="false" selection-start-line="28" selection-start-column="54" selection-end-line="28" selection-end-column="54" />
<folding> <folding>
<element signature="e#0#15#0" expanded="true" /> <element signature="e#0#15#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/html-generator.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120">
<caret line="6" column="18" lean-forward="false" selection-start-line="6" selection-start-column="18" selection-end-line="6" selection-end-column="18" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/templates/events.jinja"> <entry file="file://$PROJECT_DIR$/templates/events.jinja">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="195"> <state relative-caret-position="300">
<caret line="12" column="73" lean-forward="false" selection-start-line="12" selection-start-column="73" selection-end-line="12" selection-end-column="73" /> <caret line="24" column="63" lean-forward="false" selection-start-line="24" selection-start-column="63" selection-end-line="24" selection-end-column="63" />
<folding> <folding>
<element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#div#0;n#body#0;n#html#0;n#!!top" expanded="true" /> <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#div#0;n#body#0;n#html#0;n#!!top" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/html-generator.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="360">
<caret line="18" column="2" lean-forward="false" selection-start-line="18" selection-start-column="2" selection-end-line="18" selection-end-column="2" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component> </component>
</project> </project>

View File

@ -1,13 +1,14 @@
import importlib import importlib
UNIVIS_RPG_URL = "http://univis.uni-bamberg.de/prg?search=events&show=xml"
ofu_event_parser = importlib.import_module('ofu-eventpage-parser') ofu_event_parser = importlib.import_module('ofu-eventpage-parser')
# fekide_event_parser = importlib.import_module('fekide-eventpage-parser') # fekide_event_parser = importlib.import_module('fekide-eventpage-parser')
# JSON_OUTPUT_DIR = "../../json/" JSON_OUTPUT_DIR = "../../json/"
# PI
JSON_OUTPUT_DIR = "/media/data_1/www/pub-html/events/json/"
UNIVIS_RPG_URL = "http://univis.uni-bamberg.de/prg?search=events&show=xml"
# PI
# JSON_OUTPUT_DIR = "/media/data_1/www/pub-html/events/json/"
def writeToFile(jsonfile, filename): def writeToFile(jsonfile, filename):

View File

@ -2,6 +2,7 @@ import requests
import datetime import datetime
import xmltodict import xmltodict
import json import json
from pprint import pprint
def loadPage(url: str): def loadPage(url: str):
@ -12,14 +13,32 @@ def getDay():
return datetime.datetime.today().strftime("%A, %d.%m.%Y") return datetime.datetime.today().strftime("%A, %d.%m.%Y")
def getRoom(dict: dict, id: str):
for room in dict['UnivIS']['Room']:
if room['@key'] == id:
return room
def resolveUnivisRefs(dict: dict):
for event in dict['UnivIS']['Event']:
if 'rooms' in event:
room = event['rooms']['room']
if 'UnivISRef' in room:
key = room['UnivISRef']['@key']
detailed_room = getRoom(dict, key)
event['rooms']['room'] = detailed_room
def parsePage(url: str): def parsePage(url: str):
# {Univis: {'Event':[{,,,,},,,,]}} # {Univis: {'Event':[{,,,,},,,,]}}
page = loadPage(url) page = loadPage(url)
dict = xmltodict.parse(page) dict = xmltodict.parse(page)
resolveUnivisRefs(dict)
json_data = json.dumps(dict) json_data = json.dumps(dict)
json_data = json.loads(json_data) json_data = json.loads(json_data)
json_data['last_execute'] = getDay() json_data['last_execute'] = getDay()
return json.dumps(json_data) return json.dumps(json_data)
# UNIVIS_RPG_URL = "http://univis.uni-bamberg.de/prg?search=events&show=xml" # UNIVIS_RPG_URL = "http://univis.uni-bamberg.de/prg?search=events&show=xml"
# parsePage(UNIVIS_RPG_URL) # parsePage(UNIVIS_RPG_URL)

View File

@ -2,21 +2,24 @@ import jinja2
import json import json
import datetime import datetime
from jinja2 import Environment, FileSystemLoader from jinja2 import Environment, FileSystemLoader
from pprint import pprint
# Config global # Config global
CSSFILE_WEB = "../../css/bootstrap-4.0.0-beta-dist/css/bootstrap.css"
TEMPLATE_PATH = 'events.jinja' TEMPLATE_PATH = 'events.jinja'
# Config Thinkpad # Config Thinkpad
# JSON_FILES_PATH = "../json/" CSSFILE_WEB = "../css/bootstrap-4.0.0-beta-dist/css/bootstrap.css"
# OUTPUT = "../html/event.html" JSON_FILES_PATH = "../json/"
# JINJA_PATH = 'templates/' OUTPUT = "../html/event.html"
JINJA_PATH = 'templates/'
# PI # PI
JSON_FILES_PATH = "/media/data_1/www/pub-html/events/json/" # CSSFILE_WEB = "../../css/bootstrap-4.0.0-beta-dist/css/bootstrap.css"
OUTPUT = "/media/data_1/www/pub-html/events/index.html" # JSON_FILES_PATH = "/media/data_1/www/pub-html/events/json/"
JINJA_PATH = '/media/data_1/skripts/ofu-app-webskripts/ofu-food/templates/' # OUTPUT = "/media/data_1/www/pub-html/events/index.html"
# JINJA_PATH = '/media/data_1/skripts/ofu-app-webskripts/ofu-food/templates/'
def getJsonFromFile(path): def getJsonFromFile(path):
@ -24,23 +27,26 @@ def getJsonFromFile(path):
return json.load(file) return json.load(file)
def getTemplate():
env = Environment(loader=FileSystemLoader(JINJA_PATH))
return env.get_template(TEMPLATE_PATH)
def writeHtml(html):
with open(OUTPUT, "w") as file:
file.write(html)
def main(): def main():
ofuEventsJson = getJsonFromFile(JSON_FILES_PATH + "events-ofu.json") ofuEventsJson = getJsonFromFile(JSON_FILES_PATH + "events-ofu.json")
template = getTemplate()
env = Environment(loader=FileSystemLoader(JINJA_PATH))
template = env.get_template(TEMPLATE_PATH)
templateVars = { templateVars = {
"cssfile": CSSFILE_WEB, "cssfile": CSSFILE_WEB,
"events_wrapper": ofuEventsJson, "events_wrapper": ofuEventsJson,
} }
# Template Vars: cssfile, executiontime, erbaCafeteTitle, erbaWeekmenu, markusCafeteTitle, markusWeekmenu, austrMensaTitle, austrWeekmenu, fekiMensaTitle, fekiWeekmenu, happyHourDay, happyhours writeHtml(template.render(templateVars))
html = template.render(templateVars)
with open(OUTPUT, "w") as file:
file.write(html)
main() main()

View File

@ -6,7 +6,7 @@
<meta name="description" content="Sammelwebsite für Events universitärer- oder universitäts-naher Veranstaltungen"> <meta name="description" content="Sammelwebsite für Events universitärer- oder universitäts-naher Veranstaltungen">
<meta name="keywords" content="OFU, Otto-Friedrich, Universität, Bamberg, Events"> <meta name="keywords" content="OFU, Otto-Friedrich, Universität, Bamberg, Events">
<link rel="stylesheet" href=" {{ cssfile }} "> <link rel="stylesheet" href=" {{ cssfile }} ">
<title>Essen an der OFU</title> <title>Events an der OFU</title>
</head> </head>
<body> <body>
@ -21,7 +21,9 @@
<h4>{{ event.title }}</h4> <h4>{{ event.title }}</h4>
<p>Start: {{ event.startdate }} at {{ event.starttime }}</p> <p>Start: {{ event.startdate }} at {{ event.starttime }}</p>
<p>End: {{ event.enddate }} at {{ event.endtime }}</p> <p>End: {{ event.enddate }} at {{ event.endtime }}</p>
{# <p>Where: {{ event.rooms.room.UnivISRef['@key'] }}</p>#} {% if event.rooms %}
<p>Where: {{ event.rooms.room.short }}</p>
{% endif %}
<p>{{ event.description }}</p> <p>{{ event.description }}</p>
<p>Organisator: {{ event.orgname }}</p> <p>Organisator: {{ event.orgname }}</p>
</div> </div>