add first event handling

This commit is contained in:
Götz 2017-09-27 16:24:36 +02:00
parent 51e5c525ec
commit f482ea73c4
12 changed files with 12980 additions and 99 deletions

12478
html/event.html Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,7 @@
<html>
<head>
<meta http-equiv="refresh" content="60" >
</head>
<body>
<iframe src="https://isfswiaiopen.wiai.de/" width=100% height=100% frameborder=0 scrolling=no></iframe>

1
json/events-ofu.json Normal file

File diff suppressed because one or more lines are too long

1
json/ofu-events.json Normal file

File diff suppressed because one or more lines are too long

View File

@ -12,19 +12,22 @@
<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$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="1506521837432" 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$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_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$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 name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="mensa-page-parser.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/food/mensa-page-parser.py">
<file leaf-file-name="fekide-eventpage-parser.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/events/fekide-eventpage-parser.py">
<provider selected="true" editor-type-id="text-editor">
<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" />
<state relative-caret-position="820">
<caret line="41" column="4" lean-forward="false" selection-start-line="41" selection-start-column="4" selection-end-line="41" selection-end-column="24" />
<folding>
<element signature="e#0#15#0" expanded="true" />
</folding>
@ -32,22 +35,26 @@
</provider>
</entry>
</file>
<file leaf-file-name="css-install-skript.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/css-install-skript.py">
<file leaf-file-name="ofu-eventpage-parser.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/events/ofu-eventpage-parser.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="80">
<caret line="4" column="48" lean-forward="false" selection-start-line="4" selection-start-column="48" selection-end-line="4" selection-end-column="48" />
<folding />
<state relative-caret-position="315">
<caret line="20" column="13" lean-forward="false" selection-start-line="20" selection-start-column="13" selection-end-line="20" selection-end-column="13" />
<folding>
<element signature="e#0#15#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="foodplan-parser-controler.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/food/foodplan-parser-controler.py">
<file leaf-file-name="events.jinja" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/templates/events.jinja">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="160">
<caret line="8" column="54" lean-forward="false" selection-start-line="8" selection-start-column="54" selection-end-line="8" selection-end-column="54" />
<folding />
<state relative-caret-position="200">
<caret line="17" column="63" lean-forward="true" selection-start-line="17" selection-start-column="63" selection-end-line="17" selection-end-column="63" />
<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" />
</folding>
</state>
</provider>
</entry>
@ -55,18 +62,28 @@
<file leaf-file-name="food.jinja" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/templates/food.jinja">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="980">
<caret line="49" column="39" lean-forward="false" selection-start-line="49" selection-start-column="39" selection-end-line="49" selection-end-column="39" />
<state relative-caret-position="320">
<caret line="16" column="42" lean-forward="true" selection-start-line="0" selection-start-column="0" selection-end-line="80" selection-end-column="7" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="generator-food-page.py" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/food/generator-food-page.py">
<file leaf-file-name="eventpage-parser-controller.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/events/eventpage-parser-controller.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="396">
<caret line="18" column="0" lean-forward="false" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" />
<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>
</file>
<file leaf-file-name="html-generator.py" pinned="false" current-in-tab="true">
<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="73" lean-forward="false" selection-start-line="18" selection-start-column="73" selection-end-line="18" selection-end-column="73" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
@ -95,7 +112,12 @@
<option value="$PROJECT_DIR$/ofu-food.py" />
<option value="$PROJECT_DIR$/food/foodplan-parser-controler.py" />
<option value="$PROJECT_DIR$/templates/food.jinja" />
<option value="$PROJECT_DIR$/events/fekide-eventpage-parser.py" />
<option value="$PROJECT_DIR$/food/generator-food-page.py" />
<option value="$PROJECT_DIR$/events/ofu-eventpage-parser.py" />
<option value="$PROJECT_DIR$/templates/events.jinja" />
<option value="$PROJECT_DIR$/events/eventpage-parser-controller.py" />
<option value="$PROJECT_DIR$/html-generator.py" />
</list>
</option>
</component>
@ -125,8 +147,6 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scratches" />
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<PATH>
@ -167,8 +187,24 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="ofu-food" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="ofu-food" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="events" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="Scratches" />
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
@ -191,7 +227,7 @@
</list>
</option>
</component>
<component name="RunManager" selected="Python.generator-food-page">
<component name="RunManager" selected="Python.html-generator">
<configuration default="false" name="foodplan-parser-controler" type="PythonConfigurationType" factoryName="Python" temporary="true">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
@ -211,44 +247,6 @@
<option name="EMULATE_TERMINAL" value="false" />
<method />
</configuration>
<configuration default="false" name="cafete-page-parser" type="PythonConfigurationType" factoryName="Python" temporary="true">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="ofu-food" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/food/cafete-page-parser.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<method />
</configuration>
<configuration default="false" name="fekide-happyhour-page-parser" type="PythonConfigurationType" factoryName="Python" temporary="true">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="ofu-food" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/food/fekide-happyhour-page-parser.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<method />
</configuration>
<configuration default="false" name="generator-food-page" type="PythonConfigurationType" factoryName="Python" temporary="true">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
@ -268,7 +266,45 @@
<option name="EMULATE_TERMINAL" value="false" />
<method />
</configuration>
<configuration default="false" name="ofu-food" type="PythonConfigurationType" factoryName="Python" temporary="true">
<configuration default="false" name="ofu-eventpage-parser" type="PythonConfigurationType" factoryName="Python" temporary="true">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/events" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="ofu-food" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/events/ofu-eventpage-parser.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<method />
</configuration>
<configuration default="false" name="eventpage-parser-controller" type="PythonConfigurationType" factoryName="Python" temporary="true">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/events" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="ofu-food" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/events/eventpage-parser-controller.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<method />
</configuration>
<configuration default="false" name="html-generator" type="PythonConfigurationType" factoryName="Python" temporary="true">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
@ -281,7 +317,7 @@
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="ofu-food" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/food/ofu-food.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/html-generator.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
@ -437,18 +473,18 @@
</configuration>
<list size="5">
<item index="0" class="java.lang.String" itemvalue="Python.foodplan-parser-controler" />
<item index="1" class="java.lang.String" itemvalue="Python.cafete-page-parser" />
<item index="2" class="java.lang.String" itemvalue="Python.fekide-happyhour-page-parser" />
<item index="3" class="java.lang.String" itemvalue="Python.generator-food-page" />
<item index="4" class="java.lang.String" itemvalue="Python.ofu-food" />
<item index="1" class="java.lang.String" itemvalue="Python.generator-food-page" />
<item index="2" class="java.lang.String" itemvalue="Python.ofu-eventpage-parser" />
<item index="3" class="java.lang.String" itemvalue="Python.eventpage-parser-controller" />
<item index="4" class="java.lang.String" itemvalue="Python.html-generator" />
</list>
<recent_temporary>
<list size="5">
<item index="0" class="java.lang.String" itemvalue="Python.generator-food-page" />
<item index="1" class="java.lang.String" itemvalue="Python.foodplan-parser-controler" />
<item index="2" class="java.lang.String" itemvalue="Python.ofu-food" />
<item index="3" class="java.lang.String" itemvalue="Python.fekide-happyhour-page-parser" />
<item index="4" class="java.lang.String" itemvalue="Python.cafete-page-parser" />
<item index="0" class="java.lang.String" itemvalue="Python.html-generator" />
<item index="1" class="java.lang.String" itemvalue="Python.eventpage-parser-controller" />
<item index="2" class="java.lang.String" itemvalue="Python.ofu-eventpage-parser" />
<item index="3" class="java.lang.String" itemvalue="Python.generator-food-page" />
<item index="4" class="java.lang.String" itemvalue="Python.foodplan-parser-controler" />
</list>
</recent_temporary>
</component>
@ -469,17 +505,17 @@
<frame x="0" y="27" width="1920" height="1053" extended-state="7" />
<editor active="true" />
<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.25641027" 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="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="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="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="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32896176" sideWeight="0.5" order="6" 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="Terminal" 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="3" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" 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="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" 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="Data View" 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="0" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
<window_info id="Message" 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="4" side_tool="false" content_ui="tabs" />
@ -503,6 +539,138 @@
<watches-manager />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/food/mensa-page-parser.py">
<provider selected="true" editor-type-id="text-editor">
<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" />
<folding>
<element signature="e#0#15#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/css-install-skript.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="80">
<caret line="4" column="48" lean-forward="false" selection-start-line="4" selection-start-column="48" selection-end-line="4" selection-end-column="48" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/food/foodplan-parser-controler.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="160">
<caret line="8" column="54" lean-forward="false" selection-start-line="8" selection-start-column="54" selection-end-line="8" selection-end-column="54" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/food/generator-food-page.py">
<provider selected="true" editor-type-id="text-editor">
<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" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/templates/food.jinja">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="480">
<caret line="24" column="8" lean-forward="false" selection-start-line="24" selection-start-column="8" selection-end-line="24" selection-end-column="8" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/food/mensa-page-parser.py">
<provider selected="true" editor-type-id="text-editor">
<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" />
<folding>
<element signature="e#0#15#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/css-install-skript.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="80">
<caret line="4" column="48" lean-forward="false" selection-start-line="4" selection-start-column="48" selection-end-line="4" selection-end-column="48" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/food/foodplan-parser-controler.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="160">
<caret line="8" column="54" lean-forward="false" selection-start-line="8" selection-start-column="54" selection-end-line="8" selection-end-column="54" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/food/generator-food-page.py">
<provider selected="true" editor-type-id="text-editor">
<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" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/templates/food.jinja">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="480">
<caret line="24" column="8" lean-forward="false" selection-start-line="24" selection-start-column="8" selection-end-line="24" selection-end-column="8" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/food/mensa-page-parser.py">
<provider selected="true" editor-type-id="text-editor">
<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" />
<folding>
<element signature="e#0#15#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/css-install-skript.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="80">
<caret line="4" column="48" lean-forward="false" selection-start-line="4" selection-start-column="48" selection-end-line="4" selection-end-column="48" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/food/foodplan-parser-controler.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="160">
<caret line="8" column="54" lean-forward="false" selection-start-line="8" selection-start-column="54" selection-end-line="8" selection-end-column="54" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/templates/food.jinja">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="980">
<caret line="49" column="39" lean-forward="false" selection-start-line="49" selection-start-column="39" selection-end-line="49" selection-end-column="39" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/food/generator-food-page.py">
<provider selected="true" editor-type-id="text-editor">
<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" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/food/ofu-food.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="100">
@ -586,16 +754,6 @@
<entry file="file://$PROJECT_DIR$/Json_Files/austr-mensa.json" />
<entry file="file://$PROJECT_DIR$/food.html" />
<entry file="file://$PROJECT_DIR$/Json_Files/feki-happyhour-guide.json" />
<entry file="file://$PROJECT_DIR$/food/fekide-happyhour-page-parser.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="660">
<caret line="48" column="19" lean-forward="false" selection-start-line="48" selection-start-column="19" selection-end-line="48" selection-end-column="19" />
<folding>
<element signature="e#0#15#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/food/cafete-page-parser.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="336">
@ -616,13 +774,47 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/food/fekide-happyhour-page-parser.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-125">
<caret line="23" column="37" lean-forward="true" selection-start-line="23" selection-start-column="37" selection-end-line="23" selection-end-column="37" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/food/foodplan-parser-controler.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="320">
<caret line="16" column="0" lean-forward="true" selection-start-line="0" selection-start-column="0" selection-end-line="62" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/food/generator-food-page.py">
<provider selected="true" editor-type-id="text-editor">
<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" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/events/ofu-eventpage-parser.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="315">
<caret line="20" column="13" lean-forward="false" selection-start-line="20" selection-start-column="13" selection-end-line="20" selection-end-column="13" />
<folding>
<element signature="e#0#15#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/food/ofu-food.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="20">
<state relative-caret-position="-659">
<caret line="7" column="0" lean-forward="false" selection-start-line="7" selection-start-column="0" selection-end-line="7" selection-end-column="0" />
<folding>
<element signature="e#43#58#0" expanded="false" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -636,26 +828,46 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/food/foodplan-parser-controler.py">
<entry file="file://$PROJECT_DIR$/events/fekide-eventpage-parser.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="160">
<caret line="8" column="54" lean-forward="false" selection-start-line="8" selection-start-column="54" selection-end-line="8" selection-end-column="54" />
<folding />
<state relative-caret-position="820">
<caret line="41" column="4" lean-forward="false" selection-start-line="41" selection-start-column="4" selection-end-line="41" selection-end-column="24" />
<folding>
<element signature="e#0#15#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/templates/food.jinja">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="980">
<caret line="49" column="39" lean-forward="false" selection-start-line="49" selection-start-column="39" selection-end-line="49" selection-end-column="39" />
<state relative-caret-position="320">
<caret line="16" column="42" lean-forward="true" selection-start-line="0" selection-start-column="0" selection-end-line="80" selection-end-column="7" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/food/generator-food-page.py">
<entry file="file://$PROJECT_DIR$/templates/events.jinja">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="396">
<caret line="18" column="0" lean-forward="false" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" />
<state relative-caret-position="200">
<caret line="17" column="63" lean-forward="true" selection-start-line="17" selection-start-column="63" selection-end-line="17" selection-end-column="63" />
<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" />
</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="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$/html-generator.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="360">
<caret line="18" column="73" lean-forward="false" selection-start-line="18" selection-start-column="73" selection-end-line="18" selection-end-column="73" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>

