integrate data collectors in apps
This commit is contained in:
parent
f94d0170ff
commit
0fcb726f92
133
.gitignore
vendored
133
.gitignore
vendored
@ -1,3 +1,19 @@
|
||||
# Created by https://www.gitignore.io/api/pycharm,python,django
|
||||
|
||||
### Django ###
|
||||
*.log
|
||||
*.pot
|
||||
*.pyc
|
||||
__pycache__/
|
||||
local_settings.py
|
||||
db.sqlite3
|
||||
media
|
||||
|
||||
# If your build process includes running collectstatic, then you probably don't need or want to include staticfiles/
|
||||
# in your Git repository. Update and uncomment the following line accordingly.
|
||||
# <django-project-name>/staticfiles/
|
||||
|
||||
### PyCharm ###
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
|
||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||
|
||||
@ -31,7 +47,7 @@ cmake-build-debug/
|
||||
## Plugin-specific files:
|
||||
|
||||
# IntelliJ
|
||||
out/
|
||||
/out/
|
||||
|
||||
# mpeltonen/sbt-idea plugin
|
||||
.idea_modules/
|
||||
@ -42,9 +58,124 @@ atlassian-ide-plugin.xml
|
||||
# Cursive Clojure plugin
|
||||
.idea/replstate.xml
|
||||
|
||||
# Ruby plugin and RubyMine
|
||||
/.rakeTasks
|
||||
|
||||
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||
com_crashlytics_export_strings.xml
|
||||
crashlytics.properties
|
||||
crashlytics-build.properties
|
||||
fabric.properties
|
||||
|
||||
### PyCharm Patch ###
|
||||
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
|
||||
|
||||
# *.iml
|
||||
# modules.xml
|
||||
# .idea/misc.xml
|
||||
# *.ipr
|
||||
|
||||
# Sonarlint plugin
|
||||
.idea/sonarlint
|
||||
|
||||
### Python ###
|
||||
# Byte-compiled / optimized / DLL files
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
||||
# Distribution / packaging
|
||||
.Python
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
wheels/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
|
||||
# PyInstaller
|
||||
# Usually these files are written by a python script from a template
|
||||
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||
*.manifest
|
||||
*.spec
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
htmlcov/
|
||||
.tox/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.cache
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
*.cover
|
||||
.hypothesis/
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
|
||||
# Django stuff:
|
||||
|
||||
# Flask stuff:
|
||||
instance/
|
||||
.webassets-cache
|
||||
|
||||
# Scrapy stuff:
|
||||
.scrapy
|
||||
|
||||
# Sphinx documentation
|
||||
docs/_build/
|
||||
|
||||
# PyBuilder
|
||||
target/
|
||||
|
||||
# Jupyter Notebook
|
||||
.ipynb_checkpoints
|
||||
|
||||
# pyenv
|
||||
.python-version
|
||||
|
||||
# celery beat schedule file
|
||||
celerybeat-schedule
|
||||
|
||||
# SageMath parsed files
|
||||
*.sage.py
|
||||
|
||||
# Environments
|
||||
.env
|
||||
.venv
|
||||
env/
|
||||
venv/
|
||||
ENV/
|
||||
env.bak/
|
||||
venv.bak/
|
||||
|
||||
# Spyder project settings
|
||||
.spyderproject
|
||||
.spyproject
|
||||
|
||||
# Rope project settings
|
||||
.ropeproject
|
||||
|
||||
# mkdocs documentation
|
||||
/site
|
||||
|
||||
# mypy
|
||||
.mypy_cache/
|
||||
|
||||
# End of https://www.gitignore.io/api/pycharm,python,django
|
||||
|
||||
|
||||
7
.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
7
.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
@ -0,0 +1,7 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="useProjectProfile" value="false" />
|
||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||
<version value="1.0" />
|
||||
</settings>
|
||||
</component>
|
||||
4
.idea/misc.xml
generated
Normal file
4
.idea/misc.xml
generated
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.5.3 (/usr/bin/python3.5)" project-jdk-type="Python SDK" />
|
||||
</project>
|
||||
8
.idea/modules.xml
generated
Normal file
8
.idea/modules.xml
generated
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/ofu-app.iml" filepath="$PROJECT_DIR$/.idea/ofu-app.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
18
.idea/ofu-app.iml
generated
Normal file
18
.idea/ofu-app.iml
generated
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
<component name="TemplatesService">
|
||||
<option name="TEMPLATE_FOLDERS">
|
||||
<list>
|
||||
<option value="$MODULE_DIR$/ofu_app/templates" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="TestRunnerService">
|
||||
<option name="PROJECT_TEST_RUNNER" value="Unittests" />
|
||||
</component>
|
||||
</module>
|
||||
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
561
ofu_app/.idea/workspace.xml
generated
561
ofu_app/.idea/workspace.xml
generated
@ -13,9 +13,10 @@
|
||||
<SUITE FILE_PATH="coverage/ofu_app$controller_json_food.coverage" NAME="controller-json-food Coverage Results" MODIFIED="1506703105217" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/data_collectors/food/json_generator" />
|
||||
<SUITE FILE_PATH="coverage/ofu_app$fekide_eventpage_parser.coverage" NAME="fekide-eventpage-parser Coverage Results" MODIFIED="1506732818806" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/data_collectors/events/parser" />
|
||||
<SUITE FILE_PATH="coverage/ofu_app$migrate_data__1_.coverage" NAME="migrate-data (1) Coverage Results" MODIFIED="1506734928822" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/data_collectors/events" />
|
||||
<SUITE FILE_PATH="coverage/ofu_app$collect_and_migrate.coverage" NAME="collect_and_migrate Coverage Results" MODIFIED="1506815482638" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/data_collectors" />
|
||||
<SUITE FILE_PATH="coverage/ofu_app$collect_and_migrate.coverage" NAME="collect_and_migrate Coverage Results" MODIFIED="1506956141616" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/data_collectors" />
|
||||
<SUITE FILE_PATH="coverage/ofu_app$migrate_data.coverage" NAME="migrate-data Coverage Results" MODIFIED="1506814046322" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/data_collectors/food" />
|
||||
<SUITE FILE_PATH="coverage/ofu_app$controller_json_events.coverage" NAME="controller-json-events Coverage Results" MODIFIED="1506733064332" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/data_collectors/events/json_generator" />
|
||||
<SUITE FILE_PATH="coverage/ofu_app$mensa_page_parser.coverage" NAME="mensa_page_parser Coverage Results" MODIFIED="1506961724724" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/apps/food/utils/parser" />
|
||||
</component>
|
||||
<component name="DjangoConsoleOptions" custom-start-script="import sys; print('Python %s on %s' % (sys.version, sys.platform)) import django; print('Django %s' % django.get_version()) sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS]) if 'setup' in dir(django): django.setup() import django_manage_shell; django_manage_shell.run(PROJECT_ROOT)">
|
||||
<option name="myCustomStartScript" value="import sys; print('Python %s on %s' % (sys.version, sys.platform)) import django; print('Django %s' % django.get_version()) sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS]) if 'setup' in dir(django): django.setup() import django_manage_shell; django_manage_shell.run(PROJECT_ROOT)" />
|
||||
@ -23,24 +24,24 @@
|
||||
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
|
||||
<component name="FileEditorManager">
|
||||
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
||||
<file leaf-file-name="settings.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/ofu_app/settings.py">
|
||||
<file leaf-file-name="views.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/apps/food/views.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="60">
|
||||
<caret line="15" column="0" lean-forward="false" selection-start-line="15" selection-start-column="0" selection-end-line="15" selection-end-column="70" />
|
||||
<folding />
|
||||
<state relative-caret-position="160">
|
||||
<caret line="12" column="58" lean-forward="false" selection-start-line="12" selection-start-column="58" selection-end-line="12" selection-end-column="58" />
|
||||
<folding>
|
||||
<element signature="e#24#63#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="models.py" pinned="false" current-in-tab="false">
|
||||
<file leaf-file-name="models.py" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/apps/food/models.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="200">
|
||||
<caret line="12" column="12" lean-forward="false" selection-start-line="12" selection-start-column="4" selection-end-line="12" selection-end-column="12" />
|
||||
<folding>
|
||||
<element signature="e#24#63#0" expanded="true" />
|
||||
</folding>
|
||||
<state relative-caret-position="356">
|
||||
<caret line="39" column="43" lean-forward="false" selection-start-line="39" selection-start-column="43" selection-end-line="39" selection-end-column="43" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
@ -55,76 +56,6 @@
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="collect_and_migrate.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/collect_and_migrate.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="100">
|
||||
<caret line="5" column="69" lean-forward="false" selection-start-line="5" selection-start-column="69" selection-end-line="5" selection-end-column="69" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="migrate-data.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/events/migrate-data.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="96">
|
||||
<caret line="12" column="2" lean-forward="false" selection-start-line="12" selection-start-column="2" selection-end-line="12" selection-end-column="2" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="controller-json-food.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/food/json_generator/controller-json-food.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="160">
|
||||
<caret line="8" column="24" lean-forward="true" selection-start-line="8" selection-start-column="24" selection-end-line="8" selection-end-column="46" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="controller-json-events.py" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/events/json_generator/controller-json-events.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="700">
|
||||
<caret line="35" column="33" lean-forward="false" selection-start-line="35" selection-start-column="33" selection-end-line="35" selection-end-column="33" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="food.jinja" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/templates/food/food.jinja">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="60">
|
||||
<caret line="3" column="11" lean-forward="false" selection-start-line="3" selection-start-column="11" selection-end-line="3" selection-end-column="11" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="week_events.jinja" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/templates/events/week_events.jinja">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="80">
|
||||
<caret line="4" column="11" lean-forward="false" selection-start-line="4" selection-start-column="11" selection-end-line="4" selection-end-column="11" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="base.jinja" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/templates/base.jinja">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="460">
|
||||
<caret line="23" column="24" lean-forward="false" selection-start-line="23" selection-start-column="17" selection-end-line="23" selection-end-column="24" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</component>
|
||||
<component name="FileTemplateManagerImpl">
|
||||
@ -152,7 +83,6 @@
|
||||
<option value="$PROJECT_DIR$/events/urls.py" />
|
||||
<option value="$PROJECT_DIR$/ofu_app/urls.py" />
|
||||
<option value="$PROJECT_DIR$/events/views.py" />
|
||||
<option value="$PROJECT_DIR$/ofu_app/settings.py" />
|
||||
<option value="$PROJECT_DIR$/food/views.py" />
|
||||
<option value="$PROJECT_DIR$/templates/base.jinja" />
|
||||
<option value="$PROJECT_DIR$/templates/events/week_events.jinja" />
|
||||
@ -160,9 +90,22 @@
|
||||
<option value="$PROJECT_DIR$/templates/food/food.jinja" />
|
||||
<option value="$PROJECT_DIR$/data_collectors/food/migrate-data.py" />
|
||||
<option value="$PROJECT_DIR$/data_collectors/events/migrate-data.py" />
|
||||
<option value="$PROJECT_DIR$/data_collectors/collect_and_migrate.py" />
|
||||
<option value="$PROJECT_DIR$/data_collectors/food/json_generator/controller-json-food.py" />
|
||||
<option value="$PROJECT_DIR$/apps/events/views.py" />
|
||||
<option value="$PROJECT_DIR$/data_collectors/events/json_generator/controller-json-events.py" />
|
||||
<option value="$PROJECT_DIR$/data_collectors/food/json_generator/controller-json-food.py" />
|
||||
<option value="$PROJECT_DIR$/data_collectors/collect_and_migrate.py" />
|
||||
<option value="$PROJECT_DIR$/apps/food/management/commands/import.py" />
|
||||
<option value="$PROJECT_DIR$/data_collectors/events/migrate_data.py" />
|
||||
<option value="$PROJECT_DIR$/apps/events/management/commands/import.py" />
|
||||
<option value="$PROJECT_DIR$/apps/events/utils/json_generator/controller_json_events.py" />
|
||||
<option value="$PROJECT_DIR$/apps/food/utils/json_generator/controller_json_food.py" />
|
||||
<option value="$PROJECT_DIR$/apps/food/utils/parser/mensa_page_parser.py" />
|
||||
<option value="$PROJECT_DIR$/apps/food/utils/migrate_data.py" />
|
||||
<option value="$PROJECT_DIR$/apps/events/admin.py" />
|
||||
<option value="$PROJECT_DIR$/ofu_app/settings.py" />
|
||||
<option value="$PROJECT_DIR$/apps/food/admin.py" />
|
||||
<option value="$PROJECT_DIR$/apps/food/views.py" />
|
||||
<option value="$PROJECT_DIR$/apps/food/models.py" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@ -192,6 +135,8 @@
|
||||
<foldersAlwaysOnTop value="true" />
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="Scratches" />
|
||||
<pane id="Scope" />
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<PATH>
|
||||
@ -204,126 +149,6 @@
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="ofu_app" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="ofu_app" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="data_collectors" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="ofu_app" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="ofu_app" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="data_collectors" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="food" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="ofu_app" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="ofu_app" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="data_collectors" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="food" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="json_generator" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="ofu_app" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="ofu_app" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="data_collectors" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="food" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="json_generator" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="jsons" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="ofu_app" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="ofu_app" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="data_collectors" />
|
||||
<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>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="ofu_app" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="ofu_app" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="data_collectors" />
|
||||
<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_ELEMENT>
|
||||
<option name="myItemId" value="json_generator" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="ofu_app" />
|
||||
@ -340,8 +165,6 @@
|
||||
</PATH>
|
||||
</subPane>
|
||||
</pane>
|
||||
<pane id="Scope" />
|
||||
<pane id="Scratches" />
|
||||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
@ -350,14 +173,19 @@
|
||||
<property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
|
||||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="MoveFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$/apps" />
|
||||
</key>
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$/apps/events" />
|
||||
<recent name="$PROJECT_DIR$/data_collectors/events/parser" />
|
||||
<recent name="$PROJECT_DIR$/food/static" />
|
||||
<recent name="$PROJECT_DIR$/data_collectors/food/parser" />
|
||||
</key>
|
||||
<key name="MoveFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$/apps/events/utils" />
|
||||
<recent name="$PROJECT_DIR$/apps/food/utils" />
|
||||
<recent name="$PROJECT_DIR$/apps/food" />
|
||||
<recent name="$PROJECT_DIR$/apps/food/management/utils" />
|
||||
<recent name="$PROJECT_DIR$/apps" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunDashboard">
|
||||
<option name="ruleStates">
|
||||
@ -371,7 +199,7 @@
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="RunManager" selected="Python.collect_and_migrate">
|
||||
<component name="RunManager" selected="Python.mensa_page_parser">
|
||||
<configuration default="false" name="migrate-data" type="PythonConfigurationType" factoryName="Python" activateToolWindowBeforeRun="false" temporary="true">
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
@ -385,7 +213,7 @@
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<module name="ofu_app" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/data_collectors/food/migrate-data.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/apps/food/utils/migrate_data.py" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
@ -404,26 +232,7 @@
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<module name="ofu_app" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/data_collectors/events/json_generator/controller-json-events.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-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="/usr/bin/python3.5" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/data_collectors/events/parser" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<module name="ofu_app" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/data_collectors/events/parser/fekide-eventpage-parser.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/data_collectors/events/json_generator/controller_json_events.py" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
@ -442,7 +251,7 @@
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<module name="ofu_app" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/data_collectors/events/migrate-data.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/apps/events/utils/migrate_data.py" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
@ -467,6 +276,25 @@
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="mensa_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="/usr/bin/python3.5" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/apps/food/utils/parser" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<module name="ofu_app" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/apps/food/utils/parser/mensa_page_parser.py" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="DjangoTestsConfigurationType" factoryName="Django tests">
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
@ -665,17 +493,17 @@
|
||||
<item index="0" class="java.lang.String" itemvalue="Django server.ofu_app" />
|
||||
<item index="1" class="java.lang.String" itemvalue="Python.migrate-data" />
|
||||
<item index="2" class="java.lang.String" itemvalue="Python.controller-json-events" />
|
||||
<item index="3" class="java.lang.String" itemvalue="Python.fekide-eventpage-parser" />
|
||||
<item index="4" class="java.lang.String" itemvalue="Python.migrate-data (1)" />
|
||||
<item index="5" class="java.lang.String" itemvalue="Python.collect_and_migrate" />
|
||||
<item index="3" class="java.lang.String" itemvalue="Python.migrate-data (1)" />
|
||||
<item index="4" class="java.lang.String" itemvalue="Python.collect_and_migrate" />
|
||||
<item index="5" class="java.lang.String" itemvalue="Python.mensa_page_parser" />
|
||||
</list>
|
||||
<recent_temporary>
|
||||
<list size="5">
|
||||
<item index="0" class="java.lang.String" itemvalue="Python.collect_and_migrate" />
|
||||
<item index="1" class="java.lang.String" itemvalue="Python.migrate-data" />
|
||||
<item index="2" class="java.lang.String" itemvalue="Python.migrate-data (1)" />
|
||||
<item index="3" class="java.lang.String" itemvalue="Python.controller-json-events" />
|
||||
<item index="4" class="java.lang.String" itemvalue="Python.fekide-eventpage-parser" />
|
||||
<item index="0" class="java.lang.String" itemvalue="Python.mensa_page_parser" />
|
||||
<item index="1" class="java.lang.String" itemvalue="Python.collect_and_migrate" />
|
||||
<item index="2" class="java.lang.String" itemvalue="Python.migrate-data" />
|
||||
<item index="3" class="java.lang.String" itemvalue="Python.migrate-data (1)" />
|
||||
<item index="4" class="java.lang.String" itemvalue="Python.controller-json-events" />
|
||||
</list>
|
||||
</recent_temporary>
|
||||
</component>
|
||||
@ -703,19 +531,18 @@
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<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.2628205" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.26602563" sideWeight="0.5" order="0" 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.32896176" sideWeight="0.5" order="6" 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="7" 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="3" 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="2" 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="7" 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="7" 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="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="1" 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="7" side_tool="false" 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="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="2" 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="3" side_tool="false" 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="3" 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="4" 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="0" side_tool="false" content_ui="tabs" />
|
||||
@ -734,11 +561,27 @@
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager>
|
||||
<option name="time" value="3" />
|
||||
<option name="time" value="4" />
|
||||
</breakpoint-manager>
|
||||
<watches-manager />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/templates/food/food.jinja">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="60">
|
||||
<caret line="3" column="11" lean-forward="false" selection-start-line="3" selection-start-column="11" selection-end-line="3" selection-end-column="11" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/collect_and_migrate.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="100">
|
||||
<caret line="5" column="72" lean-forward="true" selection-start-line="5" selection-start-column="72" selection-end-line="5" selection-end-column="72" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/ofu_app/settings.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="2980">
|
||||
@ -752,7 +595,7 @@
|
||||
<state relative-caret-position="200">
|
||||
<caret line="12" column="12" lean-forward="false" selection-start-line="12" selection-start-column="4" selection-end-line="12" selection-end-column="12" />
|
||||
<folding>
|
||||
<element signature="e#24#63#0" expanded="true" />
|
||||
<element signature="e#24#63#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
@ -769,7 +612,6 @@
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="80">
|
||||
<caret line="4" column="11" lean-forward="false" selection-start-line="4" selection-start-column="11" selection-end-line="4" selection-end-column="11" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
@ -777,7 +619,6 @@
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="460">
|
||||
<caret line="23" column="24" lean-forward="false" selection-start-line="23" selection-start-column="17" selection-end-line="23" selection-end-column="24" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
@ -810,7 +651,7 @@
|
||||
<state relative-caret-position="200">
|
||||
<caret line="12" column="12" lean-forward="false" selection-start-line="12" selection-start-column="4" selection-end-line="12" selection-end-column="12" />
|
||||
<folding>
|
||||
<element signature="e#24#63#0" expanded="true" />
|
||||
<element signature="e#24#63#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
@ -827,7 +668,6 @@
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="80">
|
||||
<caret line="4" column="11" lean-forward="false" selection-start-line="4" selection-start-column="11" selection-end-line="4" selection-end-column="11" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
@ -835,7 +675,6 @@
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="460">
|
||||
<caret line="23" column="24" lean-forward="false" selection-start-line="23" selection-start-column="17" selection-end-line="23" selection-end-column="24" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
@ -868,19 +707,19 @@
|
||||
<state relative-caret-position="480">
|
||||
<caret line="24" column="69" lean-forward="false" selection-start-line="24" selection-start-column="69" selection-end-line="24" selection-end-column="69" />
|
||||
<folding>
|
||||
<element signature="e#24#63#0" expanded="true" />
|
||||
<element signature="e#24#63#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/food/migrate-data.py">
|
||||
<entry file="file://$PROJECT_DIR$/apps/food/utils/migrate_data.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="20">
|
||||
<caret line="1" column="24" lean-forward="true" selection-start-line="1" selection-start-column="24" selection-end-line="1" selection-end-column="24" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/food/parser/cafete-page-parser.py">
|
||||
<entry file="file://$PROJECT_DIR$/apps/food/utils/parser/cafete_page_parser.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="0">
|
||||
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||
@ -900,34 +739,20 @@
|
||||
<state relative-caret-position="460">
|
||||
<caret line="23" column="4" lean-forward="false" selection-start-line="23" selection-start-column="4" selection-end-line="23" selection-end-column="4" />
|
||||
<folding>
|
||||
<element signature="e#24#63#0" expanded="true" />
|
||||
<element signature="e#24#63#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/food/static/bootstrap-4.0.0-beta-dist/js/bootstrap.js" />
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/food/parser/fekide-happyhour-page-parser.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-564">
|
||||
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/food/parser/mensa-page-parser.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-40">
|
||||
<caret line="22" column="25" lean-forward="false" selection-start-line="22" selection-start-column="25" selection-end-line="22" selection-end-column="25" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/events/parser/univis-json-prettifier.py">
|
||||
<entry file="file://$PROJECT_DIR$/apps/events/utils/parser/univis_json_prettifier.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="296">
|
||||
<caret line="136" column="29" lean-forward="false" selection-start-line="136" selection-start-column="20" selection-end-line="136" selection-end-column="29" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/events/parser/fekide-eventpage-parser.py">
|
||||
<entry file="file://$PROJECT_DIR$/apps/events/utils/parser/fekide_eventpage_parser.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1136">
|
||||
<caret line="71" column="2" lean-forward="false" selection-start-line="71" selection-start-column="2" selection-end-line="71" selection-end-column="2" />
|
||||
@ -969,34 +794,17 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/apps/events/views.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="160">
|
||||
<caret line="8" column="23" lean-forward="false" selection-start-line="8" selection-start-column="23" selection-end-line="8" selection-end-column="23" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/food/parser/cafete-page-parser.py">
|
||||
<entry file="file://$PROJECT_DIR$/apps/food/utils/parser/cafete_page_parser.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="180">
|
||||
<caret line="33" column="28" lean-forward="false" selection-start-line="33" selection-start-column="25" selection-end-line="33" selection-end-column="28" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/apps/food/views.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="120">
|
||||
<caret line="12" column="35" lean-forward="false" selection-start-line="12" selection-start-column="35" selection-end-line="12" selection-end-column="35" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/templates/events/week_events.jinja">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="80">
|
||||
<caret line="4" column="11" lean-forward="false" selection-start-line="4" selection-start-column="11" selection-end-line="4" selection-end-column="11" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
@ -1004,33 +812,6 @@
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="460">
|
||||
<caret line="23" column="24" lean-forward="false" selection-start-line="23" selection-start-column="17" selection-end-line="23" selection-end-column="24" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/ofu_app/settings.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="60">
|
||||
<caret line="15" column="0" lean-forward="false" selection-start-line="15" selection-start-column="0" selection-end-line="15" selection-end-column="70" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/apps/food/models.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="200">
|
||||
<caret line="12" column="12" lean-forward="false" selection-start-line="12" selection-start-column="4" selection-end-line="12" selection-end-column="12" />
|
||||
<folding>
|
||||
<element signature="e#24#63#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/templates/food/daily_food.jinja">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="80">
|
||||
<caret line="4" column="8" lean-forward="false" selection-start-line="4" selection-start-column="3" selection-end-line="4" selection-end-column="8" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
@ -1042,44 +823,162 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/food/migrate-data.py">
|
||||
<entry file="file://$PROJECT_DIR$/apps/events/utils/parser/univis_eventpage_parser.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="180">
|
||||
<caret line="12" column="2" lean-forward="false" selection-start-line="12" selection-start-column="2" selection-end-line="12" selection-end-column="2" />
|
||||
<state relative-caret-position="60">
|
||||
<caret line="6" column="74" lean-forward="false" selection-start-line="6" selection-start-column="18" selection-end-line="6" selection-end-column="74" />
|
||||
<folding>
|
||||
<element signature="e#0#15#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/collect_and_migrate.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="40">
|
||||
<caret line="2" column="0" lean-forward="false" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/apps/food/management/commands/import_food.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="260">
|
||||
<caret line="13" column="25" lean-forward="false" selection-start-line="13" selection-start-column="25" selection-end-line="13" selection-end-column="25" />
|
||||
<folding>
|
||||
<element signature="e#0#65#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/ofu_app/wsgi.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="0">
|
||||
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/apps/events/views.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="80">
|
||||
<caret line="4" column="23" lean-forward="false" selection-start-line="4" selection-start-column="23" selection-end-line="4" selection-end-column="23" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/apps/events/utils/migrate_data.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="617">
|
||||
<caret line="31" column="0" lean-forward="true" selection-start-line="31" selection-start-column="0" selection-end-line="31" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="e#0#11#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/events/migrate-data.py">
|
||||
<entry file="file://$PROJECT_DIR$/apps/events/management/commands/import_events.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="96">
|
||||
<caret line="12" column="2" lean-forward="false" selection-start-line="12" selection-start-column="2" selection-end-line="12" selection-end-column="2" />
|
||||
<state relative-caret-position="240">
|
||||
<caret line="12" column="39" lean-forward="false" selection-start-line="12" selection-start-column="39" selection-end-line="12" selection-end-column="39" />
|
||||
<folding>
|
||||
<element signature="e#0#65#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/apps/events/utils/json_generator/controller_json_events.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="660">
|
||||
<caret line="33" column="40" lean-forward="false" selection-start-line="33" selection-start-column="40" selection-end-line="33" selection-end-column="40" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/collect_and_migrate.py">
|
||||
<entry file="file://$PROJECT_DIR$/apps/food/utils/parser/mensa_page_parser.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="100">
|
||||
<caret line="5" column="69" lean-forward="false" selection-start-line="5" selection-start-column="69" selection-end-line="5" selection-end-column="69" />
|
||||
<state relative-caret-position="40">
|
||||
<caret line="5" column="0" lean-forward="false" selection-start-line="5" selection-start-column="0" selection-end-line="5" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/food/json_generator/controller-json-food.py">
|
||||
<entry file="file://$PROJECT_DIR$/templates/food/daily_food.jinja">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="80">
|
||||
<caret line="4" column="8" lean-forward="false" selection-start-line="4" selection-start-column="3" selection-end-line="4" selection-end-column="8" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/apps/food/utils/migrate_data.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="220">
|
||||
<caret line="29" column="30" lean-forward="true" selection-start-line="29" selection-start-column="30" selection-end-line="29" selection-end-column="30" />
|
||||
<folding>
|
||||
<element signature="e#0#11#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/apps/events/admin.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="60">
|
||||
<caret line="3" column="25" lean-forward="false" selection-start-line="3" selection-start-column="25" selection-end-line="3" selection-end-column="25" />
|
||||
<folding>
|
||||
<element signature="e#0#32#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/ofu_app/settings.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="240">
|
||||
<caret line="39" column="1" lean-forward="false" selection-start-line="39" selection-start-column="1" selection-end-line="39" selection-end-column="1" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/apps/food/admin.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="180">
|
||||
<caret line="9" column="29" lean-forward="false" selection-start-line="9" selection-start-column="29" selection-end-line="9" selection-end-column="29" />
|
||||
<folding>
|
||||
<element signature="e#24#63#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/apps/food/views.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="160">
|
||||
<caret line="8" column="24" lean-forward="true" selection-start-line="8" selection-start-column="24" selection-end-line="8" selection-end-column="46" />
|
||||
<caret line="12" column="58" lean-forward="false" selection-start-line="12" selection-start-column="58" selection-end-line="12" selection-end-column="58" />
|
||||
<folding>
|
||||
<element signature="e#24#63#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/apps/food/utils/parser/fekide_happyhour_page_parser.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-564">
|
||||
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/events/json_generator/controller-json-events.py">
|
||||
<entry file="file://$PROJECT_DIR$/apps/food/utils/json_generator/controller_json_food.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="700">
|
||||
<caret line="35" column="33" lean-forward="false" selection-start-line="35" selection-start-column="33" selection-end-line="35" selection-end-column="33" />
|
||||
<state relative-caret-position="200">
|
||||
<caret line="10" column="21" lean-forward="true" selection-start-line="10" selection-start-column="21" selection-end-line="10" selection-end-column="50" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/apps/food/models.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="356">
|
||||
<caret line="39" column="43" lean-forward="false" selection-start-line="39" selection-start-column="43" selection-end-line="39" selection-end-column="43" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
|
||||
Binary file not shown.
@ -1,3 +1,4 @@
|
||||
from django.contrib import admin
|
||||
|
||||
from apps.events.models import Event
|
||||
# Register your models here.
|
||||
admin.site.register(Event)
|
||||
16
ofu_app/apps/events/management/commands/import_events.py
Normal file
16
ofu_app/apps/events/management/commands/import_events.py
Normal file
@ -0,0 +1,16 @@
|
||||
from django.core.management.base import BaseCommand, CommandError
|
||||
from apps.events.models import Event
|
||||
from apps.events.utils.json_generator import controller_json_events
|
||||
from apps.events.utils import migrate_data
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
help = "Imports Food from special Websites"
|
||||
|
||||
def add_arguments(self, parser):
|
||||
pass
|
||||
|
||||
def handle(self, *args, **options):
|
||||
controller_json_events.main("apps/events/utils/json_generator/jsons/")
|
||||
migrate_data.main("apps/events/utils/json_generator/jsons/")
|
||||
self.stdout.write(self.style.SUCCESS('Successfully migrate data'))
|
||||
@ -0,0 +1,38 @@
|
||||
from apps.events.utils.parser import fekide_eventpage_parser, univis_eventpage_parser, univis_json_prettifier
|
||||
|
||||
# CONFIG
|
||||
JSON_OUTPUT_DIR_EVENTS = "./events/json_generator/jsons/"
|
||||
|
||||
|
||||
def writeToFile(jsonfile, root, filename):
|
||||
with open((root + filename), "w") as file:
|
||||
file.write(jsonfile)
|
||||
|
||||
|
||||
def main(path=JSON_OUTPUT_DIR_EVENTS):
|
||||
try:
|
||||
json_events_univis = univis_eventpage_parser.parsePage()
|
||||
except Exception as err:
|
||||
print(err.args)
|
||||
json_events_univis = "{}"
|
||||
|
||||
writeToFile(json_events_univis, path, "events-univis.json")
|
||||
|
||||
try:
|
||||
json_events_univis_pretty = univis_json_prettifier.prettify(path + "events-univis.json")
|
||||
except Exception as err:
|
||||
print(err.args)
|
||||
json_events_univis_pretty = "{}"
|
||||
|
||||
try:
|
||||
json_events_fekide = fekide_eventpage_parser.parsePage()
|
||||
except:
|
||||
print("Error")
|
||||
json_events_fekide = "{}"
|
||||
|
||||
writeToFile(json_events_univis_pretty, path, "events-univis-pretty.json")
|
||||
writeToFile(json_events_fekide, path, "events-fekide.json")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
File diff suppressed because one or more lines are too long
@ -1,13 +1,8 @@
|
||||
import json
|
||||
from datetime import datetime
|
||||
from pprint import pprint
|
||||
|
||||
import django
|
||||
import os
|
||||
from django.db.utils import IntegrityError
|
||||
|
||||
os.environ['DJANGO_SETTINGS_MODULE'] = 'ofu_app.settings'
|
||||
django.setup()
|
||||
from apps.events.models import Event
|
||||
|
||||
# JSON_FILES_PATH_EVENTS = "json_generator/jsons/"
|
||||
@ -31,11 +26,12 @@ def writeFekideDataInDB(data):
|
||||
break
|
||||
|
||||
|
||||
def main():
|
||||
def main(path=JSON_FILES_PATH_EVENTS):
|
||||
# get food jsons
|
||||
writeFekideDataInDB(getJsonFromFile(JSON_FILES_PATH_EVENTS + "events-fekide.json"))
|
||||
writeFekideDataInDB(getJsonFromFile(path + "events-fekide.json"))
|
||||
|
||||
pprint("Event: " + str(Event.objects.count()))
|
||||
|
||||
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -2,5 +2,10 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.contrib import admin
|
||||
from apps.food.models import SingleFood, Menu, HappyHour
|
||||
|
||||
# Register your models here.
|
||||
admin.site.register(SingleFood)
|
||||
admin.site.register(Menu)
|
||||
admin.site.register(HappyHour)
|
||||
|
||||
|
||||
15
ofu_app/apps/food/management/commands/import_food.py
Normal file
15
ofu_app/apps/food/management/commands/import_food.py
Normal file
@ -0,0 +1,15 @@
|
||||
from django.core.management.base import BaseCommand, CommandError
|
||||
from apps.food.models import Menu, HappyHour, SingleFood
|
||||
from apps.food.utils.json_generator import controller_json_food
|
||||
from apps.food.utils import migrate_data
|
||||
|
||||
class Command(BaseCommand):
|
||||
help = "Imports Food from special Websites"
|
||||
|
||||
def add_arguments(self, parser):
|
||||
pass
|
||||
|
||||
def handle(self, *args, **options):
|
||||
controller_json_food.main("apps/food/utils/json_generator/jsons/")
|
||||
migrate_data.main("apps/food/utils/json_generator/jsons/")
|
||||
|
||||
@ -13,6 +13,9 @@ class Menu(models.Model):
|
||||
location = models.CharField(max_length=MAX_LENGTH)
|
||||
menu = models.ManyToManyField("SingleFood")
|
||||
|
||||
def __str__(self):
|
||||
return str(self.date.strftime("%d.%m.%Y"))
|
||||
|
||||
class Meta:
|
||||
unique_together = ('date', 'location')
|
||||
|
||||
@ -21,6 +24,9 @@ class SingleFood(models.Model):
|
||||
id = models.AutoField(primary_key=True)
|
||||
name = models.CharField(unique=True, max_length=MAX_LENGTH)
|
||||
|
||||
def __str__(self):
|
||||
return str(self.name)
|
||||
|
||||
|
||||
class HappyHour(models.Model):
|
||||
id = models.AutoField(primary_key=True)
|
||||
@ -30,5 +36,8 @@ class HappyHour(models.Model):
|
||||
location = models.CharField(max_length=MAX_LENGTH)
|
||||
description = models.CharField(max_length=MAX_LENGTH)
|
||||
|
||||
def __str__(self):
|
||||
return "Date: %s, Location: %s" % (self.date.strftime("%Y.%m.%d"), self.location)
|
||||
|
||||
class Meta:
|
||||
unique_together = ('date', 'location')
|
||||
|
||||
0
ofu_app/apps/food/utils/__init__.py
Normal file
0
ofu_app/apps/food/utils/__init__.py
Normal file
0
ofu_app/apps/food/utils/json_generator/__init__.py
Normal file
0
ofu_app/apps/food/utils/json_generator/__init__.py
Normal file
@ -1,9 +1,4 @@
|
||||
import importlib
|
||||
|
||||
# OWN MODULS
|
||||
parser_food_mensa = importlib.import_module('data_collectors.food.parser.mensa-page-parser')
|
||||
parser_food_cafete = importlib.import_module('data_collectors.food.parser.cafete-page-parser')
|
||||
parser_food_fekidehappyhour = importlib.import_module('data_collectors.food.parser.fekide-happyhour-page-parser')
|
||||
from apps.food.utils.parser import mensa_page_parser, cafete_page_parser, fekide_happyhour_page_parser
|
||||
|
||||
# CONFIG
|
||||
JSON_OUTPUT_DIR_FOOD = "./food/json_generator/jsons/"
|
||||
@ -21,44 +16,45 @@ def writeToFile(jsonfile, root, filename):
|
||||
file.write(jsonfile)
|
||||
|
||||
|
||||
def main():
|
||||
def main(path=JSON_OUTPUT_DIR_FOOD):
|
||||
try:
|
||||
json_food_mensa_feki = parser_food_mensa.parsePage(LINK_FEKI_MENSA)
|
||||
json_food_mensa_feki = mensa_page_parser.parsePage(LINK_FEKI_MENSA)
|
||||
|
||||
except IndexError:
|
||||
print("Error")
|
||||
json_food_mensa_feki = {}
|
||||
|
||||
try:
|
||||
json_food_mensa_austr = parser_food_mensa.parsePage(LINK_AUSTR_MENSA)
|
||||
json_food_mensa_austr = mensa_page_parser.parsePage(LINK_AUSTR_MENSA)
|
||||
except IndexError:
|
||||
print("Error")
|
||||
json_food_mensa_austr = {}
|
||||
|
||||
try:
|
||||
json_food_cafete_erba = parser_food_cafete.parsePage(LINK_ERBA_CAFETE)
|
||||
json_food_cafete_erba = cafete_page_parser.parsePage(LINK_ERBA_CAFETE)
|
||||
except IndexError:
|
||||
print("Error")
|
||||
json_food_cafete_erba = {}
|
||||
|
||||
try:
|
||||
json_food_cafete_markus = parser_food_cafete.parsePage(LINK_MARKUS_CAFETE)
|
||||
json_food_cafete_markus = cafete_page_parser.parsePage(LINK_MARKUS_CAFETE)
|
||||
except IndexError:
|
||||
print("Error")
|
||||
json_food_cafete_markus = {}
|
||||
|
||||
try:
|
||||
json_food_fekidehappyhours = parser_food_fekidehappyhour.parsePage(LINK_FEKIDE_GUIDE)
|
||||
json_food_fekidehappyhours = fekide_happyhour_page_parser.parsePage(LINK_FEKIDE_GUIDE)
|
||||
except IndexError:
|
||||
print("Error")
|
||||
json_food_fekidehappyhours = {}
|
||||
|
||||
# WRITE JSONS
|
||||
writeToFile(json_food_mensa_feki, JSON_OUTPUT_DIR_FOOD, "mensa-feki.json")
|
||||
writeToFile(json_food_mensa_austr, JSON_OUTPUT_DIR_FOOD, "mensa-austr.json")
|
||||
writeToFile(json_food_cafete_erba, JSON_OUTPUT_DIR_FOOD, "cafete-erba.json")
|
||||
writeToFile(json_food_cafete_markus, JSON_OUTPUT_DIR_FOOD, "cafete-markus.json")
|
||||
writeToFile(json_food_fekidehappyhours, JSON_OUTPUT_DIR_FOOD, "happyhourguide-fekide.json")
|
||||
writeToFile(json_food_mensa_feki, path, "mensa-feki.json")
|
||||
writeToFile(json_food_mensa_austr, path, "mensa-austr.json")
|
||||
writeToFile(json_food_cafete_erba, path, "cafete-erba.json")
|
||||
writeToFile(json_food_cafete_markus, path, "cafete-markus.json")
|
||||
writeToFile(json_food_fekidehappyhours, path, "happyhourguide-fekide.json")
|
||||
|
||||
|
||||
main()
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@ -0,0 +1 @@
|
||||
{"execution_time": "Monday, 02.10.2017", "name": "Cafeteria Erba-Insel", "weekmenu": [{"date": "24.07.", "menu": ["Rinderhacksteak an Cognacso\u00dfe und Sp\u00e4tzle"]}, {"date": "25.07.", "menu": ["Gem\u00fcseschnitzel mit Kr\u00e4utercreme und Kartoffeln"]}, {"date": "26.07.", "menu": ["Penne-Nudeln mit Hackfleischso\u00dfe"]}, {"date": "27.07.", "menu": ["Kaiserschmarrn mit Apfelmus"]}]}
|
||||
@ -0,0 +1 @@
|
||||
{"execution_time": "Monday, 02.10.2017", "name": "Cafeteria Markusplatz", "weekmenu": [{"date": "24.07.", "menu": ["Vegetarisches Chili sin Carne"]}, {"date": "25.07.", "menu": ["Gem\u00fcseschnitzel mit Kr\u00e4utercreme und Kartoffeln"]}, {"date": "26.07.", "menu": ["\u00dcberbackene Zucchini an Paprikaso\u00dfe mit P\u00fcree"]}, {"date": "27.07.", "menu": ["Kaiserschmarrn mit Apfelmus"]}]}
|
||||
@ -0,0 +1 @@
|
||||
{"execution_time": "Monday, 02.10.2017", "happyhours": [{"description": "Panini f\u00fcr je 4,50 \u20ac", "time": "12:00 - 22:00", "location": "Caf\u00e9 Esspress"}, {"description": "Salat-Tag: Varianten f\u00fcr je 6 \u20ac", "time": "16:00 - 23:59", "location": "Bowlinghaus Bamberg"}, {"description": "Jede Pizza nur 5,20\u20ac", "time": "17:00 - 21:00", "location": "Cafe Arte"}, {"description": "Jede Tapa - 2,50 \u20ac", "time": "17:00 - 21:00", "location": "Bolero"}, {"description": "Schnitzel + 0,2l Getr\u00e4nk 7,90 \u20ac", "time": "17:30 - 21:30", "location": "Luitpold"}, {"description": "Riesen-Pizzen 12,50 \u20ac", "time": "18:00 - 21:00", "location": "Aposto"}, {"description": "1 Paar Bradw\u00f6rschd, 1 Ah\u00f6rnla Bier + Beilage ab 7,50 \u20ac", "time": "19:00 - 22:00", "location": "Ah\u00f6rnla im Sand"}, {"description": "Jede Pizza 4,90 \u20ac", "time": "19:00 - 01:00", "location": "Mainfranken Bowling"}], "day": "Monday, 02.10.2017"}
|
||||
@ -0,0 +1 @@
|
||||
{"execution_time": "Monday, 02.10.2017", "name": "Speiseplan f\u00fcr Austra\u00dfe Bamberg", "weekmenu": [{"date": "02.10.", "menu": ["Pennenudeln mit Lachs, Spinat und Kirschtomaten", "Rinderhacksteak mit Cognac - Pfefferso\u00dfe", "Schneller Teller: H\u00e4hnchenspie\u00df mit Gefl\u00fcgelso\u00dfe, Bratkartoffeln und Blumenkohl", "Kartoffelgnocchi - Gem\u00fcsepfanne", "Dampfkartoffeln mit hausgemachtem Schnittlauchquark"]}, {"date": "03.10.", "menu": []}, {"date": "04.10.", "menu": ["Siebenschwabenplatte mit Bratenso\u00dfe", "Putenbrustgeschnetzeltes in Pilzrahm", "Schneller Teller: Veganes Soja - Gem\u00fcsegeschnetzeltes mit Penine Rigate, Apfel", "\u00dcberbackene Zucchini \"mediterrane Art\" an Paprikaso\u00dfe"]}, {"date": "05.10.", "menu": ["Chicken Burger mit Ananas Currydip", "Schneller Teller: Paprikagulsch vom Schwein mit Spiralnudeln und Rosenkohl", "Nudelgem\u00fcseauflauf", "Pizza \"Spinat & Hirtenk\u00e4se\""]}, {"date": "06.10.", "menu": ["Schneller Teller: Seelachsfilet an \"S\u00fc\u00df - Scharfer\" Tomatenso\u00dfe, Langkornreis und Brokkoli", "Gyros mit hausgemachtem Tsatsiki", "Green Tacos mit Walnuss - Chili - P\u00e2t\u00e9", "Kartoffel Broccoli Gratin"]}]}
|
||||
@ -0,0 +1 @@
|
||||
{"execution_time": "Monday, 02.10.2017", "name": "Speiseplan f\u00fcr Feldkirchenstra\u00dfe Bamberg", "weekmenu": [{"date": "02.10.", "menu": ["Rinderhacksteak mit Cognac - Pfefferso\u00dfe", "Schneller Teller: H\u00e4hnchenspie\u00df mit Gefl\u00fcgelso\u00dfe, Bratkartoffeln und Blumenkohl", "Kartoffelgnocchi - Gem\u00fcsepfanne", "Dampfkartoffeln mit hausgemachtem Schnittlauchquark"]}, {"date": "03.10.", "menu": []}, {"date": "04.10.", "menu": ["Siebenschwabenplatte mit Bratenso\u00dfe", "Putenbrustgeschnetzeltes in Pilzrahm", "Schneller Teller: Veganes Soja - Gem\u00fcsegeschnetzeltes mit Penine Rigate, Apfel", "\u00dcberbackene Zucchini \"mediterrane Art\" an Paprikaso\u00dfe"]}, {"date": "05.10.", "menu": ["Chicken Burger mit Ananas Currydip", "Schneller Teller: Paprikagulsch vom Schwein mit Spiralnudeln und Rosenkohl", "Nudelgem\u00fcseauflauf", "Pizza \"Spinat & Hirtenk\u00e4se\""]}, {"date": "06.10.", "menu": ["Schneller Teller: Seelachsfilet an \"S\u00fc\u00df - Scharfer\" Tomatenso\u00dfe, Langkornreis und Brokkoli", "Gyros mit hausgemachtem Tsatsiki", "Green Tacos mit Walnuss - Chili - P\u00e2t\u00e9", "Kartoffel Broccoli Gratin"]}]}
|
||||
@ -1,13 +1,7 @@
|
||||
import json
|
||||
from datetime import datetime
|
||||
from pprint import pprint
|
||||
|
||||
import django
|
||||
import os
|
||||
from django.db.utils import IntegrityError
|
||||
|
||||
os.environ['DJANGO_SETTINGS_MODULE'] = 'ofu_app.settings'
|
||||
django.setup()
|
||||
from apps.food.models import SingleFood, Menu, HappyHour
|
||||
|
||||
# JSON_FILES_PATH_FOOD = "json_generator/jsons/"
|
||||
@ -32,6 +26,7 @@ def writeStudentenwerkDataInDB(data):
|
||||
menu = Menu.objects.create(location=data['name'],
|
||||
date=date)
|
||||
menu.menu = foodlist
|
||||
menu.save()
|
||||
except IntegrityError:
|
||||
# ignored
|
||||
break
|
||||
@ -50,18 +45,19 @@ def writeFekideDataInDB(data):
|
||||
break
|
||||
|
||||
|
||||
def main():
|
||||
def main(path=JSON_FILES_PATH_FOOD):
|
||||
# get food jsons
|
||||
writeStudentenwerkDataInDB(getJsonFromFile(JSON_FILES_PATH_FOOD + "mensa-austr.json"))
|
||||
writeStudentenwerkDataInDB(getJsonFromFile(JSON_FILES_PATH_FOOD + "cafete-erba.json"))
|
||||
writeStudentenwerkDataInDB(getJsonFromFile(JSON_FILES_PATH_FOOD + "cafete-markus.json"))
|
||||
writeStudentenwerkDataInDB(getJsonFromFile(JSON_FILES_PATH_FOOD + "mensa-feki.json"))
|
||||
writeStudentenwerkDataInDB(getJsonFromFile(path + "mensa-austr.json"))
|
||||
writeStudentenwerkDataInDB(getJsonFromFile(path + "cafete-erba.json"))
|
||||
writeStudentenwerkDataInDB(getJsonFromFile(path + "cafete-markus.json"))
|
||||
writeStudentenwerkDataInDB(getJsonFromFile(path + "mensa-feki.json"))
|
||||
|
||||
json_food_fekide = getJsonFromFile(JSON_FILES_PATH_FOOD + "happyhourguide-fekide.json")
|
||||
json_food_fekide = getJsonFromFile(path + "happyhourguide-fekide.json")
|
||||
writeFekideDataInDB(json_food_fekide)
|
||||
pprint("SingleFood: " + str(SingleFood.objects.count()))
|
||||
pprint("Menu: " + str(Menu.objects.count()))
|
||||
pprint("HappyHour: " + str(HappyHour.objects.count()))
|
||||
|
||||
|
||||
main()
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
0
ofu_app/apps/food/utils/parser/__init__.py
Normal file
0
ofu_app/apps/food/utils/parser/__init__.py
Normal file
@ -3,6 +3,8 @@ from bs4 import BeautifulSoup
|
||||
import json
|
||||
import datetime
|
||||
|
||||
FEKI_URL = "https://www.studentenwerk-wuerzburg.de/bamberg/essen-trinken/speiseplaene.html?tx_thmensamenu_pi2%5Bmensen%5D=3&tx_thmensamenu_pi2%5Baction%5D=show&tx_thmensamenu_pi2%5Bcontroller%5D=Speiseplan&cHash=c3fe5ebb35e5fba3794f01878e798b7c"
|
||||
|
||||
|
||||
def loadPage(url: str):
|
||||
return requests.get(url).content
|
||||
@ -41,6 +43,7 @@ def parsePage(url: str):
|
||||
mensaSpeiseplan['weekmenu'] = days
|
||||
mensaSpeiseplan['name'] = foodplan_name
|
||||
mensaSpeiseplan['execution_time'] = datetime.datetime.today().strftime("%A, %d.%m.%Y")
|
||||
# print(mensaSpeiseplan)
|
||||
mensaSpeiseplanJson = json.dumps(mensaSpeiseplan)
|
||||
return mensaSpeiseplanJson
|
||||
|
||||
@ -48,3 +51,4 @@ def parsePage(url: str):
|
||||
def getFoodplanName(soup):
|
||||
foodplan_name = soup.select('.mensamenu h2')[0].getText()
|
||||
return foodplan_name
|
||||
# parsePage(FEKI_URL)
|
||||
@ -10,13 +10,14 @@ from apps.food.models import Menu, HappyHour
|
||||
|
||||
# Create your views here.
|
||||
def daily_food(request):
|
||||
today = datetime.datetime.now()
|
||||
today = datetime.datetime.now() + datetime.timedelta(2)
|
||||
daily_menus = Menu.objects.filter(date__exact=today)
|
||||
feki_menu = daily_menus.filter(location__contains="Feldkirchenstraße").last()
|
||||
austr_menu = daily_menus.filter(location__contains="Austraße").last()
|
||||
erba_cafete = daily_menus.filter(location__contains="Erba").last()
|
||||
markus_cafete = daily_menus.filter(location__contains="markus").last()
|
||||
happy_hours = HappyHour.objects.filter(date__exact=today)
|
||||
print(feki_menu.menu)
|
||||
return render(request, "food/daily_food.jinja", {
|
||||
'day': today,
|
||||
'happy_hours': happy_hours,
|
||||
|
||||
Binary file not shown.
@ -1,7 +0,0 @@
|
||||
import importlib
|
||||
|
||||
importlib.import_module('food.json_generator.controller-json-food')
|
||||
importlib.import_module('food.migrate-data')
|
||||
|
||||
importlib.import_module('events.json_generator.controller-json-events')
|
||||
importlib.import_module('events.migrate-data')
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,42 +0,0 @@
|
||||
import importlib
|
||||
|
||||
# OWN MODULS
|
||||
parser_event_univis = importlib.import_module('data_collectors.events.parser.univis-eventpage-parser')
|
||||
parser_event_univis_pretty = importlib.import_module('data_collectors.events.parser.univis-json-prettifier')
|
||||
parser_event_fekide = importlib.import_module('data_collectors.events.parser.fekide-eventpage-parser')
|
||||
|
||||
# CONFIG
|
||||
JSON_OUTPUT_DIR_EVENTS = "./events/json_generator/jsons/"
|
||||
|
||||
|
||||
def writeToFile(jsonfile, root, filename):
|
||||
with open((root + filename), "w") as file:
|
||||
file.write(jsonfile)
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
json_events_univis = parser_event_univis.parsePage()
|
||||
except:
|
||||
print("Error")
|
||||
json_events_univis = "{}"
|
||||
|
||||
writeToFile(json_events_univis, JSON_OUTPUT_DIR_EVENTS, "events-univis.json")
|
||||
|
||||
try:
|
||||
json_events_univis_pretty = parser_event_univis_pretty.prettify(JSON_OUTPUT_DIR_EVENTS + "events-univis.json")
|
||||
except:
|
||||
print("Error")
|
||||
json_events_univis_pretty = "{}"
|
||||
|
||||
try:
|
||||
json_events_fekide = parser_event_fekide.parsePage()
|
||||
except:
|
||||
print("Error")
|
||||
json_events_fekide = "{}"
|
||||
|
||||
writeToFile(json_events_univis_pretty, JSON_OUTPUT_DIR_EVENTS, "events-univis-pretty.json")
|
||||
writeToFile(json_events_fekide, JSON_OUTPUT_DIR_EVENTS, "events-fekide.json")
|
||||
|
||||
|
||||
main()
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@
|
||||
{"weekmenu": [{"menu": ["Rinderhacksteak an Cognacso\u00dfe und Sp\u00e4tzle"], "date": "24.07."}, {"menu": ["Gem\u00fcseschnitzel mit Kr\u00e4utercreme und Kartoffeln"], "date": "25.07."}, {"menu": ["Penne-Nudeln mit Hackfleischso\u00dfe"], "date": "26.07."}, {"menu": ["Kaiserschmarrn mit Apfelmus"], "date": "27.07."}], "execution_time": "Monday, 02.10.2017", "name": "Cafeteria Erba-Insel"}
|
||||
@ -1 +0,0 @@
|
||||
{"weekmenu": [{"menu": ["Vegetarisches Chili sin Carne"], "date": "24.07."}, {"menu": ["Gem\u00fcseschnitzel mit Kr\u00e4utercreme und Kartoffeln"], "date": "25.07."}, {"menu": ["\u00dcberbackene Zucchini an Paprikaso\u00dfe mit P\u00fcree"], "date": "26.07."}, {"menu": ["Kaiserschmarrn mit Apfelmus"], "date": "27.07."}], "execution_time": "Monday, 02.10.2017", "name": "Cafeteria Markusplatz"}
|
||||
@ -1 +0,0 @@
|
||||
{"day": "Monday, 02.10.2017", "execution_time": "Monday, 02.10.2017", "happyhours": [{"time": "11:00 - 18:00", "location": "Fritz Heaven", "description": "10% Rabatt auf Beefburger & belg. Fritten"}, {"time": "12:00 - 22:00", "location": "Caf\u00e9 Esspress", "description": "Panini f\u00fcr je 4,50 \u20ac"}, {"time": "15:00 - 17:30", "location": "Orlando", "description": "Dolce Vita (Cappucino & Tiramisu) f\u00fcr nur 3,50 \u20ac"}, {"time": "16:00 - 20:00", "location": "Caff\u00e8bar Kranen", "description": "Aperitivo Italiano incl. Antipasti"}, {"time": "16:00 - 23:59", "location": "Bowlinghaus Bamberg", "description": "Salat-Tag: Varianten f\u00fcr je 6 \u20ac"}, {"time": "17:00 - 21:00", "location": "Cafe Arte", "description": "Jede Pizza nur 5,20\u20ac"}, {"time": "17:00 - 21:00", "location": "Bolero", "description": "Jede Tapa - 2,50 \u20ac"}, {"time": "17:30 - 21:30", "location": "Luitpold", "description": "Schnitzel + 0,2l Getr\u00e4nk 7,90 \u20ac"}, {"time": "18:00 - 21:00", "location": "Aposto", "description": "Riesen-Pizzen 12,50 \u20ac"}, {"time": "19:00 - 22:00", "location": "Ah\u00f6rnla im Sand", "description": "1 Paar Bradw\u00f6rschd, 1 Ah\u00f6rnla Bier + Beilage ab 7,50 \u20ac"}, {"time": "19:00 - 01:00", "location": "Mainfranken Bowling", "description": "Jede Pizza 4,90 \u20ac"}]}
|
||||
@ -1 +0,0 @@
|
||||
{"weekmenu": [{"menu": [], "date": "02.10."}, {"menu": [], "date": "03.10."}, {"menu": [], "date": "04.10."}, {"menu": [], "date": "05.10."}, {"menu": [], "date": "06.10."}], "execution_time": "Monday, 02.10.2017", "name": "Speiseplan f\u00fcr Austra\u00dfe Bamberg"}
|
||||
@ -1 +0,0 @@
|
||||
{"weekmenu": [{"menu": [], "date": "02.10."}, {"menu": [], "date": "03.10."}, {"menu": [], "date": "04.10."}, {"menu": [], "date": "05.10."}, {"menu": [], "date": "06.10."}], "execution_time": "Monday, 02.10.2017", "name": "Speiseplan f\u00fcr Feldkirchenstra\u00dfe Bamberg"}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -23,8 +23,7 @@ SECRET_KEY = '7tm($-7tz!co8762!)ptmj%)80)qa^z0odee*8-!be!i(a!p4j'
|
||||
|
||||
# SECURITY WARNING: don't run with debug turned on in production!
|
||||
DEBUG = True
|
||||
ALLOWED_HOSTS = ['mg-server.ddns.net', 'localhost' ]
|
||||
|
||||
ALLOWED_HOSTS = ['mg-server.ddns.net', 'localhost', '127.0.0.1', ]
|
||||
|
||||
# Application definition
|
||||
|
||||
@ -162,4 +161,4 @@ STATICFILES_DIRS = [
|
||||
USE_X_FORWARDED_HOST = True
|
||||
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
|
||||
|
||||
FORCE_SCRIPT_NAME = "app"
|
||||
# FORCE_SCRIPT_NAME = "app"
|
||||
|
||||
Reference in New Issue
Block a user