Umzug auf Django
This commit is contained in:
parent
e6e09e504f
commit
905db542c3
50
.gitignore
vendored
Normal file
50
.gitignore
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
|
||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||
|
||||
# User-specific stuff:
|
||||
.idea/**/workspace.xml
|
||||
.idea/**/tasks.xml
|
||||
.idea/dictionaries
|
||||
|
||||
# Sensitive or high-churn files:
|
||||
.idea/**/dataSources/
|
||||
.idea/**/dataSources.ids
|
||||
.idea/**/dataSources.xml
|
||||
.idea/**/dataSources.local.xml
|
||||
.idea/**/sqlDataSources.xml
|
||||
.idea/**/dynamic.xml
|
||||
.idea/**/uiDesigner.xml
|
||||
|
||||
# Gradle:
|
||||
.idea/**/gradle.xml
|
||||
.idea/**/libraries
|
||||
|
||||
# CMake
|
||||
cmake-build-debug/
|
||||
|
||||
# Mongo Explorer plugin:
|
||||
.idea/**/mongoSettings.xml
|
||||
|
||||
## File-based project format:
|
||||
*.iws
|
||||
|
||||
## Plugin-specific files:
|
||||
|
||||
# IntelliJ
|
||||
out/
|
||||
|
||||
# mpeltonen/sbt-idea plugin
|
||||
.idea_modules/
|
||||
|
||||
# JIRA plugin
|
||||
atlassian-ide-plugin.xml
|
||||
|
||||
# Cursive Clojure plugin
|
||||
.idea/replstate.xml
|
||||
|
||||
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||
com_crashlytics_export_strings.xml
|
||||
crashlytics.properties
|
||||
crashlytics-build.properties
|
||||
fabric.properties
|
||||
|
||||
8185
bootstrap.css
vendored
8185
bootstrap.css
vendored
File diff suppressed because it is too large
Load Diff
1353
css/bootstrap-4.0.0-beta-dist/css/bootstrap-grid.css
vendored
1353
css/bootstrap-4.0.0-beta-dist/css/bootstrap-grid.css
vendored
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,330 +0,0 @@
|
||||
html {
|
||||
box-sizing: border-box;
|
||||
font-family: sans-serif;
|
||||
line-height: 1.15;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-ms-overflow-style: scrollbar;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
@-ms-viewport {
|
||||
width: device-width;
|
||||
}
|
||||
|
||||
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
||||
font-size: 1rem;
|
||||
font-weight: normal;
|
||||
line-height: 1.5;
|
||||
color: #212529;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
[tabindex="-1"]:focus {
|
||||
outline: none !important;
|
||||
}
|
||||
|
||||
hr {
|
||||
box-sizing: content-box;
|
||||
height: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 0;
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
abbr[title],
|
||||
abbr[data-original-title] {
|
||||
text-decoration: underline;
|
||||
-webkit-text-decoration: underline dotted;
|
||||
text-decoration: underline dotted;
|
||||
cursor: help;
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
address {
|
||||
margin-bottom: 1rem;
|
||||
font-style: normal;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
ol,
|
||||
ul,
|
||||
dl {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
ol ol,
|
||||
ul ul,
|
||||
ol ul,
|
||||
ul ol {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-bottom: .5rem;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
margin: 0 0 1rem;
|
||||
}
|
||||
|
||||
dfn {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
sub,
|
||||
sup {
|
||||
position: relative;
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -.25em;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -.5em;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #007bff;
|
||||
text-decoration: none;
|
||||
background-color: transparent;
|
||||
-webkit-text-decoration-skip: objects;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #0056b3;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a:not([href]):not([tabindex]) {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:not([href]):not([tabindex]):focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
pre,
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
font-family: monospace, monospace;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
pre {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 0 0 1rem;
|
||||
}
|
||||
|
||||
img {
|
||||
vertical-align: middle;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
a,
|
||||
area,
|
||||
button,
|
||||
[role="button"],
|
||||
input,
|
||||
label,
|
||||
select,
|
||||
summary,
|
||||
textarea {
|
||||
-ms-touch-action: manipulation;
|
||||
touch-action: manipulation;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
caption {
|
||||
padding-top: 0.75rem;
|
||||
padding-bottom: 0.75rem;
|
||||
color: #868e96;
|
||||
text-align: left;
|
||||
caption-side: bottom;
|
||||
}
|
||||
|
||||
th {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
label {
|
||||
display: inline-block;
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
button:focus {
|
||||
outline: 1px dotted;
|
||||
outline: 5px auto -webkit-focus-ring-color;
|
||||
}
|
||||
|
||||
input,
|
||||
button,
|
||||
select,
|
||||
optgroup,
|
||||
textarea {
|
||||
margin: 0;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
button,
|
||||
input {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
button,
|
||||
html [type="button"],
|
||||
[type="reset"],
|
||||
[type="submit"] {
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
button::-moz-focus-inner,
|
||||
[type="button"]::-moz-focus-inner,
|
||||
[type="reset"]::-moz-focus-inner,
|
||||
[type="submit"]::-moz-focus-inner {
|
||||
padding: 0;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
input[type="radio"],
|
||||
input[type="checkbox"] {
|
||||
box-sizing: border-box;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
input[type="date"],
|
||||
input[type="time"],
|
||||
input[type="datetime-local"],
|
||||
input[type="month"] {
|
||||
-webkit-appearance: listbox;
|
||||
}
|
||||
|
||||
textarea {
|
||||
overflow: auto;
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
min-width: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
legend {
|
||||
display: block;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
padding: 0;
|
||||
margin-bottom: .5rem;
|
||||
font-size: 1.5rem;
|
||||
line-height: inherit;
|
||||
color: inherit;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
progress {
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
[type="number"]::-webkit-inner-spin-button,
|
||||
[type="number"]::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
[type="search"] {
|
||||
outline-offset: -2px;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
[type="search"]::-webkit-search-cancel-button,
|
||||
[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
::-webkit-file-upload-button {
|
||||
font: inherit;
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
output {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
summary {
|
||||
display: list-item;
|
||||
}
|
||||
|
||||
template {
|
||||
display: none;
|
||||
}
|
||||
|
||||
[hidden] {
|
||||
display: none !important;
|
||||
}
|
||||
/*# sourceMappingURL=bootstrap-reboot.css.map */
|
||||
File diff suppressed because one or more lines are too long
@ -1,2 +0,0 @@
|
||||
html{box-sizing:border-box;font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}*,::after,::before{box-sizing:inherit}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#868e96;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}
|
||||
/*# sourceMappingURL=bootstrap-reboot.min.css.map */
|
||||
File diff suppressed because one or more lines are too long
8185
css/bootstrap-4.0.0-beta-dist/css/bootstrap.css
vendored
8185
css/bootstrap-4.0.0-beta-dist/css/bootstrap.css
vendored
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
3831
css/bootstrap-4.0.0-beta-dist/js/bootstrap.js
vendored
3831
css/bootstrap-4.0.0-beta-dist/js/bootstrap.js
vendored
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
168
food.html
168
food.html
@ -1,168 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="description" content="Sammelwebsite für das Essen der Uni Bamberg">
|
||||
<meta name="keywords" content="OFU, Otto-Friedrich, Universität, Bamberg">
|
||||
<link rel="stylesheet" href=" bootstrap.css ">
|
||||
<title>Essen an der OFU</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Food for Students</h1>
|
||||
<p>Last execute: Sunday, 24.09.2017</p>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h2>Cafeteria Erba-Insel</h2>
|
||||
|
||||
<p><span>24.07.</span><span>Rinderhacksteak an Cognacsoße und Spätzle</span></p>
|
||||
|
||||
<p><span>25.07.</span><span>Gemüseschnitzel mit Kräutercreme und Kartoffeln</span></p>
|
||||
|
||||
<p><span>26.07.</span><span>Penne-Nudeln mit Hackfleischsoße</span></p>
|
||||
|
||||
<p><span>27.07.</span><span>Kaiserschmarrn mit Apfelmus</span></p>
|
||||
|
||||
</div>
|
||||
<div class="col">
|
||||
<h2>Cafeteria Markusplatz</h2>
|
||||
|
||||
<p><span>24.07.</span><span>Vegetarisches Chili sin Carne</span></p>
|
||||
|
||||
<p><span>25.07.</span><span>Gemüseschnitzel mit Kräutercreme und Kartoffeln</span></p>
|
||||
|
||||
<p><span>26.07.</span><span>Überbackene Zucchini an Paprikasoße mit Püree</span></p>
|
||||
|
||||
<p><span>27.07.</span><span>Kaiserschmarrn mit Apfelmus</span></p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h2>Speiseplan für Austraße Bamberg</h2>
|
||||
|
||||
<h3>Montag 18.09.</h3>
|
||||
|
||||
<p>Rindergeschnetzeltes "Provencial"</p>
|
||||
|
||||
<p>Pizza "Speciale"</p>
|
||||
|
||||
<p>Gebackene Kartoffeltaschen "Kräuterfrischkäse" an Salatgarnitur</p>
|
||||
|
||||
|
||||
<h3>Dienstag 19.09.</h3>
|
||||
|
||||
<p>Hähnchenpiccata an Tomatenragout</p>
|
||||
|
||||
<p>Schweinenackensteak vom Grill mit hausgemachter Kräuterbutter</p>
|
||||
|
||||
<p>Pizza "Speciale"</p>
|
||||
|
||||
<p>Kokos Gemüsecurry "Thai Style" mit Wildreis</p>
|
||||
|
||||
|
||||
<h3>Mittwoch 20.09.</h3>
|
||||
|
||||
<p>Rindfleisch mit Meerrettich</p>
|
||||
|
||||
<p>Griechischer Teller "Kreta" mit Suflaki, Calamari, Bifteki und hausgemachtem Kräuterdip</p>
|
||||
|
||||
<p>Nudelpfanne "Mediterrane"</p>
|
||||
|
||||
|
||||
<h3>Donnerstag 21.09.</h3>
|
||||
|
||||
<p>Lasagne von der Pute</p>
|
||||
|
||||
<p>Apfelstrudel "Tiroler Art" mit Vanillesoße</p>
|
||||
|
||||
<p>Wedges mit Kräuterquark</p>
|
||||
|
||||
|
||||
<h3>Freitag 22.09.</h3>
|
||||
|
||||
<p>Pangasiusfilet an fränkischer Silvanersoße mit Gemüsestreifen</p>
|
||||
|
||||
<p>Rindergeschnetzeltes "Provencial"</p>
|
||||
|
||||
<p>Schweinerückensteak mit Champignonrahmsoße</p>
|
||||
|
||||
<p>Blumenkohlkäsemedaillon mit Pestosoße</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="col">
|
||||
<h2>Speiseplan für Feldkirchenstraße Bamberg</h2>
|
||||
|
||||
<h3>Montag 18.09.</h3>
|
||||
|
||||
<p>Rindergeschnetzeltes "Provencial"</p>
|
||||
|
||||
<p>Schwarzer Heilbutt an Krebsrahmsoße</p>
|
||||
|
||||
<p>Pizza "Speciale"</p>
|
||||
|
||||
<p>Gebackene Kartoffeltaschen "Kräuterfrischkäse" an Salatgarnitur</p>
|
||||
|
||||
|
||||
<h3>Dienstag 19.09.</h3>
|
||||
|
||||
<p>Hähnchenpiccata an Tomatenragout</p>
|
||||
|
||||
<p>Pizza "Speciale"</p>
|
||||
|
||||
<p>Schweinenackensteak vom Grill mit hausgemachter Kräuterbutter</p>
|
||||
|
||||
<p>Kokos Gemüsecurry "Thai Style" mit Wildreis</p>
|
||||
|
||||
|
||||
<h3>Mittwoch 20.09.</h3>
|
||||
|
||||
<p>Hähnchenpiccata an Tomatenragout</p>
|
||||
|
||||
<p>Rindfleisch mit Meerrettich</p>
|
||||
|
||||
<p>Griechischer Teller "Kreta" mit Suflaki, Calamari, Bifteki und hausgemachtem Kräuterdip</p>
|
||||
|
||||
<p>Kokos Gemüsecurry "Thai Style" mit Wildreis</p>
|
||||
|
||||
<p>Nudelpfanne "Mediterrane"</p>
|
||||
|
||||
|
||||
<h3>Donnerstag 21.09.</h3>
|
||||
|
||||
<p>Lasagne von der Pute</p>
|
||||
|
||||
<p>Apfelstrudel "Tiroler Art" mit Vanillesoße</p>
|
||||
|
||||
<p>Wedges mit Kräuterquark</p>
|
||||
|
||||
|
||||
<h3>Freitag 22.09.</h3>
|
||||
|
||||
<p>Lasagne von der Pute</p>
|
||||
|
||||
<p>Pangasiusfilet an fränkischer Silvanersoße mit Gemüsestreifen</p>
|
||||
|
||||
<p>Schweinerückensteak mit Champignonrahmsoße</p>
|
||||
|
||||
<p>Blumenkohlkäsemedaillon mit Pestosoße</p>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h2>Feki.de Happy Hour Guide for Food</h2>
|
||||
<h3>Sunday, 24.09.2017</h3>
|
||||
|
||||
<p>Leider gibt es heute keine Happy Hours :(</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
14284
html/event.html
14284
html/event.html
File diff suppressed because it is too large
Load Diff
168
html/food.html
168
html/food.html
@ -1,168 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="description" content="Sammelwebsite für das Essen der Uni Bamberg">
|
||||
<meta name="keywords" content="OFU, Otto-Friedrich, Universität, Bamberg">
|
||||
<link rel="stylesheet" href=" ../css/bootstrap-4.0.0-beta-dist/css/bootstrap.css ">
|
||||
<title>Essen an der OFU</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1 class="text-center">Food for Students</h1>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col m-2 p-3 border border-info rounded">
|
||||
<h2>Cafeteria Erba-Insel</h2>
|
||||
|
||||
<p><span>24.07.</span><span>Rinderhacksteak an Cognacsoße und Spätzle</span></p>
|
||||
|
||||
<p><span>25.07.</span><span>Gemüseschnitzel mit Kräutercreme und Kartoffeln</span></p>
|
||||
|
||||
<p><span>26.07.</span><span>Penne-Nudeln mit Hackfleischsoße</span></p>
|
||||
|
||||
<p><span>27.07.</span><span>Kaiserschmarrn mit Apfelmus</span></p>
|
||||
|
||||
</div>
|
||||
<div class="col m-2 p-3 border border-info rounded">
|
||||
<h2>Cafeteria Markusplatz</h2>
|
||||
|
||||
<p><span>24.07.</span><span>Vegetarisches Chili sin Carne</span></p>
|
||||
|
||||
<p><span>25.07.</span><span>Gemüseschnitzel mit Kräutercreme und Kartoffeln</span></p>
|
||||
|
||||
<p><span>26.07.</span><span>Überbackene Zucchini an Paprikasoße mit Püree</span></p>
|
||||
|
||||
<p><span>27.07.</span><span>Kaiserschmarrn mit Apfelmus</span></p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col m-2 p-3 border border-info rounded">
|
||||
<h2>Speiseplan für Austraße Bamberg</h2>
|
||||
|
||||
<h3>Montag 18.09.</h3>
|
||||
|
||||
<p>Rindergeschnetzeltes "Provencial"</p>
|
||||
|
||||
<p>Pizza "Speciale"</p>
|
||||
|
||||
<p>Gebackene Kartoffeltaschen "Kräuterfrischkäse" an Salatgarnitur</p>
|
||||
|
||||
|
||||
<h3>Dienstag 19.09.</h3>
|
||||
|
||||
<p>Hähnchenpiccata an Tomatenragout</p>
|
||||
|
||||
<p>Schweinenackensteak vom Grill mit hausgemachter Kräuterbutter</p>
|
||||
|
||||
<p>Pizza "Speciale"</p>
|
||||
|
||||
<p>Kokos Gemüsecurry "Thai Style" mit Wildreis</p>
|
||||
|
||||
|
||||
<h3>Mittwoch 20.09.</h3>
|
||||
|
||||
<p>Rindfleisch mit Meerrettich</p>
|
||||
|
||||
<p>Griechischer Teller "Kreta" mit Suflaki, Calamari, Bifteki und hausgemachtem Kräuterdip</p>
|
||||
|
||||
<p>Nudelpfanne "Mediterrane"</p>
|
||||
|
||||
|
||||
<h3>Donnerstag 21.09.</h3>
|
||||
|
||||
<p>Lasagne von der Pute</p>
|
||||
|
||||
<p>Apfelstrudel "Tiroler Art" mit Vanillesoße</p>
|
||||
|
||||
<p>Wedges mit Kräuterquark</p>
|
||||
|
||||
|
||||
<h3>Freitag 22.09.</h3>
|
||||
|
||||
<p>Pangasiusfilet an fränkischer Silvanersoße mit Gemüsestreifen</p>
|
||||
|
||||
<p>Rindergeschnetzeltes "Provencial"</p>
|
||||
|
||||
<p>Schweinerückensteak mit Champignonrahmsoße</p>
|
||||
|
||||
<p>Blumenkohlkäsemedaillon mit Pestosoße</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="col m-2 p-3 border border-info rounded">
|
||||
<h2>Speiseplan für Feldkirchenstraße Bamberg</h2>
|
||||
|
||||
<h3>Montag 18.09.</h3>
|
||||
|
||||
<p>Rindergeschnetzeltes "Provencial"</p>
|
||||
|
||||
<p>Schwarzer Heilbutt an Krebsrahmsoße</p>
|
||||
|
||||
<p>Pizza "Speciale"</p>
|
||||
|
||||
<p>Gebackene Kartoffeltaschen "Kräuterfrischkäse" an Salatgarnitur</p>
|
||||
|
||||
|
||||
<h3>Dienstag 19.09.</h3>
|
||||
|
||||
<p>Hähnchenpiccata an Tomatenragout</p>
|
||||
|
||||
<p>Pizza "Speciale"</p>
|
||||
|
||||
<p>Schweinenackensteak vom Grill mit hausgemachter Kräuterbutter</p>
|
||||
|
||||
<p>Kokos Gemüsecurry "Thai Style" mit Wildreis</p>
|
||||
|
||||
|
||||
<h3>Mittwoch 20.09.</h3>
|
||||
|
||||
<p>Hähnchenpiccata an Tomatenragout</p>
|
||||
|
||||
<p>Rindfleisch mit Meerrettich</p>
|
||||
|
||||
<p>Griechischer Teller "Kreta" mit Suflaki, Calamari, Bifteki und hausgemachtem Kräuterdip</p>
|
||||
|
||||
<p>Kokos Gemüsecurry "Thai Style" mit Wildreis</p>
|
||||
|
||||
<p>Nudelpfanne "Mediterrane"</p>
|
||||
|
||||
|
||||
<h3>Donnerstag 21.09.</h3>
|
||||
|
||||
<p>Lasagne von der Pute</p>
|
||||
|
||||
<p>Apfelstrudel "Tiroler Art" mit Vanillesoße</p>
|
||||
|
||||
<p>Wedges mit Kräuterquark</p>
|
||||
|
||||
|
||||
<h3>Freitag 22.09.</h3>
|
||||
|
||||
<p>Lasagne von der Pute</p>
|
||||
|
||||
<p>Pangasiusfilet an fränkischer Silvanersoße mit Gemüsestreifen</p>
|
||||
|
||||
<p>Schweinerückensteak mit Champignonrahmsoße</p>
|
||||
|
||||
<p>Blumenkohlkäsemedaillon mit Pestosoße</p>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col m-2 p-3 border border-info rounded">
|
||||
<h2>Feki.de Happy Hour Guide for Food</h2>
|
||||
<h3>Sunday, 24.09.2017</h3>
|
||||
|
||||
<p>Leider gibt es heute keine Happy Hours :(</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p class="text-right">Last execute: Monday, 25.09.2017</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@ -1,9 +0,0 @@
|
||||
<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>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,10 +0,0 @@
|
||||
<!doctype html><html lang="de"><head><meta charset="utf-8"><meta name="description" content="Sammelwebsite für das Essen der Uni Bamberg"><meta name="keywords" content="OFU, Otto-Friedrich, Universität, Bamberg"><link rel="stylesheet" href="../css/bootstrap-4.0.0-beta-dist/css/bootstrap.css"><title>Essen an der OFU</title></head><body><p>Last execute: 24.09.2017</p><div class="container"><div class="row"><div class="col"><h2>Cafeteria Erba-Insel</h2><p class="bodytext">24.07. Rinderhacksteak an Cognacsoße und Spätzle<br/>25.07. Gemüseschnitzel mit Kräutercreme und Kartoffeln<br/>26.07. Penne-Nudeln mit Hackfleischsoße<br/>27.07. Kaiserschmarrn mit Apfelmus</p></div><div class="col"><h2>Cafeteria Markusplatz</h2><p class="bodytext">24.07. Vegetarisches Chili sin Carne<br/>25.07. Gemüseschnitzel mit Kräutercreme und Kartoffeln<br/>26.07. Überbackene Zucchini an Paprikasoße mit Püree<br/>27.07. Kaiserschmarrn mit Apfelmus</p></div></div><div class="row"><div class="col"><div><h2>Mensa Austraße</h2><h5>Montag 18.09.</h5><div class="title">Rindergeschnetzeltes "Provencial"</div><a href="https://www.studentenwerk-wuerzburg.de/bamberg/essen-trinken/speiseplaene.html?tx_thmensamenu_pi2%5Bmensen%5D=2&tx_thmensamenu_pi2%5Baction%5D=show&tx_thmensamenu_pi2%5Bcontroller%5D=Speiseplan&cHash=511e047953ee1370c3b82c11a04624bb#toggle">Zusatzstoffe / Allergene & sonstige Informationen</a><div class="title">Pizza "Speciale"</div><a href="https://www.studentenwerk-wuerzburg.de/bamberg/essen-trinken/speiseplaene.html?tx_thmensamenu_pi2%5Bmensen%5D=2&tx_thmensamenu_pi2%5Baction%5D=show&tx_thmensamenu_pi2%5Bcontroller%5D=Speiseplan&cHash=511e047953ee1370c3b82c11a04624bb#toggle">Zusatzstoffe / Allergene & sonstige Informationen</a><div class="title">Gebackene Kartoffeltaschen "Kräuterfrischkäse" an Salatgarnitur</div><a href="https://www.studentenwerk-wuerzburg.de/bamberg/essen-trinken/speiseplaene.html?tx_thmensamenu_pi2%5Bmensen%5D=2&tx_thmensamenu_pi2%5Baction%5D=show&tx_thmensamenu_pi2%5Bcontroller%5D=Speiseplan&cHash=511e047953ee1370c3b82c11a04624bb#toggle">Zusatzstoffe / Allergene & sonstige Informationen</a></div></div><div class="col"><div><h2>Feki Mensa</h2><h5>Montag 18.09.</h5><div class="title">Rindergeschnetzeltes "Provencial"</div><a href="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#toggle">Zusatzstoffe / Allergene & sonstige Informationen</a><div class="title">Schwarzer Heilbutt an Krebsrahmsoße</div><a href="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#toggle">Zusatzstoffe / Allergene & sonstige Informationen</a><div class="title">Pizza "Speciale"</div><a href="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#toggle">Zusatzstoffe / Allergene & sonstige Informationen</a><div class="title">Gebackene Kartoffeltaschen "Kräuterfrischkäse" an Salatgarnitur</div><a href="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#toggle">Zusatzstoffe / Allergene & sonstige Informationen</a></div></div></div><div class="row"><div class="col"><h2>Feki.de Happy Hour Guide</h2><div class="tab-pane" id="food" role="tabpanel">
|
||||
<h2>Aktuelle HappyHours</h2>
|
||||
<table class="table">
|
||||
</table>
|
||||
<p>Leider sind gerade keine HappyHours :( </p>
|
||||
<h2>Kommende HappyHours</h2>
|
||||
<table class="table">
|
||||
</table>
|
||||
<p>Leider kommen keine HappyHours mehr :( </p>
|
||||
</div></div></div></div></body></html>
|
||||
@ -1 +0,0 @@
|
||||
{"name": "Speiseplan f\u00fcr Austra\u00dfe Bamberg", "weekmenu": [{"menu": ["Rindergeschnetzeltes \"Provencial\"", "Pizza \"Speciale\"", "Gebackene Kartoffeltaschen \"Kr\u00e4uterfrischk\u00e4se\" an Salatgarnitur"], "date": "Montag 18.09."}, {"menu": ["H\u00e4hnchenpiccata an Tomatenragout", "Schweinenackensteak vom Grill mit hausgemachter Kr\u00e4uterbutter", "Pizza \"Speciale\"", "Kokos Gem\u00fcsecurry \"Thai Style\" mit Wildreis"], "date": "Dienstag 19.09."}, {"menu": ["Rindfleisch mit Meerrettich", "Griechischer Teller \"Kreta\" mit Suflaki, Calamari, Bifteki und hausgemachtem Kr\u00e4uterdip", "Nudelpfanne \"Mediterrane\""], "date": "Mittwoch 20.09."}, {"menu": ["Lasagne von der Pute", "Apfelstrudel \"Tiroler Art\" mit Vanilleso\u00dfe", "Wedges mit Kr\u00e4uterquark"], "date": "Donnerstag 21.09."}, {"menu": ["Pangasiusfilet an fr\u00e4nkischer Silvanerso\u00dfe mit Gem\u00fcsestreifen", "Rindergeschnetzeltes \"Provencial\"", "Schweiner\u00fcckensteak mit Champignonrahmso\u00dfe", "Blumenkohlk\u00e4semedaillon mit Pestoso\u00dfe"], "date": "Freitag 22.09."}]}
|
||||
@ -1 +0,0 @@
|
||||
{"name": "Cafeteria Erba-Insel", "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."}]}
|
||||
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
{"day": "Sunday, 24.09.2017", "happyhours": []}
|
||||
@ -1 +0,0 @@
|
||||
{"name": "Speiseplan f\u00fcr Feldkirchenstra\u00dfe Bamberg", "weekmenu": [{"menu": ["Rindergeschnetzeltes \"Provencial\"", "Schwarzer Heilbutt an Krebsrahmso\u00dfe", "Pizza \"Speciale\"", "Gebackene Kartoffeltaschen \"Kr\u00e4uterfrischk\u00e4se\" an Salatgarnitur"], "date": "Montag 18.09."}, {"menu": ["H\u00e4hnchenpiccata an Tomatenragout", "Pizza \"Speciale\"", "Schweinenackensteak vom Grill mit hausgemachter Kr\u00e4uterbutter", "Kokos Gem\u00fcsecurry \"Thai Style\" mit Wildreis"], "date": "Dienstag 19.09."}, {"menu": ["H\u00e4hnchenpiccata an Tomatenragout", "Rindfleisch mit Meerrettich", "Griechischer Teller \"Kreta\" mit Suflaki, Calamari, Bifteki und hausgemachtem Kr\u00e4uterdip", "Kokos Gem\u00fcsecurry \"Thai Style\" mit Wildreis", "Nudelpfanne \"Mediterrane\""], "date": "Mittwoch 20.09."}, {"menu": ["Lasagne von der Pute", "Apfelstrudel \"Tiroler Art\" mit Vanilleso\u00dfe", "Wedges mit Kr\u00e4uterquark"], "date": "Donnerstag 21.09."}, {"menu": ["Lasagne von der Pute", "Pangasiusfilet an fr\u00e4nkischer Silvanerso\u00dfe mit Gem\u00fcsestreifen", "Schweiner\u00fcckensteak mit Champignonrahmso\u00dfe", "Blumenkohlk\u00e4semedaillon mit Pestoso\u00dfe"], "date": "Freitag 22.09."}]}
|
||||
@ -1 +0,0 @@
|
||||
{"name": "Cafeteria Markusplatz", "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."}]}
|
||||
File diff suppressed because one or more lines are too long
144
ofu-food.html
144
ofu-food.html
@ -1,144 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="description" content="Sammelwebsite für das Essen der Uni Bamberg">
|
||||
<meta name="keywords" content="OFU, Otto-Friedrich, Universität, Bamberg">
|
||||
<link rel="stylesheet" href=" bootstrap.css ">
|
||||
<title>Essen an der OFU</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Food for Students</h1>
|
||||
<p>Last execute: Sunday, 24.09.2017</p>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h2>Cafeteria Erba-Insel</h2>
|
||||
|
||||
<p><span>Essen am 24.07.</span><span>['Rinderhacksteak an Cognacsoße und Spätzle']</span></p>
|
||||
|
||||
<p><span>Essen am 25.07.</span><span>['Gemüseschnitzel mit Kräutercreme und Kartoffeln']</span></p>
|
||||
|
||||
<p><span>Essen am 26.07.</span><span>['Penne-Nudeln mit Hackfleischsoße']</span></p>
|
||||
|
||||
<p><span>Essen am 27.07.</span><span>['Kaiserschmarrn mit Apfelmus']</span></p>
|
||||
|
||||
</div>
|
||||
<div class="col">
|
||||
<h2>Cafeteria Markusplatz</h2>
|
||||
|
||||
<p><span>Essen am 24.07.</span><span>['Vegetarisches Chili sin Carne']</span></p>
|
||||
|
||||
<p><span>Essen am 25.07.</span><span>['Gemüseschnitzel mit Kräutercreme und Kartoffeln']</span></p>
|
||||
|
||||
<p><span>Essen am 26.07.</span><span>['Überbackene Zucchini an Paprikasoße mit Püree']</span></p>
|
||||
|
||||
<p><span>Essen am 27.07.</span><span>['Kaiserschmarrn mit Apfelmus']</span></p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h2>Speiseplan für Austraße Bamberg</h2>
|
||||
|
||||
<h3>Montag 18.09.</h3>
|
||||
|
||||
<p>menu</p>
|
||||
|
||||
<p>date</p>
|
||||
|
||||
|
||||
<h3>Dienstag 19.09.</h3>
|
||||
|
||||
<p>menu</p>
|
||||
|
||||
<p>date</p>
|
||||
|
||||
|
||||
<h3>Mittwoch 20.09.</h3>
|
||||
|
||||
<p>menu</p>
|
||||
|
||||
<p>date</p>
|
||||
|
||||
|
||||
<h3>Donnerstag 21.09.</h3>
|
||||
|
||||
<p>menu</p>
|
||||
|
||||
<p>date</p>
|
||||
|
||||
|
||||
<h3>Freitag 22.09.</h3>
|
||||
|
||||
<p>menu</p>
|
||||
|
||||
<p>date</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="col">
|
||||
<h2>Speiseplan für Feldkirchenstraße Bamberg</h2>
|
||||
|
||||
<h3>Montag 18.09.</h3>
|
||||
|
||||
<p>menu</p>
|
||||
|
||||
<p>date</p>
|
||||
|
||||
|
||||
<h3>Dienstag 19.09.</h3>
|
||||
|
||||
<p>menu</p>
|
||||
|
||||
<p>date</p>
|
||||
|
||||
|
||||
<h3>Mittwoch 20.09.</h3>
|
||||
|
||||
<p>menu</p>
|
||||
|
||||
<p>date</p>
|
||||
|
||||
|
||||
<h3>Donnerstag 21.09.</h3>
|
||||
|
||||
<p>menu</p>
|
||||
|
||||
<p>date</p>
|
||||
|
||||
|
||||
<h3>Freitag 22.09.</h3>
|
||||
|
||||
<p>menu</p>
|
||||
|
||||
<p>date</p>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h2>Feki.de Happy Hour Guide for Food</h2>
|
||||
<h3>Sunday, 24.09.2017</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Location</th>
|
||||
<th>Time</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
11
ofu-food/.idea/ofu-food.iml
generated
11
ofu-food/.idea/ofu-food.iml
generated
@ -1,11 +0,0 @@
|
||||
<?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="TestRunnerService">
|
||||
<option name="PROJECT_TEST_RUNNER" value="Unittests" />
|
||||
</component>
|
||||
</module>
|
||||
868
ofu-food/.idea/workspace.xml
generated
868
ofu-food/.idea/workspace.xml
generated
@ -1,868 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="9425633f-e857-40f1-8ce2-44554cae0276" name="Default" comment="" />
|
||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||
<option name="TRACKING_ENABLED" value="true" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<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="1506561398373" 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="1506558155597" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/events" />
|
||||
<SUITE FILE_PATH="coverage/ofu_food$cafete_page_parser.coverage" NAME="cafete-page-parser Coverage Results" MODIFIED="1506201552685" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
||||
<SUITE FILE_PATH="coverage/ofu_food$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="1506559265258" 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="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="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>
|
||||
</file>
|
||||
<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="700">
|
||||
<caret line="35" column="4" lean-forward="false" selection-start-line="35" selection-start-column="4" selection-end-line="35" selection-end-column="4" />
|
||||
<folding>
|
||||
<element signature="e#0#15#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<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="240">
|
||||
<caret line="12" column="54" lean-forward="false" selection-start-line="12" selection-start-column="54" selection-end-line="12" selection-end-column="54" />
|
||||
<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>
|
||||
</file>
|
||||
<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="200">
|
||||
<caret line="10" column="0" lean-forward="true" selection-start-line="10" selection-start-column="0" selection-end-line="10" selection-end-column="0" />
|
||||
<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="220">
|
||||
<caret line="11" column="0" lean-forward="false" selection-start-line="11" selection-start-column="2" selection-end-line="14" selection-end-column="27" />
|
||||
<folding>
|
||||
<element signature="e#0#13#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</component>
|
||||
<component name="FileTemplateManagerImpl">
|
||||
<option name="RECENT_TEMPLATES">
|
||||
<list>
|
||||
<option value="Python Script" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="CHANGED_PATHS">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/cafete-page-parser.py" />
|
||||
<option value="$PROJECT_DIR$/mensa-page-parser.py" />
|
||||
<option value="$PROJECT_DIR$/fekide-happyhour-page-parser.py" />
|
||||
<option value="$PROJECT_DIR$/foodplan-parser-controler.py" />
|
||||
<option value="$PROJECT_DIR$/generator-food-page.py" />
|
||||
<option value="$PROJECT_DIR$/css-install-skript.py" />
|
||||
<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/eventpage-parser-controller.py" />
|
||||
<option value="$PROJECT_DIR$/events/ofu-eventpage-parser.py" />
|
||||
<option value="$PROJECT_DIR$/templates/events.jinja" />
|
||||
<option value="$PROJECT_DIR$/html-generator.py" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
|
||||
<component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
|
||||
<component name="JsGulpfileManager">
|
||||
<detection-done>true</detection-done>
|
||||
<sorting>DEFINITION_ORDER</sorting>
|
||||
</component>
|
||||
<component name="ProjectFrameBounds">
|
||||
<option name="y" value="27" />
|
||||
<option name="width" value="1920" />
|
||||
<option name="height" value="1053" />
|
||||
</component>
|
||||
<component name="ProjectView">
|
||||
<navigator currentView="ProjectPane" proportions="" version="1">
|
||||
<flattenPackages />
|
||||
<showMembers />
|
||||
<showModules />
|
||||
<showLibraryContents />
|
||||
<hideEmptyPackages />
|
||||
<abbreviatePackageNames />
|
||||
<autoscrollToSource />
|
||||
<autoscrollFromSource />
|
||||
<sortByType />
|
||||
<manualOrder />
|
||||
<foldersAlwaysOnTop value="true" />
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<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>
|
||||
<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="templates" />
|
||||
<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="food" />
|
||||
<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">
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="MoveFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$/food" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunDashboard">
|
||||
<option name="ruleStates">
|
||||
<list>
|
||||
<RuleState>
|
||||
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
|
||||
</RuleState>
|
||||
<RuleState>
|
||||
<option name="name" value="StatusDashboardGroupingRule" />
|
||||
</RuleState>
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<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" />
|
||||
<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/foodplan-parser-controler.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" />
|
||||
<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/generator-food-page.py" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
<method />
|
||||
</configuration>
|
||||
<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>
|
||||
<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$/html-generator.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" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="" />
|
||||
<option name="IS_MODULE_SDK" value="false" />
|
||||
<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="TARGET" value="" />
|
||||
<option name="SETTINGS_FILE" value="" />
|
||||
<option name="CUSTOM_SETTINGS" value="false" />
|
||||
<option name="USE_OPTIONS" value="false" />
|
||||
<option name="OPTIONS" value="" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="JavaScriptTestRunnerJest" factoryName="Jest">
|
||||
<node-interpreter value="project" />
|
||||
<working-dir value="" />
|
||||
<envs />
|
||||
<scope-kind value="ALL" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="JavaScriptTestRunnerProtractor" factoryName="Protractor">
|
||||
<config-file value="" />
|
||||
<node-interpreter value="project" />
|
||||
<envs />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug">
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="PyBehaveRunConfigurationType" factoryName="Behave">
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs />
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="" />
|
||||
<option name="IS_MODULE_SDK" value="false" />
|
||||
<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="ADDITIONAL_ARGS" value="" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="PyLettuceRunConfigurationType" factoryName="Lettuce">
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs />
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="" />
|
||||
<option name="IS_MODULE_SDK" value="false" />
|
||||
<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="ADDITIONAL_ARGS" value="" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="PythonConfigurationType" factoryName="Python">
|
||||
<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="" />
|
||||
<option name="IS_MODULE_SDK" value="false" />
|
||||
<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="" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="Tox" factoryName="Tox">
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs />
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="" />
|
||||
<option name="IS_MODULE_SDK" value="false" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||
<module name="ofu-food" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js">
|
||||
<node-interpreter>project</node-interpreter>
|
||||
<node-options />
|
||||
<gulpfile />
|
||||
<tasks />
|
||||
<arguments />
|
||||
<envs />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="js.build_tools.npm" factoryName="npm">
|
||||
<command value="run" />
|
||||
<scripts />
|
||||
<node-interpreter value="project" />
|
||||
<envs />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="tests" factoryName="Doctests">
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs />
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="" />
|
||||
<option name="IS_MODULE_SDK" value="false" />
|
||||
<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="" />
|
||||
<option name="CLASS_NAME" value="" />
|
||||
<option name="METHOD_NAME" value="" />
|
||||
<option name="FOLDER_NAME" value="" />
|
||||
<option name="TEST_TYPE" value="TEST_SCRIPT" />
|
||||
<option name="PATTERN" value="" />
|
||||
<option name="USE_PATTERN" value="false" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="tests" factoryName="Unittests">
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs />
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="" />
|
||||
<option name="IS_MODULE_SDK" value="false" />
|
||||
<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="_new_additionalArguments" value="""" />
|
||||
<option name="_new_target" value=""."" />
|
||||
<option name="_new_targetType" value=""PATH"" />
|
||||
<method />
|
||||
</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.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.html-generator" />
|
||||
<item index="1" class="java.lang.String" itemvalue="Python.ofu-eventpage-parser" />
|
||||
<item index="2" class="java.lang.String" itemvalue="Python.eventpage-parser-controller" />
|
||||
<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>
|
||||
<component name="ShelveChangesManager" show_recycled="false">
|
||||
<option name="remove_strategy" value="false" />
|
||||
</component>
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="Default task">
|
||||
<changelist id="9425633f-e857-40f1-8ce2-44554cae0276" name="Default" comment="" />
|
||||
<created>1506172952943</created>
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1506172952943</updated>
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="0" y="27" width="1920" height="1053" extended-state="6" />
|
||||
<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.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="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="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" />
|
||||
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Inspection" 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="9" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Hierarchy" active="false" anchor="right" 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="combo" />
|
||||
<window_info id="Find" 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="5" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
</layout>
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
<option name="processedProjectFiles" value="true" />
|
||||
</component>
|
||||
<component name="VcsContentAnnotationSettings">
|
||||
<option name="myLimit" value="2678400000" />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager>
|
||||
<option name="time" value="1" />
|
||||
</breakpoint-manager>
|
||||
<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="false" />
|
||||
</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="false" />
|
||||
</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="false" />
|
||||
</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="false" />
|
||||
</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="false" />
|
||||
</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="false" />
|
||||
</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">
|
||||
<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>
|
||||
</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$/templates/food.jinja">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1460">
|
||||
<caret line="73" column="60" lean-forward="false" selection-start-line="73" selection-start-column="60" selection-end-line="73" selection-end-column="60" />
|
||||
<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="240">
|
||||
<caret line="14" column="44" lean-forward="false" selection-start-line="14" selection-start-column="44" selection-end-line="14" selection-end-column="44" />
|
||||
<folding>
|
||||
<element signature="e#0#13#0" expanded="false" />
|
||||
</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="0" lean-forward="false" selection-start-line="8" selection-start-column="0" selection-end-line="8" selection-end-column="0" />
|
||||
<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="240">
|
||||
<caret line="15" column="14" lean-forward="false" selection-start-line="15" selection-start-column="14" selection-end-line="15" selection-end-column="62" />
|
||||
<folding>
|
||||
<element signature="e#43#58#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/templates/food.jinja">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1460">
|
||||
<caret line="73" column="60" lean-forward="false" selection-start-line="73" selection-start-column="60" selection-end-line="73" selection-end-column="60" />
|
||||
<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="500">
|
||||
<caret line="27" column="20" lean-forward="false" selection-start-line="27" selection-start-column="20" selection-end-line="27" selection-end-column="20" />
|
||||
<folding>
|
||||
<element signature="e#0#13#0" expanded="false" />
|
||||
</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="20">
|
||||
<caret line="1" column="0" lean-forward="true" selection-start-line="1" selection-start-column="0" selection-end-line="1" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<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/cafete-page-parser.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="336">
|
||||
<caret line="40" column="4" lean-forward="false" selection-start-line="40" selection-start-column="4" selection-end-line="44" selection-end-column="7" />
|
||||
<folding>
|
||||
<element signature="e#0#15#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/Json_Files/erba-cafete.json" />
|
||||
<entry file="file://$PROJECT_DIR$/Json_Files/feki-mensa.json" />
|
||||
<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/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="false" />
|
||||
</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="-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 />
|
||||
</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="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" />
|
||||
<folding>
|
||||
<element signature="e#0#15#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/events/fekide-eventpage-parser.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<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$/events/eventpage-parser-controller.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="200">
|
||||
<caret line="10" column="0" lean-forward="true" selection-start-line="10" selection-start-column="0" selection-end-line="10" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/templates/food.jinja">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="180">
|
||||
<caret line="15" column="20" lean-forward="true" selection-start-line="15" selection-start-column="20" selection-end-line="15" selection-end-column="58" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/events/ofu-eventpage-parser.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="700">
|
||||
<caret line="35" column="4" lean-forward="false" selection-start-line="35" selection-start-column="4" selection-end-line="35" selection-end-column="4" />
|
||||
<folding>
|
||||
<element signature="e#0#15#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/templates/events.jinja">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="240">
|
||||
<caret line="12" column="54" lean-forward="false" selection-start-line="12" selection-start-column="54" selection-end-line="12" selection-end-column="54" />
|
||||
<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$/html-generator.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="220">
|
||||
<caret line="11" column="0" lean-forward="false" selection-start-line="11" selection-start-column="2" selection-end-line="14" selection-end-column="27" />
|
||||
<folding>
|
||||
<element signature="e#0#13#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</component>
|
||||
</project>
|
||||
@ -1,8 +0,0 @@
|
||||
from shutil import copytree
|
||||
|
||||
# PI
|
||||
OUTPUTFILE = "/media/data_1/www/pub-html/ofu-food.html"
|
||||
CSSFILE_SRC = "../css/bootstrap-4.0.0-beta-dist"
|
||||
CSSFILE_DEST = "/media/data_1/www/css/bootstrap-4.0.0-beta-dist"
|
||||
|
||||
copytree(CSSFILE_SRC, CSSFILE_DEST)
|
||||
Binary file not shown.
@ -1,30 +0,0 @@
|
||||
import importlib
|
||||
|
||||
UNIVIS_RPG_URL = "http://univis.uni-bamberg.de/prg?search=events&show=xml"
|
||||
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/"
|
||||
|
||||
|
||||
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()
|
||||
@ -1,53 +0,0 @@
|
||||
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)
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,62 +0,0 @@
|
||||
import importlib
|
||||
|
||||
mensapageparser = importlib.import_module('mensa-page-parser')
|
||||
cafetepageparser = importlib.import_module('cafete-page-parser')
|
||||
fekidehappyhourpageparser = importlib.import_module('fekide-happyhour-page-parser')
|
||||
|
||||
# JSON_OUTPUT_DIR = "../json/"
|
||||
# PI
|
||||
JSON_OUTPUT_DIR = "/media/data_1/www/pub-html/ofu-food/json/"
|
||||
|
||||
LINK_FEKI_MENSA = "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"
|
||||
LINK_AUSTR_MENSA = "https://www.studentenwerk-wuerzburg.de/bamberg/essen-trinken/speiseplaene.html?tx_thmensamenu_pi2%5Bmensen%5D=2&tx_thmensamenu_pi2%5Baction%5D=show&tx_thmensamenu_pi2%5Bcontroller%5D=Speiseplan&cHash=511e047953ee1370c3b82c11a04624bb"
|
||||
LINK_ERBA_CAFETE = "https://www.studentenwerk-wuerzburg.de/bamberg/essen-trinken/sonderspeiseplaene/cafeteria-erba-insel.html"
|
||||
LINK_MARKUS_CAFETE = "https://www.studentenwerk-wuerzburg.de/bamberg/essen-trinken/sonderspeiseplaene/cafeteria-markusplatz.html"
|
||||
LINK_FEKIDE_GUIDE = "https://www.feki.de/happyhour"
|
||||
|
||||
|
||||
def writeToFile(jsonfile, filename):
|
||||
with open((JSON_OUTPUT_DIR + filename), "w") as file:
|
||||
file.write(jsonfile)
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
fekiMensaJson = mensapageparser.parsePage(LINK_FEKI_MENSA)
|
||||
|
||||
except IndexError:
|
||||
print("Error")
|
||||
fekiMensaJson = {}
|
||||
|
||||
try:
|
||||
austrMensaJson = mensapageparser.parsePage(LINK_AUSTR_MENSA)
|
||||
except IndexError:
|
||||
print("Error")
|
||||
austrMensaJson = {}
|
||||
|
||||
try:
|
||||
erbaCafeteJson = cafetepageparser.parsePage(LINK_ERBA_CAFETE)
|
||||
except IndexError:
|
||||
print("Error")
|
||||
erbaCafeteJson = {}
|
||||
|
||||
try:
|
||||
markusCafeteJson = cafetepageparser.parsePage(LINK_MARKUS_CAFETE)
|
||||
except IndexError:
|
||||
print("Error")
|
||||
markusCafeteJson = {}
|
||||
|
||||
try:
|
||||
fekidehappyhourJson = fekidehappyhourpageparser.parsePage(LINK_FEKIDE_GUIDE)
|
||||
except IndexError:
|
||||
print("Error")
|
||||
fekidehappyhourJson = {}
|
||||
|
||||
writeToFile(fekiMensaJson, "feki-mensa.json")
|
||||
writeToFile(austrMensaJson, "austr-mensa.json")
|
||||
writeToFile(erbaCafeteJson, "erba-cafete.json")
|
||||
writeToFile(markusCafeteJson, "markus-cafete.json")
|
||||
writeToFile(fekidehappyhourJson, "feki-happyhour-guide.json")
|
||||
|
||||
|
||||
main()
|
||||
@ -1,60 +0,0 @@
|
||||
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 = 'food.jinja'
|
||||
|
||||
# Config Thinkpad
|
||||
# JSON_FILES_PATH = "../json/"
|
||||
# OUTPUT = "../html/food.html"
|
||||
# JINJA_PATH = 'templates/'
|
||||
|
||||
|
||||
# PI
|
||||
JSON_FILES_PATH = "/media/data_1/www/pub-html/ofu-food/json/"
|
||||
OUTPUT = "/media/data_1/www/pub-html/ofu-food/food.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():
|
||||
erbaJson = getJsonFromFile(JSON_FILES_PATH + "erba-cafete.json")
|
||||
markusJson = getJsonFromFile(JSON_FILES_PATH + "markus-cafete.json")
|
||||
fekiJson = getJsonFromFile(JSON_FILES_PATH + "feki-mensa.json")
|
||||
austrJson = getJsonFromFile(JSON_FILES_PATH + "austr-mensa.json")
|
||||
fekideJson = getJsonFromFile(JSON_FILES_PATH + "feki-happyhour-guide.json")
|
||||
|
||||
env = Environment(loader=FileSystemLoader(JINJA_PATH))
|
||||
template = env.get_template(TEMPLATE_PATH)
|
||||
|
||||
templateVars = {
|
||||
"cssfile": CSSFILE_WEB,
|
||||
"executiontime": datetime.datetime.today().strftime("%A, %d.%m.%Y"),
|
||||
"erbaCafeteTitle": erbaJson['name'],
|
||||
"erbaWeekmenu": erbaJson['weekmenu'],
|
||||
"markusCafeteTitle": markusJson['name'],
|
||||
"markusWeekmenu": markusJson['weekmenu'],
|
||||
"austrMensaTitle": austrJson['name'],
|
||||
"austrWeekmenu": austrJson['weekmenu'],
|
||||
"fekiMensaTitle": fekiJson['name'],
|
||||
"fekiWeekmenu": fekiJson['weekmenu'],
|
||||
"happyHourDay": fekideJson['day'],
|
||||
"happyhours": fekideJson['happyhours'],
|
||||
}
|
||||
|
||||
# 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()
|
||||
@ -1,162 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import requests
|
||||
from bs4 import BeautifulSoup
|
||||
import datetime
|
||||
|
||||
CSSFILE_WEB = "../css/bootstrap-4.0.0-beta-dist/css/bootstrap.css"
|
||||
|
||||
# thinkpad
|
||||
# OUTPUTFILE = "../html/ofu-food.html"
|
||||
|
||||
# PI
|
||||
OUTPUTFILE = "/media/data_1/www/pub-html/ofu-food.html"
|
||||
|
||||
LINK_FEKI_MENSA = "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"
|
||||
LINK_AUSTR_MENSA = "https://www.studentenwerk-wuerzburg.de/bamberg/essen-trinken/speiseplaene.html?tx_thmensamenu_pi2%5Bmensen%5D=2&tx_thmensamenu_pi2%5Baction%5D=show&tx_thmensamenu_pi2%5Bcontroller%5D=Speiseplan&cHash=511e047953ee1370c3b82c11a04624bb"
|
||||
LINK_ERBA_CAFETE = "https://www.studentenwerk-wuerzburg.de/bamberg/essen-trinken/sonderspeiseplaene/cafeteria-erba-insel.html"
|
||||
LINK_MARKUS_CAFETE = "https://www.studentenwerk-wuerzburg.de/bamberg/essen-trinken/sonderspeiseplaene/cafeteria-markusplatz.html"
|
||||
LINK_FEKIDE_GUIDE = "https://www.feki.de/happyhour"
|
||||
|
||||
|
||||
def getHtmlHeader():
|
||||
head = '<head>'
|
||||
head += '<meta charset="utf-8">'
|
||||
head += '<meta name="description" content="Sammelwebsite für das Essen der Uni Bamberg">'
|
||||
head += '<meta name="keywords" content="OFU, Otto-Friedrich, Universität, Bamberg">'
|
||||
head += '<link rel="stylesheet" href="' + CSSFILE_WEB + '">'
|
||||
head += '<title>Essen an der OFU</title>'
|
||||
head += '</head>'
|
||||
return head
|
||||
|
||||
|
||||
def getExecuteTime():
|
||||
return "<p>Last execute: " + datetime.datetime.today().strftime("%d.%m.%Y") + "</p>"
|
||||
|
||||
|
||||
def getFoodHtml(erbaHtml, markusHtml, austrHtml, fekiHtml, happyHourHtml):
|
||||
html = '<!doctype html>'
|
||||
html += '<html lang="de">'
|
||||
html += getHtmlHeader()
|
||||
html += '<body>'
|
||||
html += getExecuteTime()
|
||||
html += '<div class="container">'
|
||||
html += '<div class="row">'
|
||||
html += '<div class="col">'
|
||||
html += str(erbaHtml)
|
||||
html += '</div>'
|
||||
html += '<div class="col">'
|
||||
html += str(markusHtml)
|
||||
html += '</div>'
|
||||
html += '</div>'
|
||||
html += '<div class="row">'
|
||||
html += '<div class="col">'
|
||||
html += str(austrHtml)
|
||||
html += '</div>'
|
||||
html += '<div class="col">'
|
||||
html += str(fekiHtml)
|
||||
html += '</div>'
|
||||
html += '</div>'
|
||||
html += '<div class="row">'
|
||||
html += '<div class="col">'
|
||||
html += str(happyHourHtml)
|
||||
html += '</div>'
|
||||
html += '</div>'
|
||||
html += '</div>'
|
||||
html += '</body>'
|
||||
html += '</html>'
|
||||
return html
|
||||
|
||||
|
||||
def getFoodDiv(html, divClass):
|
||||
soup = BeautifulSoup(html, "lxml")
|
||||
return soup.find("div", {"class": divClass})
|
||||
|
||||
|
||||
def getHappyHourGuideFood(html):
|
||||
soup = BeautifulSoup(html, "lxml")
|
||||
return soup.find("div", {"id": "food"})
|
||||
|
||||
|
||||
def getWebPages():
|
||||
erbaCafete = requests.get(LINK_ERBA_CAFETE).content
|
||||
markusCafete = requests.get(LINK_MARKUS_CAFETE).content
|
||||
austrMensa = requests.get(LINK_AUSTR_MENSA).content
|
||||
fekiMensa = requests.get(LINK_FEKI_MENSA).content
|
||||
happyHourGuide = requests.get(LINK_FEKIDE_GUIDE).content
|
||||
return (erbaCafete, markusCafete, austrMensa, fekiMensa, happyHourGuide)
|
||||
|
||||
|
||||
def getSpecificParts():
|
||||
erbaCafete, markusCafete, austrMensa, fekiMensa, happyHourGuide = getWebPages()
|
||||
erbaCafeteFood = getFoodDiv(erbaCafete, "csc-default")
|
||||
markusCafeteFood = getFoodDiv(markusCafete, "csc-default")
|
||||
austrMensaFood = getFoodDiv(austrMensa, "day")
|
||||
fekiMensaFood = getFoodDiv(fekiMensa, "day")
|
||||
happyHourGuideFood = getHappyHourGuideFood(happyHourGuide)
|
||||
return (erbaCafeteFood, markusCafeteFood, austrMensaFood, fekiMensaFood, happyHourGuideFood)
|
||||
|
||||
|
||||
def writeHtml(html):
|
||||
with open(OUTPUTFILE, "w") as file:
|
||||
file.write(html)
|
||||
|
||||
|
||||
def stripCafeteFood(html):
|
||||
soup = BeautifulSoup(str(html), "lxml")
|
||||
food = soup.find_all("p", {"class": "bodytext"})
|
||||
return food[(food.__len__() - 2)]
|
||||
|
||||
|
||||
def htmlErbaCafete(food):
|
||||
html = '<h2>Cafeteria Erba-Insel</h2>'
|
||||
html += str(food)
|
||||
return html
|
||||
|
||||
|
||||
def htmlMarkusCafete(food):
|
||||
html = '<h2>Cafeteria Markusplatz</h2>'
|
||||
html += str(food)
|
||||
return html
|
||||
|
||||
|
||||
def htmlHappyHour(food):
|
||||
html = '<h2>Feki.de Happy Hour Guide</h2>'
|
||||
html += str(food)
|
||||
return html
|
||||
|
||||
|
||||
def getFoodMensa(austrMensaFood, title):
|
||||
html = '<div>'
|
||||
html += '<h2>' + title + '</h2>'
|
||||
soup = BeautifulSoup(str(austrMensaFood), "lxml")
|
||||
foodDay = soup.find("div", {"class": "day"}).h5
|
||||
html += str(foodDay)
|
||||
foods = soup.find_all("article", {"class": "menu"})
|
||||
for food in foods:
|
||||
soupSingleFood = BeautifulSoup(str(food), "lxml")
|
||||
singleFood = soupSingleFood.find("div", {"class": "title"})
|
||||
alergenLink = soupSingleFood.find("div", {"class": "additnr"}).a
|
||||
html += str(singleFood)
|
||||
html += str(alergenLink)
|
||||
html += '</div>'
|
||||
return html
|
||||
|
||||
|
||||
def main():
|
||||
(erbaCafeteFood, markusCafeteFood, austrMensaFood, fekiMensaFood, happyHourGuideFood) = getSpecificParts()
|
||||
erbaCafeteFood = stripCafeteFood(erbaCafeteFood)
|
||||
erbaCafeteFood = htmlErbaCafete(erbaCafeteFood)
|
||||
markusCafeteFood = stripCafeteFood(markusCafeteFood)
|
||||
markusCafeteFood = htmlMarkusCafete(markusCafeteFood)
|
||||
happyHourGuideFood = htmlHappyHour(happyHourGuideFood)
|
||||
|
||||
austrMensaFood = getFoodMensa(austrMensaFood, "Mensa Austraße")
|
||||
fekiMensaFood = getFoodMensa(fekiMensaFood, "Feki Mensa")
|
||||
|
||||
html = getFoodHtml(erbaCafeteFood, markusCafeteFood, austrMensaFood, fekiMensaFood, happyHourGuideFood)
|
||||
writeHtml(html)
|
||||
|
||||
|
||||
main()
|
||||
@ -1,61 +0,0 @@
|
||||
import jinja2
|
||||
import json
|
||||
import datetime
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
from pprint import pprint
|
||||
|
||||
# Config global
|
||||
|
||||
TEMPLATE_PATH = 'events.jinja'
|
||||
|
||||
# Config Thinkpad
|
||||
# CSSFILE_WEB = "../css/bootstrap-4.0.0-beta-dist/css/bootstrap.css"
|
||||
# JSON_FILES_PATH = "../json/"
|
||||
# OUTPUT = "../html/event.html"
|
||||
# JINJA_PATH = 'templates/'
|
||||
|
||||
|
||||
# PI
|
||||
CSSFILE_WEB = "../../css/bootstrap-4.0.0-beta-dist/css/bootstrap.css"
|
||||
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 getTemplate():
|
||||
env = Environment(loader=FileSystemLoader(JINJA_PATH))
|
||||
return env.get_template(TEMPLATE_PATH)
|
||||
|
||||
|
||||
def writeHtml(html):
|
||||
with open(OUTPUT, "w") as file:
|
||||
file.write(html)
|
||||
|
||||
|
||||
def resolveDates(json):
|
||||
for event in json['UnivIS']['Event']:
|
||||
start_datetime = datetime.datetime.strptime(event['startdate'], "%Y-%m-%d").strftime("%d.%m.%Y")
|
||||
event['startdate'] = start_datetime
|
||||
end_datetime = datetime.datetime.strptime(event['enddate'], "%Y-%m-%d").strftime("%d.%m.%Y")
|
||||
event['enddate'] = end_datetime
|
||||
|
||||
|
||||
def main():
|
||||
ofuEventsJson = getJsonFromFile(JSON_FILES_PATH + "events-ofu.json")
|
||||
resolveDates(ofuEventsJson)
|
||||
template = getTemplate()
|
||||
|
||||
templateVars = {
|
||||
"cssfile": CSSFILE_WEB,
|
||||
"events_wrapper": ofuEventsJson,
|
||||
}
|
||||
|
||||
writeHtml(template.render(templateVars))
|
||||
|
||||
|
||||
main()
|
||||
@ -1,38 +0,0 @@
|
||||
<!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>Events an der OFU</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<p class="text-right">Last execute: {{ events_wrapper.last_execute }}</p>
|
||||
<h1 class="text-center">Events for Students</h1>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
{% for event in events_wrapper.UnivIS.Event %}
|
||||
<div class="col-12 col-sm-6 col-md-6">
|
||||
<div class="card mb-3 border border-info rounded" style="height: 99%; width: 100%;">
|
||||
<div class="card-body">
|
||||
<h4>{{ event.title }}</h4>
|
||||
<p>Beginn: {{ event.startdate }} at {{ event.starttime }}</p>
|
||||
<p>Ende: {{ event.enddate }} at {{ event.endtime }}</p>
|
||||
{% if event.rooms %}
|
||||
<p>Veranstaltungsort: {{ event.rooms.room.short }}</p>
|
||||
{% endif %}
|
||||
<p>{{ event.description }}</p>
|
||||
<p>Organisator: {{ event.orgname }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@ -1,81 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="description" content="Sammelwebsite für das Essen der Uni Bamberg">
|
||||
<meta name="keywords" content="OFU, Otto-Friedrich, Universität, Bamberg">
|
||||
<link rel="stylesheet" href=" {{ cssfile }} ">
|
||||
<title>Essen an der OFU</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1 class="text-center">Food for Students</h1>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col m-2 p-3 border border-info rounded">
|
||||
<h2>{{ erbaCafeteTitle }}</h2>
|
||||
{% for menu in erbaWeekmenu %}
|
||||
<p><span>{{ menu.date }}</span><span>{{ menu.menu[0] }}</span></p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<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>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col m-2 p-3 border border-info rounded">
|
||||
<h2>{{ austrMensaTitle }}</h2>
|
||||
{% for dayMenu in austrWeekmenu %}
|
||||
<h3>{{ dayMenu.date }}</h3>
|
||||
{% for singleFood in dayMenu.menu %}
|
||||
<p>{{ singleFood }}</p>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="col m-2 p-3 border border-info rounded">
|
||||
<h2>{{ fekiMensaTitle }}</h2>
|
||||
{% for dayMenu in fekiWeekmenu %}
|
||||
<h3>{{ dayMenu.date }}</h3>
|
||||
{% for singleFood in dayMenu.menu %}
|
||||
<p>{{ singleFood }}</p>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col m-2 p-3 border border-info rounded">
|
||||
<h2>Feki.de Happy Hour Guide for Food</h2>
|
||||
<h3>{{ happyHourDay }}</h3>
|
||||
{% if happyhours %}
|
||||
<table class="table">
|
||||
<thead class="thead-inverse">
|
||||
<tr>
|
||||
<th>Location</th>
|
||||
<th>Time</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for happyhour in happyhours %}
|
||||
<tr>
|
||||
<td>{{ happyhour.location }}</td>
|
||||
<td>{{ happyhour.time }}</td>
|
||||
<td>{{ happyhour.description }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% else %}
|
||||
<p>Leider gibt es heute keine Happy Hours :(</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p class="text-right">Last execute: {{ executiontime }}</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@ -2,7 +2,7 @@
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/ofu-food.iml" filepath="$PROJECT_DIR$/.idea/ofu-food.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/ofu_app.iml" filepath="$PROJECT_DIR$/.idea/ofu_app.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
24
ofu_app/.idea/ofu_app.iml
generated
Normal file
24
ofu_app/.idea/ofu_app.iml
generated
Normal file
@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="django" name="Django">
|
||||
<configuration>
|
||||
<option name="rootFolder" value="$MODULE_DIR$" />
|
||||
<option name="settingsModule" value="ofu_app/settings.py" />
|
||||
<option name="manageScript" value="$MODULE_DIR$/manage.py" />
|
||||
<option name="environment" value="<map/>" />
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
<component name="TemplatesService">
|
||||
<option name="TEMPLATE_CONFIGURATION" value="Django" />
|
||||
</component>
|
||||
<component name="TestRunnerService">
|
||||
<option name="PROJECT_TEST_RUNNER" value="Unittests" />
|
||||
</component>
|
||||
</module>
|
||||
996
ofu_app/.idea/workspace.xml
generated
Normal file
996
ofu_app/.idea/workspace.xml
generated
Normal file
@ -0,0 +1,996 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="f783ff92-97a9-4cab-8b91-b76bd998ba56" name="Default" comment="" />
|
||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||
<option name="TRACKING_ENABLED" value="true" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="CoverageDataManager">
|
||||
<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$migrate_data.coverage" NAME="migrate-data Coverage Results" MODIFIED="1506734953380" 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" />
|
||||
</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)" />
|
||||
</component>
|
||||
<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">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="2980">
|
||||
<caret line="149" column="18" lean-forward="false" selection-start-line="149" selection-start-column="18" selection-end-line="149" selection-end-column="18" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="models.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/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>
|
||||
</file>
|
||||
<file leaf-file-name="daily_food.jinja" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/templates/food/daily_food.jinja">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="20">
|
||||
<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>
|
||||
</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>
|
||||
<file leaf-file-name="views.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/food/views.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="120">
|
||||
<caret line="13" column="35" lean-forward="false" selection-start-line="13" selection-start-column="35" selection-end-line="13" selection-end-column="35" />
|
||||
<folding>
|
||||
<element signature="e#24#63#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</component>
|
||||
<component name="FileTemplateManagerImpl">
|
||||
<option name="RECENT_TEMPLATES">
|
||||
<list>
|
||||
<option value="Python Script" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="FindInProjectRecents">
|
||||
<findStrings>
|
||||
<find>PIP</find>
|
||||
</findStrings>
|
||||
</component>
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="CHANGED_PATHS">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/data_collectors/food/json/controller-json-food.py" />
|
||||
<option value="$PROJECT_DIR$/data_collectors/food/parser/mensa-page-parser.py" />
|
||||
<option value="$PROJECT_DIR$/templates/food/daily-food.jinja" />
|
||||
<option value="$PROJECT_DIR$/data_collectors/food/migrate-data.py" />
|
||||
<option value="$PROJECT_DIR$/food/urls.py" />
|
||||
<option value="$PROJECT_DIR$/data_collectors/events/parser/fekide-eventpage-parser.py" />
|
||||
<option value="$PROJECT_DIR$/data_collectors/events/json_generator/controller-json-events.py" />
|
||||
<option value="$PROJECT_DIR$/food/models.py" />
|
||||
<option value="$PROJECT_DIR$/events/models.py" />
|
||||
<option value="$PROJECT_DIR$/data_collectors/events/migrate-data.py" />
|
||||
<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" />
|
||||
<option value="$PROJECT_DIR$/templates/food/daily_food.jinja" />
|
||||
<option value="$PROJECT_DIR$/templates/food/food.jinja" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
|
||||
<component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
|
||||
<component name="JsGulpfileManager">
|
||||
<detection-done>true</detection-done>
|
||||
<sorting>DEFINITION_ORDER</sorting>
|
||||
</component>
|
||||
<component name="ProjectFrameBounds">
|
||||
<option name="y" value="27" />
|
||||
<option name="width" value="1920" />
|
||||
<option name="height" value="1053" />
|
||||
</component>
|
||||
<component name="ProjectView">
|
||||
<navigator currentView="ProjectPane" proportions="" version="1">
|
||||
<flattenPackages />
|
||||
<showMembers />
|
||||
<showModules />
|
||||
<showLibraryContents />
|
||||
<hideEmptyPackages />
|
||||
<abbreviatePackageNames />
|
||||
<autoscrollToSource />
|
||||
<autoscrollFromSource />
|
||||
<sortByType />
|
||||
<manualOrder />
|
||||
<foldersAlwaysOnTop value="true" />
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="Scratches" />
|
||||
<pane id="Scope" />
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<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>
|
||||
<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="templates" />
|
||||
<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="templates" />
|
||||
<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="templates" />
|
||||
<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="ofu_app" />
|
||||
<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="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="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>
|
||||
<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="events" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
</subPane>
|
||||
</pane>
|
||||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
||||
<property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
|
||||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$/data_collectors/events/parser" />
|
||||
<recent name="$PROJECT_DIR$/food/static" />
|
||||
<recent name="$PROJECT_DIR$/data_collectors/food/parser" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunDashboard">
|
||||
<option name="ruleStates">
|
||||
<list>
|
||||
<RuleState>
|
||||
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
|
||||
</RuleState>
|
||||
<RuleState>
|
||||
<option name="name" value="StatusDashboardGroupingRule" />
|
||||
</RuleState>
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="RunManager" selected="Python.migrate-data">
|
||||
<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" />
|
||||
<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/food" />
|
||||
<option name="IS_MODULE_SDK" value="false" />
|
||||
<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/food/migrate-data.py" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="controller-json-food" 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$/data_collectors/food/json_generator" />
|
||||
<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/food/json_generator/controller-json-food.py" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="controller-json-events" 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/json_generator" />
|
||||
<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/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="PARAMETERS" value="" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="migrate-data (1)" 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" />
|
||||
<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/migrate-data.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" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="" />
|
||||
<option name="IS_MODULE_SDK" value="false" />
|
||||
<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="TARGET" value="" />
|
||||
<option name="SETTINGS_FILE" value="" />
|
||||
<option name="CUSTOM_SETTINGS" value="false" />
|
||||
<option name="USE_OPTIONS" value="false" />
|
||||
<option name="OPTIONS" value="" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="JavaScriptTestRunnerJest" factoryName="Jest">
|
||||
<node-interpreter value="project" />
|
||||
<working-dir value="" />
|
||||
<envs />
|
||||
<scope-kind value="ALL" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="JavaScriptTestRunnerProtractor" factoryName="Protractor">
|
||||
<config-file value="" />
|
||||
<node-interpreter value="project" />
|
||||
<envs />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug">
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="PyBehaveRunConfigurationType" factoryName="Behave">
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs />
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="" />
|
||||
<option name="IS_MODULE_SDK" value="false" />
|
||||
<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="ADDITIONAL_ARGS" value="" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="PyLettuceRunConfigurationType" factoryName="Lettuce">
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs />
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="" />
|
||||
<option name="IS_MODULE_SDK" value="false" />
|
||||
<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="ADDITIONAL_ARGS" value="" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="Python.DjangoServer" factoryName="Django server">
|
||||
<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="" />
|
||||
<option name="IS_MODULE_SDK" value="false" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<module name="ofu_app" />
|
||||
<option name="launchJavascriptDebuger" value="false" />
|
||||
<option name="port" value="8000" />
|
||||
<option name="host" value="" />
|
||||
<option name="additionalOptions" value="" />
|
||||
<option name="browserUrl" value="" />
|
||||
<option name="runTestServer" value="false" />
|
||||
<option name="runNoReload" value="false" />
|
||||
<option name="useCustomRunCommand" value="false" />
|
||||
<option name="customRunCommand" value="" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="PythonConfigurationType" factoryName="Python">
|
||||
<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="" />
|
||||
<option name="IS_MODULE_SDK" value="false" />
|
||||
<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="" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="Tox" factoryName="Tox">
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs />
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="" />
|
||||
<option name="IS_MODULE_SDK" value="false" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||
<module name="ofu_app" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js">
|
||||
<node-interpreter>project</node-interpreter>
|
||||
<node-options />
|
||||
<gulpfile />
|
||||
<tasks />
|
||||
<arguments />
|
||||
<envs />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="js.build_tools.npm" factoryName="npm">
|
||||
<command value="run" />
|
||||
<scripts />
|
||||
<node-interpreter value="project" />
|
||||
<envs />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="tests" factoryName="Doctests">
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs />
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="" />
|
||||
<option name="IS_MODULE_SDK" value="false" />
|
||||
<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="" />
|
||||
<option name="CLASS_NAME" value="" />
|
||||
<option name="METHOD_NAME" value="" />
|
||||
<option name="FOLDER_NAME" value="" />
|
||||
<option name="TEST_TYPE" value="TEST_SCRIPT" />
|
||||
<option name="PATTERN" value="" />
|
||||
<option name="USE_PATTERN" value="false" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="tests" factoryName="Unittests">
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs />
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="" />
|
||||
<option name="IS_MODULE_SDK" value="false" />
|
||||
<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="_new_additionalArguments" value="""" />
|
||||
<option name="_new_target" value=""."" />
|
||||
<option name="_new_targetType" value=""PATH"" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="ofu_app" type="Python.DjangoServer" factoryName="Django server">
|
||||
<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="" />
|
||||
<option name="IS_MODULE_SDK" value="false" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<module name="ofu_app" />
|
||||
<option name="launchJavascriptDebuger" value="false" />
|
||||
<option name="port" value="8000" />
|
||||
<option name="host" value="" />
|
||||
<option name="additionalOptions" value="" />
|
||||
<option name="browserUrl" value="" />
|
||||
<option name="runTestServer" value="false" />
|
||||
<option name="runNoReload" value="false" />
|
||||
<option name="useCustomRunCommand" value="false" />
|
||||
<option name="customRunCommand" value="" />
|
||||
<method />
|
||||
</configuration>
|
||||
<list size="6">
|
||||
<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-food" />
|
||||
<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="5" class="java.lang.String" itemvalue="Python.migrate-data (1)" />
|
||||
</list>
|
||||
<recent_temporary>
|
||||
<list size="5">
|
||||
<item index="0" class="java.lang.String" itemvalue="Python.migrate-data" />
|
||||
<item index="1" class="java.lang.String" itemvalue="Python.migrate-data (1)" />
|
||||
<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.controller-json-food" />
|
||||
</list>
|
||||
</recent_temporary>
|
||||
</component>
|
||||
<component name="ShelveChangesManager" show_recycled="false">
|
||||
<option name="remove_strategy" value="false" />
|
||||
</component>
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="Default task">
|
||||
<changelist id="f783ff92-97a9-4cab-8b91-b76bd998ba56" name="Default" comment="" />
|
||||
<created>1506687652024</created>
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1506687652024</updated>
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TodoView">
|
||||
<todo-panel id="selected-file">
|
||||
<is-autoscroll-to-source value="true" />
|
||||
</todo-panel>
|
||||
<todo-panel id="all">
|
||||
<are-packages-shown value="true" />
|
||||
<is-autoscroll-to-source value="true" />
|
||||
</todo-panel>
|
||||
</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.2596154" 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="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="false" 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="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" />
|
||||
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Inspection" 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="5" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Hierarchy" active="false" anchor="right" 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="combo" />
|
||||
<window_info id="Find" 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="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Ant Build" active="false" anchor="right" 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" />
|
||||
</layout>
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
<option name="processedProjectFiles" value="true" />
|
||||
</component>
|
||||
<component name="VcsContentAnnotationSettings">
|
||||
<option name="myLimit" value="2678400000" />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager>
|
||||
<option name="time" value="3" />
|
||||
</breakpoint-manager>
|
||||
<watches-manager />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/ofu_app/settings.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="2980">
|
||||
<caret line="149" column="18" lean-forward="false" selection-start-line="149" selection-start-column="18" selection-end-line="149" selection-end-column="18" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/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/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$/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>
|
||||
<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>
|
||||
<entry file="file://$PROJECT_DIR$/food/views.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="120">
|
||||
<caret line="13" column="35" lean-forward="false" selection-start-line="13" selection-start-column="35" selection-end-line="13" selection-end-column="35" />
|
||||
<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>
|
||||
<entry file="file://$PROJECT_DIR$/ofu_app/settings.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="780">
|
||||
<caret line="39" column="9" lean-forward="false" selection-start-line="39" selection-start-column="9" selection-end-line="39" selection-end-column="9" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/food/models.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<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" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/food/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">
|
||||
<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" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/ofu_app/settings.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$/food/models.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<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" />
|
||||
</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">
|
||||
<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/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="false" selection-start-line="8" selection-start-column="24" selection-end-line="8" selection-end-column="32" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<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="416">
|
||||
<caret line="38" column="61" lean-forward="false" selection-start-line="38" selection-start-column="61" selection-end-line="38" selection-end-column="79" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/events/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" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/food/migrate-data.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="420">
|
||||
<caret line="42" column="74" lean-forward="false" selection-start-line="42" selection-start-column="74" selection-end-line="42" selection-end-column="81" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/events/models.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="260">
|
||||
<caret line="13" column="12" lean-forward="false" selection-start-line="13" selection-start-column="4" selection-end-line="13" selection-end-column="12" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/food/urls.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="478">
|
||||
<caret line="24" column="0" lean-forward="true" selection-start-line="0" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="e#641#673#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/ofu_app/urls.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="440">
|
||||
<caret line="23" column="17" lean-forward="false" selection-start-line="23" selection-start-column="17" selection-end-line="23" selection-end-column="17" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/events/urls.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="436">
|
||||
<caret line="22" column="0" lean-forward="true" selection-start-line="22" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="e#641#673#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/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>
|
||||
<element signature="e#0#35#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/events/migrate-data.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="236">
|
||||
<caret line="19" column="16" lean-forward="false" selection-start-line="19" selection-start-column="16" selection-end-line="19" selection-end-column="16" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/data_collectors/food/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$/ofu_app/settings.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="2980">
|
||||
<caret line="149" column="18" lean-forward="false" selection-start-line="149" selection-start-column="18" selection-end-line="149" selection-end-column="18" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/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$/food/views.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="120">
|
||||
<caret line="13" column="35" lean-forward="false" selection-start-line="13" selection-start-column="35" selection-end-line="13" selection-end-column="35" />
|
||||
<folding>
|
||||
<element signature="e#24#63#0" expanded="true" />
|
||||
</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>
|
||||
<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$/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>
|
||||
<entry file="file://$PROJECT_DIR$/templates/food/daily_food.jinja">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="20">
|
||||
<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>
|
||||
</component>
|
||||
</project>
|
||||
0
ofu_app/data_collectors/__init__.py
Normal file
0
ofu_app/data_collectors/__init__.py
Normal file
BIN
ofu_app/data_collectors/__pycache__/__init__.cpython-35.pyc
Normal file
BIN
ofu_app/data_collectors/__pycache__/__init__.cpython-35.pyc
Normal file
Binary file not shown.
0
ofu_app/data_collectors/events/__init__.py
Normal file
0
ofu_app/data_collectors/events/__init__.py
Normal file
Binary file not shown.
@ -0,0 +1,42 @@
|
||||
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 = "./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 IndexError:
|
||||
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 IndexError:
|
||||
print("Error")
|
||||
json_events_univis_pretty = {}
|
||||
|
||||
try:
|
||||
json_events_fekide = parser_event_fekide.parsePage()
|
||||
except IndexError:
|
||||
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
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
38
ofu_app/data_collectors/events/migrate-data.py
Normal file
38
ofu_app/data_collectors/events/migrate-data.py
Normal file
@ -0,0 +1,38 @@
|
||||
import json
|
||||
from pprint import pprint
|
||||
import django, os
|
||||
from datetime import datetime
|
||||
from django.db.utils import IntegrityError
|
||||
|
||||
os.environ['DJANGO_SETTINGS_MODULE'] = 'ofu_app.settings'
|
||||
django.setup()
|
||||
from events.models import Event
|
||||
|
||||
JSON_FILES_PATH_EVENTS = "json_generator/jsons/"
|
||||
|
||||
|
||||
def getJsonFromFile(path):
|
||||
with open(path, "r") as file:
|
||||
return json.load(file)
|
||||
|
||||
|
||||
def writeFekideDataInDB(data):
|
||||
for date in data['dates']:
|
||||
for event in date['events']:
|
||||
try:
|
||||
time = datetime.strptime(str(event['time']).split()[1], "%H:%M")
|
||||
Event.objects.create(date=datetime.strptime(date['date'], "%d.%m.%Y"), category=event['category'],
|
||||
link=event['link'], location=event['location'], title=event['title'], time=time)
|
||||
except IntegrityError:
|
||||
# ignored
|
||||
break
|
||||
|
||||
|
||||
def main():
|
||||
# get food jsons
|
||||
writeFekideDataInDB(getJsonFromFile(JSON_FILES_PATH_EVENTS + "events-fekide.json"))
|
||||
|
||||
pprint("Event: " + str(Event.objects.count()))
|
||||
|
||||
|
||||
main()
|
||||
0
ofu_app/data_collectors/events/parser/__init__.py
Normal file
0
ofu_app/data_collectors/events/parser/__init__.py
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,72 @@
|
||||
import requests
|
||||
from bs4 import BeautifulSoup
|
||||
import datetime
|
||||
import json
|
||||
from pprint import pprint
|
||||
import os
|
||||
import locale
|
||||
|
||||
os.environ['TZ'] = 'Europe/Berlin'
|
||||
|
||||
SPEISEPLAN_NAME_SELECTOR = '.csc-default .csc-header .csc-firstHeader'
|
||||
LINK_FEKIDE_Events = "https://www.feki.de/terminkalender"
|
||||
LINK_FEKIDE = "https://www.feki.de"
|
||||
|
||||
locale.setlocale(locale.LC_TIME, '')
|
||||
|
||||
|
||||
def loadPage(url: str):
|
||||
return requests.get(url).content
|
||||
|
||||
|
||||
def getDay():
|
||||
return datetime.datetime.today().strftime("%A, %d.%m.%Y")
|
||||
|
||||
|
||||
def getEvents(soup):
|
||||
datelist_json = []
|
||||
datelist = soup.select('#feki_terminkalender_overview .event_overview_day')
|
||||
for dateelement in datelist:
|
||||
date = {}
|
||||
datesoup = BeautifulSoup(str(dateelement), "lxml")
|
||||
date['date'] = datetime.datetime.strptime(datesoup.find('h3').getText(), "%d. %B").replace(
|
||||
year=datetime.datetime.now().year).strftime("%d.%m.%Y")
|
||||
events = datesoup.select('div a')
|
||||
events_arr = []
|
||||
for event_elem in events:
|
||||
event = {}
|
||||
eventsoup = BeautifulSoup(str(event_elem), "lxml")
|
||||
title_category = eventsoup.find('div', {'class': 'event_overview_title'})
|
||||
event['title'] = title_category.getText()
|
||||
event['category'] = title_category.find('span').getText()
|
||||
event['location'] = eventsoup.find('div', {'class': 'event_overview_location'}).getText()
|
||||
event['time'] = eventsoup.find('div', {'class': 'event_overview_time'}).getText()
|
||||
event['link'] = LINK_FEKIDE + event_elem['href']
|
||||
events_arr.append(event)
|
||||
date['events'] = events_arr
|
||||
datelist_json.append(date)
|
||||
return datelist_json
|
||||
|
||||
|
||||
def getNextPage(soup):
|
||||
return soup.select('#block-system-main .pagination .next a')
|
||||
|
||||
|
||||
def getAllDates(url: str):
|
||||
page = loadPage(url)
|
||||
soup = BeautifulSoup(page, "lxml")
|
||||
dates = getEvents(soup)
|
||||
nextPage = getNextPage(soup)
|
||||
dates_nextPage = []
|
||||
if nextPage:
|
||||
dates_nextPage = getAllDates(LINK_FEKIDE_Events + str(nextPage[0]['href']))
|
||||
return dates + dates_nextPage
|
||||
|
||||
|
||||
def parsePage():
|
||||
pagecontent = {}
|
||||
pagecontent['dates'] = getAllDates(LINK_FEKIDE_Events)
|
||||
jsondata = json.dumps(pagecontent)
|
||||
return jsondata
|
||||
|
||||
# parsePage()
|
||||
@ -3,6 +3,9 @@ import datetime
|
||||
import xmltodict
|
||||
import json
|
||||
|
||||
# CONFIG
|
||||
UNIVIS_RPG_URL = "http://univis.uni-bamberg.de/prg?search=events&show=xml"
|
||||
|
||||
|
||||
def loadPage(url: str):
|
||||
return requests.get(url).content
|
||||
@ -28,15 +31,23 @@ def resolveUnivisRefs(dict: dict):
|
||||
event['rooms']['room'] = detailed_room
|
||||
|
||||
|
||||
def parsePage(url: str):
|
||||
def resolveDates(json):
|
||||
for event in json['UnivIS']['Event']:
|
||||
start_datetime = datetime.datetime.strptime(event['startdate'], "%Y-%m-%d").strftime("%d.%m.%Y")
|
||||
event['startdate'] = start_datetime
|
||||
end_datetime = datetime.datetime.strptime(event['enddate'], "%Y-%m-%d").strftime("%d.%m.%Y")
|
||||
event['enddate'] = end_datetime
|
||||
|
||||
|
||||
def parsePage():
|
||||
# {Univis: {'Event':[{,,,,},,,,]}}
|
||||
page = loadPage(url)
|
||||
page = loadPage(UNIVIS_RPG_URL)
|
||||
dict = xmltodict.parse(page)
|
||||
resolveUnivisRefs(dict)
|
||||
# resolveUnivisRefs(dict)
|
||||
json_data = json.dumps(dict)
|
||||
json_data = json.loads(json_data)
|
||||
resolveDates(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)
|
||||
# parsePage()
|
||||
143
ofu_app/data_collectors/events/parser/univis-json-prettifier.py
Normal file
143
ofu_app/data_collectors/events/parser/univis-json-prettifier.py
Normal file
@ -0,0 +1,143 @@
|
||||
import json
|
||||
from pprint import pprint
|
||||
import datetime
|
||||
|
||||
|
||||
def loadJson(path: str):
|
||||
with open(path, 'r') as file:
|
||||
return json.load(file)
|
||||
|
||||
|
||||
def deleteNotCalendarElements(data):
|
||||
events = []
|
||||
for event in data['UnivIS']['Event']:
|
||||
if 'calendar' in event:
|
||||
if not event['calendar'] == 'nein':
|
||||
events.append(event)
|
||||
data['UnivIS']['Event'] = events
|
||||
# pprint(data['UnivIS']['Event'])
|
||||
|
||||
|
||||
def getRoom(data, id: str):
|
||||
for room in data['UnivIS']['Room']:
|
||||
if room['@key'] == id:
|
||||
return room
|
||||
|
||||
|
||||
def resolveRoomRefs(data):
|
||||
for event in data['UnivIS']['Event']:
|
||||
if 'rooms' in event:
|
||||
rooms = []
|
||||
# pprint(event['rooms']['room'])
|
||||
if not isinstance(event['rooms']['room'], list):
|
||||
single_room = {}
|
||||
single_room['room'] = getRoom(data, event['rooms']['room']['UnivISRef']['@key'])['short']
|
||||
rooms.append(single_room)
|
||||
|
||||
else:
|
||||
for room_item in event['rooms']['room']:
|
||||
single_room = {}
|
||||
single_room['room'] = getRoom(data, room_item['UnivISRef']['@key'])['short']
|
||||
rooms.append(single_room)
|
||||
event['rooms'] = rooms
|
||||
else:
|
||||
event['rooms'] = None
|
||||
|
||||
|
||||
def getContact(data, id: str):
|
||||
for contact in data['UnivIS']['Person']:
|
||||
if contact['@key'] == id:
|
||||
person = {}
|
||||
person['atitle'] = None
|
||||
if 'atitle' in contact:
|
||||
person['atitle'] = contact['atitle']
|
||||
|
||||
person['firstname'] = contact['firstname']
|
||||
person['lastname'] = contact['lastname']
|
||||
person['email'] = None
|
||||
if 'email' in contact['locations']['location']:
|
||||
person['email'] = contact['locations']['location']['email']
|
||||
|
||||
person['tel'] = None
|
||||
if 'tel' in contact['locations']['location']:
|
||||
person['tel'] = contact['locations']['location']['tel']
|
||||
|
||||
person['office'] = None
|
||||
if 'office' in contact['locations']['location']:
|
||||
person['office'] = contact['locations']['location']['office']
|
||||
|
||||
person['url'] = None
|
||||
if 'url' in contact['locations']['location']:
|
||||
person['url'] = contact['locations']['location']['url']
|
||||
return person
|
||||
|
||||
|
||||
def resolveContactRefs(data):
|
||||
for event in data['UnivIS']['Event']:
|
||||
key = event['contact']['UnivISRef']['@key']
|
||||
event['contact'] = getContact(data, key)
|
||||
|
||||
|
||||
def initalDateBoard(days: int, dateformat: str):
|
||||
dates = {}
|
||||
dates_arr = []
|
||||
now = datetime.datetime.now()
|
||||
i = 0
|
||||
while i < days:
|
||||
date = {}
|
||||
day = now + datetime.timedelta(days=i)
|
||||
date['date'] = day.strftime(dateformat)
|
||||
date['events'] = []
|
||||
dates_arr.append(date)
|
||||
i += 1
|
||||
|
||||
dates['dates'] = dates_arr
|
||||
return dates
|
||||
|
||||
|
||||
def getNewEvent(event):
|
||||
new_event = {}
|
||||
new_event['title'] = event['title']
|
||||
new_event['time'] = event['starttime']
|
||||
new_event['endtime'] = event['endtime']
|
||||
new_event['category'] = None
|
||||
new_event['link'] = None
|
||||
locations = []
|
||||
if event['rooms']:
|
||||
for room in event['rooms']:
|
||||
location = {}
|
||||
location['location'] = room
|
||||
locations.append(location)
|
||||
new_event['locations'] = locations
|
||||
new_event['description'] = None
|
||||
if 'description' in event:
|
||||
new_event['description'] = event['description']
|
||||
return new_event
|
||||
|
||||
|
||||
def getDateBasedJson(data):
|
||||
dateformat = "%d.%m.%Y"
|
||||
dates = initalDateBoard(180, dateformat)
|
||||
|
||||
for event in data['UnivIS']['Event']:
|
||||
startdate = datetime.datetime.strptime(event['startdate'], "%d.%m.%Y")
|
||||
enddate = datetime.datetime.strptime(event['enddate'], "%d.%m.%Y")
|
||||
new_event = getNewEvent(event)
|
||||
|
||||
while startdate <= enddate:
|
||||
for date in dates['dates']:
|
||||
if date['date'] == startdate.strftime(dateformat):
|
||||
date['events'].append(new_event)
|
||||
|
||||
startdate = startdate + datetime.timedelta(days=1)
|
||||
return dates
|
||||
|
||||
|
||||
def prettify(json_path: str):
|
||||
data = loadJson(json_path)
|
||||
deleteNotCalendarElements(data)
|
||||
resolveRoomRefs(data)
|
||||
resolveContactRefs(data)
|
||||
return json.dumps(getDateBasedJson(data))
|
||||
|
||||
# prettify("../../../static/html/events/json/events-univis.jason")
|
||||
0
ofu_app/data_collectors/food/__init__.py
Normal file
0
ofu_app/data_collectors/food/__init__.py
Normal file
BIN
ofu_app/data_collectors/food/__pycache__/__init__.cpython-35.pyc
Normal file
BIN
ofu_app/data_collectors/food/__pycache__/__init__.cpython-35.pyc
Normal file
Binary file not shown.
BIN
ofu_app/data_collectors/food/json_generator/__init__.pyc
Normal file
BIN
ofu_app/data_collectors/food/json_generator/__init__.pyc
Normal file
Binary file not shown.
Binary file not shown.
@ -0,0 +1,64 @@
|
||||
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')
|
||||
|
||||
# CONFIG
|
||||
JSON_OUTPUT_DIR_FOOD = "./jsons/"
|
||||
|
||||
# CONFIG SERVICE LINKS
|
||||
LINK_FEKI_MENSA = "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"
|
||||
LINK_AUSTR_MENSA = "https://www.studentenwerk-wuerzburg.de/bamberg/essen-trinken/speiseplaene.html?tx_thmensamenu_pi2%5Bmensen%5D=2&tx_thmensamenu_pi2%5Baction%5D=show&tx_thmensamenu_pi2%5Bcontroller%5D=Speiseplan&cHash=511e047953ee1370c3b82c11a04624bb"
|
||||
LINK_ERBA_CAFETE = "https://www.studentenwerk-wuerzburg.de/bamberg/essen-trinken/sonderspeiseplaene/cafeteria-erba-insel.html"
|
||||
LINK_MARKUS_CAFETE = "https://www.studentenwerk-wuerzburg.de/bamberg/essen-trinken/sonderspeiseplaene/cafeteria-markusplatz.html"
|
||||
LINK_FEKIDE_GUIDE = "https://www.feki.de/happyhour"
|
||||
|
||||
|
||||
def writeToFile(jsonfile, root, filename):
|
||||
with open((root + filename), "w") as file:
|
||||
file.write(jsonfile)
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
json_food_mensa_feki = parser_food_mensa.parsePage(LINK_FEKI_MENSA)
|
||||
|
||||
except IndexError:
|
||||
print("Error")
|
||||
json_food_mensa_feki = {}
|
||||
|
||||
try:
|
||||
json_food_mensa_austr = parser_food_mensa.parsePage(LINK_AUSTR_MENSA)
|
||||
except IndexError:
|
||||
print("Error")
|
||||
json_food_mensa_austr = {}
|
||||
|
||||
try:
|
||||
json_food_cafete_erba = parser_food_cafete.parsePage(LINK_ERBA_CAFETE)
|
||||
except IndexError:
|
||||
print("Error")
|
||||
json_food_cafete_erba = {}
|
||||
|
||||
try:
|
||||
json_food_cafete_markus = parser_food_cafete.parsePage(LINK_MARKUS_CAFETE)
|
||||
except IndexError:
|
||||
print("Error")
|
||||
json_food_cafete_markus = {}
|
||||
|
||||
try:
|
||||
json_food_fekidehappyhours = parser_food_fekidehappyhour.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")
|
||||
|
||||
|
||||
main()
|
||||
@ -0,0 +1 @@
|
||||
{"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"]}], "name": "Cafeteria Erba-Insel", "execution_time": "Friday, 29.09.2017"}
|
||||
@ -0,0 +1 @@
|
||||
{"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"]}], "name": "Cafeteria Markusplatz", "execution_time": "Friday, 29.09.2017"}
|
||||
@ -0,0 +1 @@
|
||||
{"execution_time": "Friday, 29.09.2017", "day": "Friday, 29.09.2017", "happyhours": [{"time": "16:00 - 20:00", "location": "Caff\u00e8bar Kranen", "description": "Aperitivo Italiano\u00a0incl. Antipasti"}, {"time": "17:00 - 21:00", "location": "Caf\u00e9 Esspress", "description": "Steakteller f\u00fcr 11,99 \u20ac"}]}
|
||||
@ -0,0 +1 @@
|
||||
{"weekmenu": [{"date": "25.09.", "menu": ["Pangasiusfilet an fr\u00e4nkischer Silvanerso\u00dfe mit Gem\u00fcsestreifen", "2 St\u00fcck H\u00e4hnchenschnitzel \"Wiener Art\"", "Kasseler mit gr\u00fcnem Bohnengem\u00fcse", "Waldpilzpfanne", "Wedges mit Kr\u00e4uterquark"]}, {"date": "26.09.", "menu": ["2 St\u00fcck H\u00e4hnchenschnitzel \"Wiener Art\"", "Saftiges Rindergulasch", "Ofenfrischer Schweinekammbraten in Bierso\u00dfe", "Mensa Vital : Bohnen-Zucchini-Chili mit Vollkornreis"]}, {"date": "27.09.", "menu": ["H\u00e4hnchenkeule \"Z\u00fcricher Art\"", "Ofenfrischer Schweinekammbraten in Bierso\u00dfe", "Pulled Pork Burger mit Coleslaw", "Griechischer Kartoffelgem\u00fcseauflauf mit Paprika, Zucchini & Auberginen"]}, {"date": "28.09.", "menu": ["Moussaka vom Rind", "H\u00e4hnchenkeule \"Z\u00fcricher Art\"", "Falafelb\u00e4llchen auf Couscous Gem\u00fcse", "Pulled Pork Burger mit Coleslaw", "Rustico Triangolo \"Spinaci\" an Sahneso\u00dfe"]}, {"date": "29.09.", "menu": ["Pennenudeln mit Lachs, Spinat und Kirschtomaten", "Falafelb\u00e4llchen auf Couscous Gem\u00fcse", "Feuerspie\u00df mit Barbecueso\u00dfe", "Rustico Triangolo \"Spinaci\" an Sahneso\u00dfe", "Vegane Knusperschnitte \"Hong Kong\" mit Chop suey"]}], "name": "Speiseplan f\u00fcr Austra\u00dfe Bamberg", "execution_time": "Friday, 29.09.2017"}
|
||||
@ -0,0 +1 @@
|
||||
{"weekmenu": [{"date": "25.09.", "menu": ["Chili con Carne", "2 St\u00fcck H\u00e4hnchenschnitzel \"Wiener Art\"", "Kasseler mit gr\u00fcnem Bohnengem\u00fcse", "Waldpilzpfanne"]}, {"date": "26.09.", "menu": ["Pangasiusfilet an fr\u00e4nkischer Silvanerso\u00dfe mit Gem\u00fcsestreifen", "Saftiges Rindergulasch", "Kasseler mit gr\u00fcnem Bohnengem\u00fcse", "Ofenfrischer Schweinekammbraten in Bierso\u00dfe", "Blumenkohlk\u00e4semedaillon mit Pestoso\u00dfe", "Mensa Vital : Bohnen-Zucchini-Chili mit Vollkornreis"]}, {"date": "27.09.", "menu": ["Pangasiusfilet an fr\u00e4nkischer Silvanerso\u00dfe mit Gem\u00fcsestreifen", "H\u00e4hnchenkeule \"Z\u00fcricher Art\"", "Pulled Pork Burger mit Coleslaw", "Mensa Vital : Bohnen-Zucchini-Chili mit Vollkornreis", "Griechischer Kartoffelgem\u00fcseauflauf mit Paprika, Zucchini & Auberginen"]}, {"date": "28.09.", "menu": ["Moussaka vom Rind", "Falafelb\u00e4llchen auf Couscous Gem\u00fcse", "Ofenfrischer Schweinekammbraten in Bierso\u00dfe", "Rustico Triangolo \"Spinaci\" an Sahneso\u00dfe"]}, {"date": "29.09.", "menu": ["Pennenudeln mit Lachs, Spinat und Kirschtomaten", "Falafelb\u00e4llchen auf Couscous Gem\u00fcse", "Feuerspie\u00df mit Barbecueso\u00dfe", "Vegane Knusperschnitte \"Hong Kong\" mit Chop suey"]}], "name": "Speiseplan f\u00fcr Feldkirchenstra\u00dfe Bamberg", "execution_time": "Friday, 29.09.2017"}
|
||||
64
ofu_app/data_collectors/food/migrate-data.py
Normal file
64
ofu_app/data_collectors/food/migrate-data.py
Normal file
@ -0,0 +1,64 @@
|
||||
import json
|
||||
from pprint import pprint
|
||||
import django, os
|
||||
from datetime import datetime
|
||||
from django.db.utils import IntegrityError
|
||||
|
||||
os.environ['DJANGO_SETTINGS_MODULE'] = 'ofu_app.settings'
|
||||
django.setup()
|
||||
from food.models import SingleFood, Menu, HappyHour
|
||||
|
||||
JSON_FILES_PATH_FOOD = "json_generator/jsons/"
|
||||
|
||||
|
||||
def getJsonFromFile(path):
|
||||
with open(path, "r") as file:
|
||||
return json.load(file)
|
||||
|
||||
|
||||
def writeStudentenwerkDataInDB(data):
|
||||
for menu in data['weekmenu']:
|
||||
foodlist = []
|
||||
for single_food in menu['menu']:
|
||||
try:
|
||||
foodlist.append(SingleFood.objects.create(name=single_food))
|
||||
except IntegrityError:
|
||||
foodlist.append(SingleFood.objects.get(name=single_food))
|
||||
try:
|
||||
date = datetime.strptime(str(menu['date']), "%d.%m.").replace(year=datetime.today().year)
|
||||
menu = Menu.objects.create(location=data['name'],
|
||||
date=date)
|
||||
menu.menu = foodlist
|
||||
except IntegrityError:
|
||||
# ignored
|
||||
break
|
||||
|
||||
|
||||
def writeFekideDataInDB(data):
|
||||
for happyhour_data in data['happyhours']:
|
||||
time = str(happyhour_data['time']).replace(" ", "").split("-")
|
||||
try:
|
||||
HappyHour.objects.create(date=datetime.strptime(data['day'], "%A, %d.%m.%Y"),
|
||||
location=happyhour_data['location'], description=happyhour_data['description'],
|
||||
starttime=datetime.strptime(time[0], "%H:%M"),
|
||||
endtime=datetime.strptime(time[1], "%H:%M"))
|
||||
except IntegrityError:
|
||||
# ignored
|
||||
break
|
||||
|
||||
|
||||
def main():
|
||||
# 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"))
|
||||
|
||||
json_food_fekide = getJsonFromFile(JSON_FILES_PATH_FOOD + "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()
|
||||
0
ofu_app/data_collectors/food/parser/__init__.py
Normal file
0
ofu_app/data_collectors/food/parser/__init__.py
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,6 +1,7 @@
|
||||
import requests
|
||||
from bs4 import BeautifulSoup
|
||||
import json
|
||||
import datetime
|
||||
|
||||
SPEISEPLAN_NAME_SELECTOR = '.csc-default .csc-header .csc-firstHeader'
|
||||
|
||||
@ -52,6 +53,7 @@ def parsePage(url: str):
|
||||
days = getFoodPerDay(soup)
|
||||
mensaSpeiseplan['weekmenu'] = days
|
||||
mensaSpeiseplan['name'] = foodplan_name
|
||||
mensaSpeiseplan['execution_time'] = datetime.datetime.today().strftime("%A, %d.%m.%Y")
|
||||
mensaSpeiseplanJson = json.dumps(mensaSpeiseplan)
|
||||
return mensaSpeiseplanJson
|
||||
|
||||
@ -44,10 +44,10 @@ def parsePage(url: str):
|
||||
happyhours = getHappyHours(soup)
|
||||
pagecontent['happyhours'] = happyhours
|
||||
pagecontent['day'] = getDay()
|
||||
pagecontent['execution_time'] = datetime.datetime.today().strftime("%A, %d.%m.%Y")
|
||||
|
||||
jsondata = json.dumps(pagecontent)
|
||||
return jsondata
|
||||
|
||||
|
||||
# LINK_FEKIDE_GUIDE = "https://www.feki.de/happyhour/wochenuebersicht"
|
||||
# parsePage(LINK_FEKIDE_GUIDE)
|
||||
@ -1,6 +1,7 @@
|
||||
import requests
|
||||
from bs4 import BeautifulSoup
|
||||
import json
|
||||
import datetime
|
||||
|
||||
|
||||
def loadPage(url: str):
|
||||
@ -19,7 +20,7 @@ def getFoodPerDay(soup):
|
||||
day = getMenuDay(daysoup)
|
||||
dayMenu = [e.getText() for e in daysoup.select('.menuwrap .menu .left .title')]
|
||||
|
||||
dayObj['date'] = day
|
||||
dayObj['date'] = str(day).split(" ")[1]
|
||||
dayObj['menu'] = dayMenu
|
||||
days.append(dayObj)
|
||||
return days
|
||||
@ -39,10 +40,11 @@ def parsePage(url: str):
|
||||
days = getFoodPerDay(soup)
|
||||
mensaSpeiseplan['weekmenu'] = days
|
||||
mensaSpeiseplan['name'] = foodplan_name
|
||||
mensaSpeiseplan['execution_time'] = datetime.datetime.today().strftime("%A, %d.%m.%Y")
|
||||
mensaSpeiseplanJson = json.dumps(mensaSpeiseplan)
|
||||
return mensaSpeiseplanJson
|
||||
|
||||
|
||||
def getFoodplanName(soup):
|
||||
foodplan_name = soup.select('.mensamenu h2')[0].getText()
|
||||
return foodplan_name
|
||||
return foodplan_name
|
||||
BIN
ofu_app/db.sqlite3
Normal file
BIN
ofu_app/db.sqlite3
Normal file
Binary file not shown.
0
ofu_app/events/__init__.py
Normal file
0
ofu_app/events/__init__.py
Normal file
BIN
ofu_app/events/__init__.pyc
Normal file
BIN
ofu_app/events/__init__.pyc
Normal file
Binary file not shown.
BIN
ofu_app/events/__pycache__/__init__.cpython-35.pyc
Normal file
BIN
ofu_app/events/__pycache__/__init__.cpython-35.pyc
Normal file
Binary file not shown.
BIN
ofu_app/events/__pycache__/admin.cpython-35.pyc
Normal file
BIN
ofu_app/events/__pycache__/admin.cpython-35.pyc
Normal file
Binary file not shown.
BIN
ofu_app/events/__pycache__/models.cpython-35.pyc
Normal file
BIN
ofu_app/events/__pycache__/models.cpython-35.pyc
Normal file
Binary file not shown.
3
ofu_app/events/admin.py
Normal file
3
ofu_app/events/admin.py
Normal file
@ -0,0 +1,3 @@
|
||||
from django.contrib import admin
|
||||
|
||||
# Register your models here.
|
||||
BIN
ofu_app/events/admin.pyc
Normal file
BIN
ofu_app/events/admin.pyc
Normal file
Binary file not shown.
30
ofu_app/events/migrations/0001_initial.py
Normal file
30
ofu_app/events/migrations/0001_initial.py
Normal file
@ -0,0 +1,30 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.utils.timezone
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Event',
|
||||
fields=[
|
||||
('id', models.AutoField(serialize=False, primary_key=True)),
|
||||
('title', models.CharField(max_length=60)),
|
||||
('category', models.CharField(max_length=60)),
|
||||
('link', models.CharField(max_length=60)),
|
||||
('location', models.CharField(max_length=60)),
|
||||
('time', models.TimeField(default=django.utils.timezone.now)),
|
||||
('date', models.DateField(default=django.utils.timezone.now)),
|
||||
],
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='event',
|
||||
unique_together=set([('date', 'location')]),
|
||||
),
|
||||
]
|
||||
BIN
ofu_app/events/migrations/0001_initial.pyc
Normal file
BIN
ofu_app/events/migrations/0001_initial.pyc
Normal file
Binary file not shown.
0
ofu_app/events/migrations/__init__.py
Normal file
0
ofu_app/events/migrations/__init__.py
Normal file
BIN
ofu_app/events/migrations/__init__.pyc
Normal file
BIN
ofu_app/events/migrations/__init__.pyc
Normal file
Binary file not shown.
19
ofu_app/events/models.py
Normal file
19
ofu_app/events/models.py
Normal file
@ -0,0 +1,19 @@
|
||||
from __future__ import unicode_literals
|
||||
from django.utils import timezone
|
||||
from django.db import models
|
||||
|
||||
MAX_LENGTH = 60
|
||||
|
||||
|
||||
# Create your models here.
|
||||
class Event(models.Model):
|
||||
id = models.AutoField(primary_key=True)
|
||||
title = models.CharField(max_length=MAX_LENGTH)
|
||||
category = models.CharField(max_length=MAX_LENGTH)
|
||||
link = models.CharField(max_length=MAX_LENGTH)
|
||||
location = models.CharField(max_length=MAX_LENGTH)
|
||||
time = models.TimeField(default=timezone.now)
|
||||
date = models.DateField(default=timezone.now)
|
||||
|
||||
class Meta:
|
||||
unique_together = ('date', 'location')
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user