View File

@ -0,0 +1,29 @@
import importlib
ofu_event_parser = importlib.import_module('ofu-eventpage-parser')
# fekide_event_parser = importlib.import_module('fekide-eventpage-parser')
# 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"
def writeToFile(jsonfile, filename):
with open((JSON_OUTPUT_DIR + filename), "w") as file:
file.write(jsonfile)
def main():
try:
ofuEventsJson = ofu_event_parser.parsePage(UNIVIS_RPG_URL)
except IndexError:
print("Error")
ofuEventsJson = {}
writeToFile(ofuEventsJson, "events-ofu.json")
# writeToFile(fekidehappyhourJson, "feki-happyhour-guide.json")
main()

View File

@ -0,0 +1,53 @@
import requests
from bs4 import BeautifulSoup
import datetime
import json
SPEISEPLAN_NAME_SELECTOR = '.csc-default .csc-header .csc-firstHeader'
def loadPage(url: str):
return requests.get(url).content
def getDay():
return datetime.datetime.today().strftime("%A, %d.%m.%Y")
def getHappyHours(soup):
happyhours = []
happyhourstable = soup.select('#food .table tr')
for tableline in happyhourstable:
happyhour = {}
linesoup = BeautifulSoup(str(tableline), "lxml")
location = linesoup.find("td", {"class": "location"}).getText()
time = linesoup.find("td", {"class": "time"}).getText()
description = linesoup.find("td", {"class": "description"}).getText()
description = str(description).strip()
happyhour['location'] = location
happyhour['time'] = time
happyhour['description'] = description
happyhours.append(happyhour)
return happyhours
def parsePage(url: str):
pagecontent = {}
# {
# happyhours:[{happyhour:{location: "",time: "",description: ""},,,,]
# }
happyhours = []
page = loadPage(url)
soup = BeautifulSoup(page, "lxml")
happyhours = getHappyHours(soup)
pagecontent['happyhours'] = happyhours
pagecontent['day'] = getDay()
jsondata = json.dumps(pagecontent)
return jsondata
# LINK_FEKIDE_GUIDE = "https://www.feki.de/happyhour/wochenuebersicht"
# parsePage(LINK_FEKIDE_GUIDE)

View File

@ -0,0 +1,25 @@
import requests
import datetime
import xmltodict
import json
def loadPage(url: str):
return requests.get(url).content
def getDay():
return datetime.datetime.today().strftime("%A, %d.%m.%Y")
def parsePage(url: str):
# {Univis: {'Event':[{,,,,},,,,]}}
page = loadPage(url)
dict = xmltodict.parse(page)
json_data = json.dumps(dict)
json_data = json.loads(json_data)
json_data['last_execute'] = getDay()
return json.dumps(json_data)
# UNIVIS_RPG_URL = "http://univis.uni-bamberg.de/prg?search=events&show=xml"
# parsePage(UNIVIS_RPG_URL)

View File

@ -0,0 +1,46 @@
import jinja2
import json
import datetime
from jinja2 import Environment, FileSystemLoader
# Config global
CSSFILE_WEB = "../css/bootstrap-4.0.0-beta-dist/css/bootstrap.css"
TEMPLATE_PATH = 'events.jinja'
# Config Thinkpad
# JSON_FILES_PATH = "../json/"
# OUTPUT = "../html/event.html"
# JINJA_PATH = 'templates/'
# PI
JSON_FILES_PATH = "/media/data_1/www/pub-html/events/json/"
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):
with open(path, "r") as file:
return json.load(file)
def main():
ofuEventsJson = getJsonFromFile(JSON_FILES_PATH + "events-ofu.json")
env = Environment(loader=FileSystemLoader(JINJA_PATH))
template = env.get_template(TEMPLATE_PATH)
templateVars = {
"cssfile": CSSFILE_WEB,
"events_wrapper": ofuEventsJson,
}
# Template Vars: cssfile, executiontime, erbaCafeteTitle, erbaWeekmenu, markusCafeteTitle, markusWeekmenu, austrMensaTitle, austrWeekmenu, fekiMensaTitle, fekiWeekmenu, happyHourDay, happyhours
html = template.render(templateVars)
with open(OUTPUT, "w") as file:
file.write(html)
main()

View File

@ -0,0 +1,35 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<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">
<link rel="stylesheet" href=" {{ cssfile }} ">
<title>Essen an der OFU</title>
</head>
<body>
<h1 class="text-center">Events for Students</h1>
<div class=".container">
<div class="row">
{% for event in events_wrapper.UnivIS.Event %}
<div class="col-4">
<div class="card text-white bg-success" style="height: 99%; width: 100%;">
<div class="card-body">
<h4>{{ event.title }}</h4>
<p>Start: {{ event.startdate }} at {{ event.starttime }}</p>
<p>End: {{ event.enddate }} at {{ event.endtime }}</p>
{# <p>Where: {{ event.rooms.room.UnivISRef['@key'] }}</p>#}
<p>{{ event.description }}</p>
<p>Organisator: {{ event.orgname }}</p>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
<p class="text-right">Last execute: {{ events_wrapper.last_execute }}</p>
</body>
</html>

View File

@ -22,7 +22,7 @@
<div class="col m-2 p-3 border border-info rounded">
<h2>{{ markusCafeteTitle }}</h2>
{% for menu in markusWeekmenu %}
<p><span>{{ menu.date }}</span><span>{{ menu.menu[0] }}</span></p>
<p><span>{{ menu.date }}</span><span>{{ menu.menu[0] }}</span></p>
{% endfor %}
</div>
</div>