Merge ~patrykuchman94/dpcs:ticket12 into dpcs:master

Proposed by Patryk
Status: Rejected
Rejected by: Marek Bardoński
Proposed branch: ~patrykuchman94/dpcs:ticket12
Merge into: dpcs:master
Diff against target: 1652 lines (+1444/-1)
25 files modified
dev/null (+0/-1)
server/interface/.idea/.name (+1/-0)
server/interface/.idea/encodings.xml (+6/-0)
server/interface/.idea/misc.xml (+29/-0)
server/interface/.idea/mlb_project.iml (+29/-0)
server/interface/.idea/modules.xml (+8/-0)
server/interface/.idea/workspace.xml (+801/-0)
server/interface/alpha/__init__.py (+0/-0)
server/interface/alpha/admin.py (+8/-0)
server/interface/alpha/apps.py (+5/-0)
server/interface/alpha/migrations/0001_initial.py (+50/-0)
server/interface/alpha/migrations/__init__.py (+0/-0)
server/interface/alpha/models.py (+37/-0)
server/interface/alpha/serializers.py (+30/-0)
server/interface/alpha/templates/alpha/crash_group_add.html (+28/-0)
server/interface/alpha/templates/alpha/crash_report_add.html (+41/-0)
server/interface/alpha/tests.py (+3/-0)
server/interface/alpha/urls.py (+13/-0)
server/interface/alpha/views.py (+159/-0)
server/interface/manage.py (+10/-0)
server/interface/mlb_project/__init__.py (+0/-0)
server/interface/mlb_project/settings.py (+134/-0)
server/interface/mlb_project/urls.py (+22/-0)
server/interface/mlb_project/wsgi.py (+16/-0)
server/interface/readme (+14/-0)
Reviewer Review Type Date Requested Status
UW ML RG Board Pending
Review via email: mp+288227@code.launchpad.net
To post a comment you must log in.
~patrykuchman94/dpcs:ticket12 updated
a124c81... by Patryk <email address hidden>

Iterface json api

Unmerged commits

a124c81... by Patryk <email address hidden>

Iterface json api

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/server/interface/.idea/.name b/server/interface/.idea/.name
2new file mode 100644
3index 0000000..ae2c5de
4--- /dev/null
5+++ b/server/interface/.idea/.name
6@@ -0,0 +1 @@
7+mlb_project
8\ No newline at end of file
9diff --git a/server/interface/.idea/encodings.xml b/server/interface/.idea/encodings.xml
10new file mode 100644
11index 0000000..97626ba
12--- /dev/null
13+++ b/server/interface/.idea/encodings.xml
14@@ -0,0 +1,6 @@
15+<?xml version="1.0" encoding="UTF-8"?>
16+<project version="4">
17+ <component name="Encoding">
18+ <file url="PROJECT" charset="UTF-8" />
19+ </component>
20+</project>
21\ No newline at end of file
22diff --git a/server/interface/.idea/misc.xml b/server/interface/.idea/misc.xml
23new file mode 100644
24index 0000000..d7de4aa
25--- /dev/null
26+++ b/server/interface/.idea/misc.xml
27@@ -0,0 +1,29 @@
28+<?xml version="1.0" encoding="UTF-8"?>
29+<project version="4">
30+ <component name="ProjectLevelVcsManager" settingsEditedManually="false">
31+ <OptionsSetting value="true" id="Add" />
32+ <OptionsSetting value="true" id="Remove" />
33+ <OptionsSetting value="true" id="Checkout" />
34+ <OptionsSetting value="true" id="Update" />
35+ <OptionsSetting value="true" id="Status" />
36+ <OptionsSetting value="true" id="Edit" />
37+ <ConfirmationsSetting value="0" id="Add" />
38+ <ConfirmationsSetting value="0" id="Remove" />
39+ </component>
40+ <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.4.3 virtualenv at ~/freetime/machine_learning_bard/mlbvenv" project-jdk-type="Python SDK" />
41+ <component name="masterDetails">
42+ <states>
43+ <state key="ScopeChooserConfigurable.UI">
44+ <settings>
45+ <splitter-proportions>
46+ <option name="proportions">
47+ <list>
48+ <option value="0.2" />
49+ </list>
50+ </option>
51+ </splitter-proportions>
52+ </settings>
53+ </state>
54+ </states>
55+ </component>
56+</project>
57\ No newline at end of file
58diff --git a/server/interface/.idea/mlb_project.iml b/server/interface/.idea/mlb_project.iml
59new file mode 100644
60index 0000000..89af202
61--- /dev/null
62+++ b/server/interface/.idea/mlb_project.iml
63@@ -0,0 +1,29 @@
64+<?xml version="1.0" encoding="UTF-8"?>
65+<module type="PYTHON_MODULE" version="4">
66+ <component name="FacetManager">
67+ <facet type="django" name="Django">
68+ <configuration>
69+ <option name="rootFolder" value="$MODULE_DIR$" />
70+ <option name="settingsModule" value="mlb_project/settings.py" />
71+ <option name="manageScript" value="manage.py" />
72+ <option name="environment" value="&lt;map/&gt;" />
73+ </configuration>
74+ </facet>
75+ </component>
76+ <component name="NewModuleRootManager">
77+ <content url="file://$MODULE_DIR$" />
78+ <orderEntry type="inheritedJdk" />
79+ <orderEntry type="sourceFolder" forTests="false" />
80+ </component>
81+ <component name="TemplatesService">
82+ <option name="TEMPLATE_CONFIGURATION" value="Django" />
83+ <option name="TEMPLATE_FOLDERS">
84+ <list>
85+ <option value="$MODULE_DIR$/templates" />
86+ </list>
87+ </option>
88+ </component>
89+ <component name="TestRunnerService">
90+ <option name="PROJECT_TEST_RUNNER" value="Unittests" />
91+ </component>
92+</module>
93\ No newline at end of file
94diff --git a/server/interface/.idea/modules.xml b/server/interface/.idea/modules.xml
95new file mode 100644
96index 0000000..df4e32d
97--- /dev/null
98+++ b/server/interface/.idea/modules.xml
99@@ -0,0 +1,8 @@
100+<?xml version="1.0" encoding="UTF-8"?>
101+<project version="4">
102+ <component name="ProjectModuleManager">
103+ <modules>
104+ <module fileurl="file://$PROJECT_DIR$/.idea/mlb_project.iml" filepath="$PROJECT_DIR$/.idea/mlb_project.iml" />
105+ </modules>
106+ </component>
107+</project>
108\ No newline at end of file
109diff --git a/server/interface/.idea/workspace.xml b/server/interface/.idea/workspace.xml
110new file mode 100644
111index 0000000..4757262
112--- /dev/null
113+++ b/server/interface/.idea/workspace.xml
114@@ -0,0 +1,801 @@
115+<?xml version="1.0" encoding="UTF-8"?>
116+<project version="4">
117+ <component name="ChangeListManager">
118+ <list default="true" id="6bb9647f-c91c-47e8-a0d4-d30344fbab1b" name="Default" comment="" />
119+ <ignored path="mlb_project.iws" />
120+ <ignored path=".idea/workspace.xml" />
121+ <ignored path=".idea/dataSources.local.xml" />
122+ <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
123+ <option name="TRACKING_ENABLED" value="true" />
124+ <option name="SHOW_DIALOG" value="false" />
125+ <option name="HIGHLIGHT_CONFLICTS" value="true" />
126+ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
127+ <option name="LAST_RESOLUTION" value="IGNORE" />
128+ </component>
129+ <component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
130+ <component name="CreatePatchCommitExecutor">
131+ <option name="PATCH_PATH" value="" />
132+ </component>
133+ <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
134+ <component name="FavoritesManager">
135+ <favorites_list name="mlb_project" />
136+ </component>
137+ <component name="FileEditorManager">
138+ <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
139+ <file leaf-file-name="settings.py" pinned="false" current-in-tab="false">
140+ <entry file="file://$PROJECT_DIR$/mlb_project/settings.py">
141+ <provider selected="true" editor-type-id="text-editor">
142+ <state vertical-scroll-proportion="0.0">
143+ <caret line="133" column="1" selection-start-line="133" selection-start-column="1" selection-end-line="133" selection-end-column="1" />
144+ <folding />
145+ </state>
146+ </provider>
147+ </entry>
148+ </file>
149+ <file leaf-file-name="views.py" pinned="false" current-in-tab="true">
150+ <entry file="file://$PROJECT_DIR$/alpha/views.py">
151+ <provider selected="true" editor-type-id="text-editor">
152+ <state vertical-scroll-proportion="0.21052632">
153+ <caret line="77" column="7" selection-start-line="77" selection-start-column="7" selection-end-line="77" selection-end-column="7" />
154+ <folding>
155+ <element signature="e#0#36#0" expanded="true" />
156+ </folding>
157+ </state>
158+ </provider>
159+ </entry>
160+ </file>
161+ <file leaf-file-name="crash_group_add.html" pinned="false" current-in-tab="false">
162+ <entry file="file://$PROJECT_DIR$/alpha/templates/alpha/crash_group_add.html">
163+ <provider selected="true" editor-type-id="text-editor">
164+ <state vertical-scroll-proportion="-10.0">
165+ <caret line="16" column="12" selection-start-line="16" selection-start-column="12" selection-end-line="16" selection-end-column="12" />
166+ <folding />
167+ </state>
168+ </provider>
169+ </entry>
170+ </file>
171+ <file leaf-file-name="crash_report_add.html" pinned="false" current-in-tab="false">
172+ <entry file="file://$PROJECT_DIR$/alpha/templates/alpha/crash_report_add.html">
173+ <provider selected="true" editor-type-id="text-editor">
174+ <state vertical-scroll-proportion="-13.75">
175+ <caret line="22" column="12" selection-start-line="22" selection-start-column="12" selection-end-line="22" selection-end-column="12" />
176+ <folding />
177+ </state>
178+ </provider>
179+ </entry>
180+ </file>
181+ <file leaf-file-name="admin.py" pinned="false" current-in-tab="false">
182+ <entry file="file://$PROJECT_DIR$/alpha/admin.py">
183+ <provider selected="true" editor-type-id="text-editor">
184+ <state vertical-scroll-proportion="0.0">
185+ <caret line="7" column="17" selection-start-line="7" selection-start-column="17" selection-end-line="7" selection-end-column="17" />
186+ <folding>
187+ <element signature="e#0#32#0" expanded="true" />
188+ </folding>
189+ </state>
190+ </provider>
191+ </entry>
192+ </file>
193+ <file leaf-file-name="models.py" pinned="false" current-in-tab="false">
194+ <entry file="file://$PROJECT_DIR$/alpha/models.py">
195+ <provider selected="true" editor-type-id="text-editor">
196+ <state vertical-scroll-proportion="0.0">
197+ <caret line="23" column="32" selection-start-line="23" selection-start-column="32" selection-end-line="23" selection-end-column="32" />
198+ <folding>
199+ <marker date="1457281508698" expanded="true" signature="221:270" placeholder="..." />
200+ </folding>
201+ </state>
202+ </provider>
203+ </entry>
204+ </file>
205+ <file leaf-file-name="serializers.py" pinned="false" current-in-tab="false">
206+ <entry file="file://$PROJECT_DIR$/alpha/serializers.py">
207+ <provider selected="true" editor-type-id="text-editor">
208+ <state vertical-scroll-proportion="0.0">
209+ <caret line="22" column="8" selection-start-line="22" selection-start-column="8" selection-end-line="22" selection-end-column="113" />
210+ <folding>
211+ <element signature="e#0#38#0" expanded="true" />
212+ </folding>
213+ </state>
214+ </provider>
215+ </entry>
216+ </file>
217+ <file leaf-file-name="__init__.py" pinned="false" current-in-tab="false">
218+ <entry file="file://$PROJECT_DIR$/alpha/migrations/__init__.py">
219+ <provider selected="true" editor-type-id="text-editor">
220+ <state vertical-scroll-proportion="0.0">
221+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
222+ <folding />
223+ </state>
224+ </provider>
225+ </entry>
226+ </file>
227+ <file leaf-file-name="urls.py" pinned="false" current-in-tab="false">
228+ <entry file="file://$PROJECT_DIR$/mlb_project/urls.py">
229+ <provider selected="true" editor-type-id="text-editor">
230+ <state vertical-scroll-proportion="0.0">
231+ <caret line="20" column="40" selection-start-line="20" selection-start-column="40" selection-end-line="20" selection-end-column="40" />
232+ <folding>
233+ <element signature="e#644#685#0" expanded="true" />
234+ </folding>
235+ </state>
236+ </provider>
237+ </entry>
238+ </file>
239+ <file leaf-file-name="urls.py" pinned="false" current-in-tab="false">
240+ <entry file="file://$PROJECT_DIR$/alpha/urls.py">
241+ <provider selected="true" editor-type-id="text-editor">
242+ <state vertical-scroll-proportion="0.0">
243+ <caret line="11" column="17" selection-start-line="11" selection-start-column="17" selection-end-line="11" selection-end-column="17" />
244+ <folding>
245+ <element signature="e#0#32#0" expanded="true" />
246+ </folding>
247+ </state>
248+ </provider>
249+ </entry>
250+ </file>
251+ </leaf>
252+ </component>
253+ <component name="FileTemplateManagerImpl">
254+ <option name="RECENT_TEMPLATES">
255+ <list>
256+ <option value="Python Script" />
257+ <option value="HTML File" />
258+ </list>
259+ </option>
260+ </component>
261+ <component name="IdeDocumentHistory">
262+ <option name="CHANGED_PATHS">
263+ <list>
264+ <option value="$PROJECT_DIR$/alpha/admin.py" />
265+ <option value="$PROJECT_DIR$/mlb_project/urls.py" />
266+ <option value="$PROJECT_DIR$/mlb_project/settings.py" />
267+ <option value="$PROJECT_DIR$/alpha/models.py" />
268+ <option value="$PROJECT_DIR$/alpha/serializers.py" />
269+ <option value="$PROJECT_DIR$/alpha/urls.py" />
270+ <option value="$PROJECT_DIR$/alpha/templates/alpha/crash_report_add.html" />
271+ <option value="$PROJECT_DIR$/alpha/templates/alpha/crash_group_add.html" />
272+ <option value="$PROJECT_DIR$/alpha/views.py" />
273+ </list>
274+ </option>
275+ </component>
276+ <component name="JsBuildToolGruntFileManager" detection-done="true" />
277+ <component name="JsBuildToolPackageJson" detection-done="true" />
278+ <component name="JsGulpfileManager">
279+ <detection-done>true</detection-done>
280+ </component>
281+ <component name="ProjectFrameBounds">
282+ <option name="x" value="65" />
283+ <option name="y" value="24" />
284+ <option name="width" value="1855" />
285+ <option name="height" value="1056" />
286+ </component>
287+ <component name="ProjectLevelVcsManager" settingsEditedManually="false">
288+ <OptionsSetting value="true" id="Add" />
289+ <OptionsSetting value="true" id="Remove" />
290+ <OptionsSetting value="true" id="Checkout" />
291+ <OptionsSetting value="true" id="Update" />
292+ <OptionsSetting value="true" id="Status" />
293+ <OptionsSetting value="true" id="Edit" />
294+ <ConfirmationsSetting value="0" id="Add" />
295+ <ConfirmationsSetting value="0" id="Remove" />
296+ </component>
297+ <component name="ProjectView">
298+ <navigator currentView="ProjectPane" proportions="" version="1">
299+ <flattenPackages />
300+ <showMembers />
301+ <showModules />
302+ <showLibraryContents />
303+ <hideEmptyPackages />
304+ <abbreviatePackageNames />
305+ <autoscrollToSource />
306+ <autoscrollFromSource />
307+ <sortByType />
308+ <manualOrder />
309+ <foldersAlwaysOnTop value="true" />
310+ </navigator>
311+ <panes>
312+ <pane id="Scratches" />
313+ <pane id="Scope" />
314+ <pane id="ProjectPane">
315+ <subPane>
316+ <PATH>
317+ <PATH_ELEMENT>
318+ <option name="myItemId" value="mlb_project" />
319+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
320+ </PATH_ELEMENT>
321+ </PATH>
322+ <PATH>
323+ <PATH_ELEMENT>
324+ <option name="myItemId" value="mlb_project" />
325+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
326+ </PATH_ELEMENT>
327+ <PATH_ELEMENT>
328+ <option name="myItemId" value="mlb_project" />
329+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
330+ </PATH_ELEMENT>
331+ </PATH>
332+ <PATH>
333+ <PATH_ELEMENT>
334+ <option name="myItemId" value="mlb_project" />
335+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
336+ </PATH_ELEMENT>
337+ <PATH_ELEMENT>
338+ <option name="myItemId" value="mlb_project" />
339+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
340+ </PATH_ELEMENT>
341+ <PATH_ELEMENT>
342+ <option name="myItemId" value="mlb_project" />
343+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
344+ </PATH_ELEMENT>
345+ </PATH>
346+ <PATH>
347+ <PATH_ELEMENT>
348+ <option name="myItemId" value="mlb_project" />
349+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
350+ </PATH_ELEMENT>
351+ <PATH_ELEMENT>
352+ <option name="myItemId" value="mlb_project" />
353+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
354+ </PATH_ELEMENT>
355+ <PATH_ELEMENT>
356+ <option name="myItemId" value="alpha" />
357+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
358+ </PATH_ELEMENT>
359+ </PATH>
360+ <PATH>
361+ <PATH_ELEMENT>
362+ <option name="myItemId" value="mlb_project" />
363+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
364+ </PATH_ELEMENT>
365+ <PATH_ELEMENT>
366+ <option name="myItemId" value="mlb_project" />
367+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
368+ </PATH_ELEMENT>
369+ <PATH_ELEMENT>
370+ <option name="myItemId" value="alpha" />
371+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
372+ </PATH_ELEMENT>
373+ <PATH_ELEMENT>
374+ <option name="myItemId" value="templates" />
375+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
376+ </PATH_ELEMENT>
377+ <PATH_ELEMENT>
378+ <option name="myItemId" value="alpha" />
379+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
380+ </PATH_ELEMENT>
381+ </PATH>
382+ <PATH>
383+ <PATH_ELEMENT>
384+ <option name="myItemId" value="mlb_project" />
385+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
386+ </PATH_ELEMENT>
387+ <PATH_ELEMENT>
388+ <option name="myItemId" value="mlb_project" />
389+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
390+ </PATH_ELEMENT>
391+ <PATH_ELEMENT>
392+ <option name="myItemId" value="alpha" />
393+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
394+ </PATH_ELEMENT>
395+ <PATH_ELEMENT>
396+ <option name="myItemId" value="migrations" />
397+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
398+ </PATH_ELEMENT>
399+ </PATH>
400+ </subPane>
401+ </pane>
402+ </panes>
403+ </component>
404+ <component name="PropertiesComponent">
405+ <property name="last_opened_file_path" value="$PROJECT_DIR$/../mlbvenv/bin/python3" />
406+ <property name="settings.editor.selected.configurable" value="project.scopes" />
407+ <property name="settings.editor.splitter.proportion" value="0.2" />
408+ <property name="WebServerToolWindowFactoryState" value="false" />
409+ <property name="DefaultHtmlFileTemplate" value="HTML File" />
410+ </component>
411+ <component name="RunManager" selected="Django server.mlb_project">
412+ <configuration default="true" type="DjangoTestsConfigurationType" factoryName="Django tests">
413+ <option name="INTERPRETER_OPTIONS" value="" />
414+ <option name="PARENT_ENVS" value="true" />
415+ <envs>
416+ <env name="PYTHONUNBUFFERED" value="1" />
417+ </envs>
418+ <option name="SDK_HOME" value="" />
419+ <option name="WORKING_DIRECTORY" value="" />
420+ <option name="IS_MODULE_SDK" value="false" />
421+ <option name="ADD_CONTENT_ROOTS" value="true" />
422+ <option name="ADD_SOURCE_ROOTS" value="true" />
423+ <module name="mlb_project" />
424+ <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
425+ <option name="TARGET" value="" />
426+ <option name="SETTINGS_FILE" value="" />
427+ <option name="CUSTOM_SETTINGS" value="false" />
428+ <option name="USE_OPTIONS" value="false" />
429+ <option name="OPTIONS" value="" />
430+ <method />
431+ </configuration>
432+ <configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug">
433+ <method />
434+ </configuration>
435+ <configuration default="true" type="PyBehaveRunConfigurationType" factoryName="Behave">
436+ <option name="INTERPRETER_OPTIONS" value="" />
437+ <option name="PARENT_ENVS" value="true" />
438+ <envs />
439+ <option name="SDK_HOME" value="" />
440+ <option name="WORKING_DIRECTORY" value="" />
441+ <option name="IS_MODULE_SDK" value="false" />
442+ <option name="ADD_CONTENT_ROOTS" value="true" />
443+ <option name="ADD_SOURCE_ROOTS" value="true" />
444+ <module name="mlb_project" />
445+ <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
446+ <option name="ADDITIONAL_ARGS" value="" />
447+ <method />
448+ </configuration>
449+ <configuration default="true" type="PyLettuceRunConfigurationType" factoryName="Lettuce">
450+ <option name="INTERPRETER_OPTIONS" value="" />
451+ <option name="PARENT_ENVS" value="true" />
452+ <envs />
453+ <option name="SDK_HOME" value="" />
454+ <option name="WORKING_DIRECTORY" value="" />
455+ <option name="IS_MODULE_SDK" value="false" />
456+ <option name="ADD_CONTENT_ROOTS" value="true" />
457+ <option name="ADD_SOURCE_ROOTS" value="true" />
458+ <module name="mlb_project" />
459+ <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
460+ <option name="ADDITIONAL_ARGS" value="" />
461+ <method />
462+ </configuration>
463+ <configuration default="true" type="Python.DjangoServer" factoryName="Django server">
464+ <option name="INTERPRETER_OPTIONS" value="" />
465+ <option name="PARENT_ENVS" value="true" />
466+ <envs>
467+ <env name="PYTHONUNBUFFERED" value="1" />
468+ </envs>
469+ <option name="SDK_HOME" value="" />
470+ <option name="WORKING_DIRECTORY" value="" />
471+ <option name="IS_MODULE_SDK" value="false" />
472+ <option name="ADD_CONTENT_ROOTS" value="true" />
473+ <option name="ADD_SOURCE_ROOTS" value="true" />
474+ <module name="mlb_project" />
475+ <option name="launchJavascriptDebuger" value="false" />
476+ <option name="port" value="8000" />
477+ <option name="host" value="" />
478+ <option name="additionalOptions" value="" />
479+ <option name="browserUrl" value="" />
480+ <option name="runTestServer" value="false" />
481+ <option name="runNoReload" value="false" />
482+ <option name="useCustomRunCommand" value="false" />
483+ <option name="customRunCommand" value="" />
484+ <method />
485+ </configuration>
486+ <configuration default="true" type="PythonConfigurationType" factoryName="Python">
487+ <option name="INTERPRETER_OPTIONS" value="" />
488+ <option name="PARENT_ENVS" value="true" />
489+ <envs>
490+ <env name="PYTHONUNBUFFERED" value="1" />
491+ </envs>
492+ <option name="SDK_HOME" value="" />
493+ <option name="WORKING_DIRECTORY" value="" />
494+ <option name="IS_MODULE_SDK" value="false" />
495+ <option name="ADD_CONTENT_ROOTS" value="true" />
496+ <option name="ADD_SOURCE_ROOTS" value="true" />
497+ <module name="mlb_project" />
498+ <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
499+ <option name="SCRIPT_NAME" value="" />
500+ <option name="PARAMETERS" value="" />
501+ <option name="SHOW_COMMAND_LINE" value="false" />
502+ <method />
503+ </configuration>
504+ <configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js">
505+ <node-options />
506+ <gulpfile />
507+ <tasks />
508+ <arguments />
509+ <envs />
510+ <method />
511+ </configuration>
512+ <configuration default="true" type="js.build_tools.npm" factoryName="npm">
513+ <command value="run-script" />
514+ <scripts />
515+ <envs />
516+ <method />
517+ </configuration>
518+ <configuration default="true" type="tests" factoryName="Attests">
519+ <option name="INTERPRETER_OPTIONS" value="" />
520+ <option name="PARENT_ENVS" value="true" />
521+ <envs />
522+ <option name="SDK_HOME" value="" />
523+ <option name="WORKING_DIRECTORY" value="" />
524+ <option name="IS_MODULE_SDK" value="false" />
525+ <option name="ADD_CONTENT_ROOTS" value="true" />
526+ <option name="ADD_SOURCE_ROOTS" value="true" />
527+ <module name="mlb_project" />
528+ <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
529+ <option name="SCRIPT_NAME" value="" />
530+ <option name="CLASS_NAME" value="" />
531+ <option name="METHOD_NAME" value="" />
532+ <option name="FOLDER_NAME" value="" />
533+ <option name="TEST_TYPE" value="TEST_SCRIPT" />
534+ <option name="PATTERN" value="" />
535+ <option name="USE_PATTERN" value="false" />
536+ <method />
537+ </configuration>
538+ <configuration default="true" type="tests" factoryName="Doctests">
539+ <option name="INTERPRETER_OPTIONS" value="" />
540+ <option name="PARENT_ENVS" value="true" />
541+ <envs />
542+ <option name="SDK_HOME" value="" />
543+ <option name="WORKING_DIRECTORY" value="" />
544+ <option name="IS_MODULE_SDK" value="false" />
545+ <option name="ADD_CONTENT_ROOTS" value="true" />
546+ <option name="ADD_SOURCE_ROOTS" value="true" />
547+ <module name="mlb_project" />
548+ <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
549+ <option name="SCRIPT_NAME" value="" />
550+ <option name="CLASS_NAME" value="" />
551+ <option name="METHOD_NAME" value="" />
552+ <option name="FOLDER_NAME" value="" />
553+ <option name="TEST_TYPE" value="TEST_SCRIPT" />
554+ <option name="PATTERN" value="" />
555+ <option name="USE_PATTERN" value="false" />
556+ <method />
557+ </configuration>
558+ <configuration default="true" type="tests" factoryName="Nosetests">
559+ <option name="INTERPRETER_OPTIONS" value="" />
560+ <option name="PARENT_ENVS" value="true" />
561+ <envs />
562+ <option name="SDK_HOME" value="" />
563+ <option name="WORKING_DIRECTORY" value="" />
564+ <option name="IS_MODULE_SDK" value="false" />
565+ <option name="ADD_CONTENT_ROOTS" value="true" />
566+ <option name="ADD_SOURCE_ROOTS" value="true" />
567+ <module name="mlb_project" />
568+ <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
569+ <option name="SCRIPT_NAME" value="" />
570+ <option name="CLASS_NAME" value="" />
571+ <option name="METHOD_NAME" value="" />
572+ <option name="FOLDER_NAME" value="" />
573+ <option name="TEST_TYPE" value="TEST_SCRIPT" />
574+ <option name="PATTERN" value="" />
575+ <option name="USE_PATTERN" value="false" />
576+ <option name="PARAMS" value="" />
577+ <option name="USE_PARAM" value="false" />
578+ <method />
579+ </configuration>
580+ <configuration default="true" type="tests" factoryName="Unittests">
581+ <option name="INTERPRETER_OPTIONS" value="" />
582+ <option name="PARENT_ENVS" value="true" />
583+ <envs />
584+ <option name="SDK_HOME" value="" />
585+ <option name="WORKING_DIRECTORY" value="" />
586+ <option name="IS_MODULE_SDK" value="false" />
587+ <option name="ADD_CONTENT_ROOTS" value="true" />
588+ <option name="ADD_SOURCE_ROOTS" value="true" />
589+ <module name="mlb_project" />
590+ <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
591+ <option name="SCRIPT_NAME" value="" />
592+ <option name="CLASS_NAME" value="" />
593+ <option name="METHOD_NAME" value="" />
594+ <option name="FOLDER_NAME" value="" />
595+ <option name="TEST_TYPE" value="TEST_SCRIPT" />
596+ <option name="PATTERN" value="" />
597+ <option name="USE_PATTERN" value="false" />
598+ <option name="PUREUNITTEST" value="true" />
599+ <option name="PARAMS" value="" />
600+ <option name="USE_PARAM" value="false" />
601+ <method />
602+ </configuration>
603+ <configuration default="true" type="tests" factoryName="py.test">
604+ <option name="INTERPRETER_OPTIONS" value="" />
605+ <option name="PARENT_ENVS" value="true" />
606+ <envs />
607+ <option name="SDK_HOME" value="" />
608+ <option name="WORKING_DIRECTORY" value="" />
609+ <option name="IS_MODULE_SDK" value="false" />
610+ <option name="ADD_CONTENT_ROOTS" value="true" />
611+ <option name="ADD_SOURCE_ROOTS" value="true" />
612+ <module name="mlb_project" />
613+ <EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
614+ <option name="SCRIPT_NAME" value="" />
615+ <option name="CLASS_NAME" value="" />
616+ <option name="METHOD_NAME" value="" />
617+ <option name="FOLDER_NAME" value="" />
618+ <option name="TEST_TYPE" value="TEST_SCRIPT" />
619+ <option name="PATTERN" value="" />
620+ <option name="USE_PATTERN" value="false" />
621+ <option name="testToRun" value="" />
622+ <option name="keywords" value="" />
623+ <option name="params" value="" />
624+ <option name="USE_PARAM" value="false" />
625+ <option name="USE_KEYWORD" value="false" />
626+ <method />
627+ </configuration>
628+ <configuration default="false" name="mlb_project" type="Python.DjangoServer" factoryName="Django server">
629+ <option name="INTERPRETER_OPTIONS" value="" />
630+ <option name="PARENT_ENVS" value="true" />
631+ <envs>
632+ <env name="PYTHONUNBUFFERED" value="1" />
633+ </envs>
634+ <option name="SDK_HOME" value="" />
635+ <option name="WORKING_DIRECTORY" value="" />
636+ <option name="IS_MODULE_SDK" value="false" />
637+ <option name="ADD_CONTENT_ROOTS" value="true" />
638+ <option name="ADD_SOURCE_ROOTS" value="true" />
639+ <module name="mlb_project" />
640+ <option name="launchJavascriptDebuger" value="false" />
641+ <option name="port" value="8000" />
642+ <option name="host" value="" />
643+ <option name="additionalOptions" value="" />
644+ <option name="browserUrl" value="" />
645+ <option name="runTestServer" value="false" />
646+ <option name="runNoReload" value="false" />
647+ <option name="useCustomRunCommand" value="false" />
648+ <option name="customRunCommand" value="" />
649+ <method />
650+ </configuration>
651+ <list size="1">
652+ <item index="0" class="java.lang.String" itemvalue="Django server.mlb_project" />
653+ </list>
654+ </component>
655+ <component name="ShelveChangesManager" show_recycled="false" />
656+ <component name="SvnConfiguration">
657+ <configuration />
658+ </component>
659+ <component name="TaskManager">
660+ <task active="true" id="Default" summary="Default task">
661+ <changelist id="6bb9647f-c91c-47e8-a0d4-d30344fbab1b" name="Default" comment="" />
662+ <created>1457174635982</created>
663+ <option name="number" value="Default" />
664+ <updated>1457174635982</updated>
665+ </task>
666+ <servers />
667+ </component>
668+ <component name="ToolWindowManager">
669+ <frame x="65" y="24" width="1855" height="1056" extended-state="6" />
670+ <editor active="false" />
671+ <layout>
672+ <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" />
673+ <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="6" side_tool="false" content_ui="tabs" />
674+ <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" />
675+ <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" />
676+ <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.11320755" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
677+ <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" />
678+ <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" />
679+ <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" />
680+ <window_info id="Version Control" 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" />
681+ <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" />
682+ <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" />
683+ <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" />
684+ <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="1" side_tool="false" content_ui="tabs" />
685+ <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" />
686+ <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
687+ <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" />
688+ <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" />
689+ <window_info id="Run" 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" />
690+ </layout>
691+ <layout-to-restore>
692+ <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" />
693+ <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" />
694+ <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" />
695+ <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="1" side_tool="false" content_ui="tabs" />
696+ <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" />
697+ <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" />
698+ <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" />
699+ <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" />
700+ <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="8" side_tool="true" content_ui="tabs" />
701+ <window_info id="Version Control" 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="9" side_tool="false" content_ui="tabs" />
702+ <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="6" side_tool="false" content_ui="tabs" />
703+ <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" />
704+ <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
705+ <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.11320755" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
706+ <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="10" side_tool="false" content_ui="tabs" />
707+ <window_info id="Run" 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" />
708+ <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" />
709+ <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" />
710+ </layout-to-restore>
711+ </component>
712+ <component name="Vcs.Log.UiProperties">
713+ <option name="RECENTLY_FILTERED_USER_GROUPS">
714+ <collection />
715+ </option>
716+ <option name="RECENTLY_FILTERED_BRANCH_GROUPS">
717+ <collection />
718+ </option>
719+ </component>
720+ <component name="VcsContentAnnotationSettings">
721+ <option name="myLimit" value="2678400000" />
722+ </component>
723+ <component name="XDebuggerManager">
724+ <breakpoint-manager>
725+ <option name="time" value="1" />
726+ </breakpoint-manager>
727+ <watches-manager />
728+ </component>
729+ <component name="editorHistoryManager">
730+ <entry file="file://$PROJECT_DIR$/mlb_project/settings.py">
731+ <provider selected="true" editor-type-id="text-editor">
732+ <state vertical-scroll-proportion="0.0">
733+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
734+ <folding />
735+ </state>
736+ </provider>
737+ </entry>
738+ <entry file="file://$PROJECT_DIR$/mlb_project/settings.py">
739+ <provider selected="true" editor-type-id="text-editor">
740+ <state vertical-scroll-proportion="0.0">
741+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
742+ <folding />
743+ </state>
744+ </provider>
745+ </entry>
746+ <entry file="file://$PROJECT_DIR$/mlb_project/settings.py">
747+ <provider selected="true" editor-type-id="text-editor">
748+ <state vertical-scroll-proportion="0.0">
749+ <caret line="133" column="1" selection-start-line="133" selection-start-column="1" selection-end-line="133" selection-end-column="1" />
750+ <folding />
751+ </state>
752+ </provider>
753+ </entry>
754+ <entry file="file://$PROJECT_DIR$/alpha/views.py">
755+ <provider selected="true" editor-type-id="text-editor">
756+ <state vertical-scroll-proportion="0.0">
757+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
758+ <folding>
759+ <element signature="e#0#36#0" expanded="true" />
760+ </folding>
761+ </state>
762+ </provider>
763+ </entry>
764+ <entry file="file://$PROJECT_DIR$/alpha/admin.py">
765+ <provider selected="true" editor-type-id="text-editor">
766+ <state vertical-scroll-proportion="0.0">
767+ <caret line="7" column="17" selection-start-line="7" selection-start-column="17" selection-end-line="7" selection-end-column="17" />
768+ <folding>
769+ <element signature="e#0#32#0" expanded="true" />
770+ </folding>
771+ </state>
772+ </provider>
773+ </entry>
774+ <entry file="file://$PROJECT_DIR$/alpha/models.py">
775+ <provider selected="true" editor-type-id="text-editor">
776+ <state vertical-scroll-proportion="0.0">
777+ <caret line="23" column="84" selection-start-line="23" selection-start-column="84" selection-end-line="23" selection-end-column="84" />
778+ <folding>
779+ <marker date="1457281508698" expanded="true" signature="221:270" placeholder="..." />
780+ </folding>
781+ </state>
782+ </provider>
783+ </entry>
784+ <entry file="file://$PROJECT_DIR$/alpha/serializers.py">
785+ <provider selected="true" editor-type-id="text-editor">
786+ <state vertical-scroll-proportion="0.0">
787+ <caret line="26" column="23" selection-start-line="26" selection-start-column="23" selection-end-line="26" selection-end-column="23" />
788+ <folding>
789+ <element signature="e#0#38#0" expanded="true" />
790+ </folding>
791+ </state>
792+ </provider>
793+ </entry>
794+ <entry file="file://$PROJECT_DIR$/alpha/migrations/__init__.py">
795+ <provider selected="true" editor-type-id="text-editor">
796+ <state vertical-scroll-proportion="0.0">
797+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
798+ <folding />
799+ </state>
800+ </provider>
801+ </entry>
802+ <entry file="file://$PROJECT_DIR$/mlb_project/urls.py">
803+ <provider selected="true" editor-type-id="text-editor">
804+ <state vertical-scroll-proportion="0.0">
805+ <caret line="20" column="40" selection-start-line="20" selection-start-column="40" selection-end-line="20" selection-end-column="40" />
806+ <folding>
807+ <element signature="e#644#685#0" expanded="true" />
808+ </folding>
809+ </state>
810+ </provider>
811+ </entry>
812+ <entry file="file://$PROJECT_DIR$/alpha/urls.py">
813+ <provider selected="true" editor-type-id="text-editor">
814+ <state vertical-scroll-proportion="0.0">
815+ <caret line="11" column="1" selection-start-line="11" selection-start-column="1" selection-end-line="11" selection-end-column="1" />
816+ <folding>
817+ <element signature="e#0#32#0" expanded="true" />
818+ </folding>
819+ </state>
820+ </provider>
821+ </entry>
822+ <entry file="file://$PROJECT_DIR$/alpha/migrations/__init__.py">
823+ <provider selected="true" editor-type-id="text-editor">
824+ <state vertical-scroll-proportion="0.0">
825+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
826+ <folding />
827+ </state>
828+ </provider>
829+ </entry>
830+ <entry file="file://$PROJECT_DIR$/mlb_project/urls.py">
831+ <provider selected="true" editor-type-id="text-editor">
832+ <state vertical-scroll-proportion="0.0">
833+ <caret line="20" column="40" selection-start-line="20" selection-start-column="40" selection-end-line="20" selection-end-column="40" />
834+ <folding>
835+ <element signature="e#644#685#0" expanded="true" />
836+ </folding>
837+ </state>
838+ </provider>
839+ </entry>
840+ <entry file="file://$PROJECT_DIR$/alpha/admin.py">
841+ <provider selected="true" editor-type-id="text-editor">
842+ <state vertical-scroll-proportion="0.0">
843+ <caret line="7" column="17" selection-start-line="7" selection-start-column="17" selection-end-line="7" selection-end-column="17" />
844+ <folding>
845+ <element signature="e#0#32#0" expanded="true" />
846+ </folding>
847+ </state>
848+ </provider>
849+ </entry>
850+ <entry file="file://$PROJECT_DIR$/alpha/serializers.py">
851+ <provider selected="true" editor-type-id="text-editor">
852+ <state vertical-scroll-proportion="0.0">
853+ <caret line="22" column="8" selection-start-line="22" selection-start-column="8" selection-end-line="22" selection-end-column="113" />
854+ <folding>
855+ <element signature="e#0#38#0" expanded="true" />
856+ </folding>
857+ </state>
858+ </provider>
859+ </entry>
860+ <entry file="file://$PROJECT_DIR$/alpha/urls.py">
861+ <provider selected="true" editor-type-id="text-editor">
862+ <state vertical-scroll-proportion="0.0">
863+ <caret line="11" column="17" selection-start-line="11" selection-start-column="17" selection-end-line="11" selection-end-column="17" />
864+ <folding>
865+ <element signature="e#0#32#0" expanded="true" />
866+ </folding>
867+ </state>
868+ </provider>
869+ </entry>
870+ <entry file="file://$PROJECT_DIR$/mlb_project/settings.py">
871+ <provider selected="true" editor-type-id="text-editor">
872+ <state vertical-scroll-proportion="0.0">
873+ <caret line="133" column="1" selection-start-line="133" selection-start-column="1" selection-end-line="133" selection-end-column="1" />
874+ <folding />
875+ </state>
876+ </provider>
877+ </entry>
878+ <entry file="file://$PROJECT_DIR$/alpha/templates/alpha/crash_group_add.html">
879+ <provider selected="true" editor-type-id="text-editor">
880+ <state vertical-scroll-proportion="-10.0">
881+ <caret line="16" column="12" selection-start-line="16" selection-start-column="12" selection-end-line="16" selection-end-column="12" />
882+ <folding />
883+ </state>
884+ </provider>
885+ </entry>
886+ <entry file="file://$PROJECT_DIR$/alpha/templates/alpha/crash_report_add.html">
887+ <provider selected="true" editor-type-id="text-editor">
888+ <state vertical-scroll-proportion="-13.75">
889+ <caret line="22" column="12" selection-start-line="22" selection-start-column="12" selection-end-line="22" selection-end-column="12" />
890+ <folding />
891+ </state>
892+ </provider>
893+ </entry>
894+ <entry file="file://$PROJECT_DIR$/alpha/models.py">
895+ <provider selected="true" editor-type-id="text-editor">
896+ <state vertical-scroll-proportion="0.0">
897+ <caret line="23" column="32" selection-start-line="23" selection-start-column="32" selection-end-line="23" selection-end-column="32" />
898+ <folding>
899+ <marker date="1457281508698" expanded="true" signature="221:270" placeholder="..." />
900+ </folding>
901+ </state>
902+ </provider>
903+ </entry>
904+ <entry file="file://$PROJECT_DIR$/alpha/views.py">
905+ <provider selected="true" editor-type-id="text-editor">
906+ <state vertical-scroll-proportion="0.21052632">
907+ <caret line="77" column="7" selection-start-line="77" selection-start-column="7" selection-end-line="77" selection-end-column="7" />
908+ <folding>
909+ <element signature="e#0#36#0" expanded="true" />
910+ </folding>
911+ </state>
912+ </provider>
913+ </entry>
914+ </component>
915+</project>
916\ No newline at end of file
917diff --git a/server/interface/alpha/__init__.py b/server/interface/alpha/__init__.py
918new file mode 100644
919index 0000000..e69de29
920--- /dev/null
921+++ b/server/interface/alpha/__init__.py
922diff --git a/server/interface/alpha/__pycache__/__init__.cpython-34.pyc b/server/interface/alpha/__pycache__/__init__.cpython-34.pyc
923new file mode 100644
924index 0000000..f0d0e2f
925Binary files /dev/null and b/server/interface/alpha/__pycache__/__init__.cpython-34.pyc differ
926diff --git a/server/interface/alpha/__pycache__/admin.cpython-34.pyc b/server/interface/alpha/__pycache__/admin.cpython-34.pyc
927new file mode 100644
928index 0000000..ef52e16
929Binary files /dev/null and b/server/interface/alpha/__pycache__/admin.cpython-34.pyc differ
930diff --git a/server/interface/alpha/__pycache__/models.cpython-34.pyc b/server/interface/alpha/__pycache__/models.cpython-34.pyc
931new file mode 100644
932index 0000000..2917bf9
933Binary files /dev/null and b/server/interface/alpha/__pycache__/models.cpython-34.pyc differ
934diff --git a/server/interface/alpha/__pycache__/serializers.cpython-34.pyc b/server/interface/alpha/__pycache__/serializers.cpython-34.pyc
935new file mode 100644
936index 0000000..9aaff68
937Binary files /dev/null and b/server/interface/alpha/__pycache__/serializers.cpython-34.pyc differ
938diff --git a/server/interface/alpha/__pycache__/urls.cpython-34.pyc b/server/interface/alpha/__pycache__/urls.cpython-34.pyc
939new file mode 100644
940index 0000000..e8807c4
941Binary files /dev/null and b/server/interface/alpha/__pycache__/urls.cpython-34.pyc differ
942diff --git a/server/interface/alpha/__pycache__/views.cpython-34.pyc b/server/interface/alpha/__pycache__/views.cpython-34.pyc
943new file mode 100644
944index 0000000..a3c7749
945Binary files /dev/null and b/server/interface/alpha/__pycache__/views.cpython-34.pyc differ
946diff --git a/server/interface/alpha/admin.py b/server/interface/alpha/admin.py
947new file mode 100644
948index 0000000..57e3e71
949--- /dev/null
950+++ b/server/interface/alpha/admin.py
951@@ -0,0 +1,8 @@
952+from django.contrib import admin
953+from .models import CrashGroup, Application, CrashReport, SystemInfo
954+# Register your models here.
955+
956+admin.site.register(CrashGroup)
957+admin.site.register(Application)
958+admin.site.register(CrashReport)
959+admin.site.register(SystemInfo)
960\ No newline at end of file
961diff --git a/server/interface/alpha/apps.py b/server/interface/alpha/apps.py
962new file mode 100644
963index 0000000..5cdce23
964--- /dev/null
965+++ b/server/interface/alpha/apps.py
966@@ -0,0 +1,5 @@
967+from django.apps import AppConfig
968+
969+
970+class AlphaConfig(AppConfig):
971+ name = 'alpha'
972diff --git a/server/interface/alpha/migrations/0001_initial.py b/server/interface/alpha/migrations/0001_initial.py
973new file mode 100644
974index 0000000..113a054
975--- /dev/null
976+++ b/server/interface/alpha/migrations/0001_initial.py
977@@ -0,0 +1,50 @@
978+# -*- coding: utf-8 -*-
979+from __future__ import unicode_literals
980+
981+from django.db import models, migrations
982+
983+
984+class Migration(migrations.Migration):
985+
986+ dependencies = [
987+ ]
988+
989+ operations = [
990+ migrations.CreateModel(
991+ name='Application',
992+ fields=[
993+ ('id', models.AutoField(verbose_name='ID', primary_key=True, serialize=False, auto_created=True)),
994+ ('name', models.CharField(max_length=255)),
995+ ('version', models.CharField(max_length=255)),
996+ ],
997+ ),
998+ migrations.CreateModel(
999+ name='CrashGroup',
1000+ fields=[
1001+ ('crash_group_id', models.IntegerField(primary_key=True, serialize=False)),
1002+ ],
1003+ ),
1004+ migrations.CreateModel(
1005+ name='CrashReport',
1006+ fields=[
1007+ ('crash_report_id', models.IntegerField(primary_key=True, serialize=False)),
1008+ ('stderr_output', models.TextField()),
1009+ ('exit_code', models.IntegerField()),
1010+ ('application', models.ForeignKey(to='alpha.Application')),
1011+ ('crash_group_id', models.ForeignKey(to='alpha.CrashGroup')),
1012+ ],
1013+ ),
1014+ migrations.CreateModel(
1015+ name='SystemInfo',
1016+ fields=[
1017+ ('id', models.AutoField(verbose_name='ID', primary_key=True, serialize=False, auto_created=True)),
1018+ ('name', models.CharField(max_length=255, default='Ubuntu')),
1019+ ('version', models.CharField(max_length=255)),
1020+ ],
1021+ ),
1022+ migrations.AddField(
1023+ model_name='crashreport',
1024+ name='systeminfo',
1025+ field=models.ForeignKey(to='alpha.SystemInfo'),
1026+ ),
1027+ ]
1028diff --git a/server/interface/alpha/migrations/__init__.py b/server/interface/alpha/migrations/__init__.py
1029new file mode 100644
1030index 0000000..e69de29
1031--- /dev/null
1032+++ b/server/interface/alpha/migrations/__init__.py
1033diff --git a/server/interface/alpha/migrations/__pycache__/0001_initial.cpython-34.pyc b/server/interface/alpha/migrations/__pycache__/0001_initial.cpython-34.pyc
1034new file mode 100644
1035index 0000000..7152629
1036Binary files /dev/null and b/server/interface/alpha/migrations/__pycache__/0001_initial.cpython-34.pyc differ
1037diff --git a/server/interface/alpha/migrations/__pycache__/__init__.cpython-34.pyc b/server/interface/alpha/migrations/__pycache__/__init__.cpython-34.pyc
1038new file mode 100644
1039index 0000000..922086b
1040Binary files /dev/null and b/server/interface/alpha/migrations/__pycache__/__init__.cpython-34.pyc differ
1041diff --git a/server/interface/alpha/models.py b/server/interface/alpha/models.py
1042new file mode 100644
1043index 0000000..3a6dbdb
1044--- /dev/null
1045+++ b/server/interface/alpha/models.py
1046@@ -0,0 +1,37 @@
1047+from django.db import models
1048+
1049+
1050+
1051+class CrashGroup(models.Model):
1052+ crash_group_id = models.IntegerField(primary_key=True)
1053+ def __str__ (self):
1054+ return str(self.crash_group_id)
1055+
1056+class Application(models.Model):
1057+ #id = models.AutoField(primary_key=True)
1058+ name = models.CharField(max_length=255)
1059+ version = models.CharField(max_length=255)
1060+ def __str__(self):
1061+ return "Application: " + self.name + " " + self.version + "\n"
1062+
1063+class SystemInfo(models.Model):
1064+ #id = models.AutoField(primary_key=True)
1065+ name = models.CharField(max_length=255, default="Ubuntu")
1066+ version = models.CharField(max_length=255)
1067+ def __str__(self):
1068+ return "System information: " + self.name + self.version + "\n"
1069+
1070+class CrashReport(models.Model):
1071+ crash_report_id = models.IntegerField(primary_key=True)
1072+ crash_group_id = models.ForeignKey(CrashGroup, related_name='crash_group_reports')
1073+ stderr_output = models.TextField()
1074+ exit_code = models.IntegerField()
1075+ systeminfo = models.ForeignKey(SystemInfo)
1076+ application = models.ForeignKey(Application)
1077+ def __str__ (self):
1078+ text = "Crash report: "
1079+ text += str(self.crash_report_id) + " "
1080+ text += str(self.crash_group_id) + " "
1081+ text += str(self.exit_code) + " "
1082+ text += self.stderr_output + "\n"
1083+ return text
1084\ No newline at end of file
1085diff --git a/server/interface/alpha/serializers.py b/server/interface/alpha/serializers.py
1086new file mode 100644
1087index 0000000..000a7de
1088--- /dev/null
1089+++ b/server/interface/alpha/serializers.py
1090@@ -0,0 +1,30 @@
1091+from rest_framework import serializers
1092+from alpha.models import SystemInfo, CrashReport, CrashGroup, Application
1093+
1094+
1095+class ApplicationSerializer(serializers.ModelSerializer):
1096+ class Meta:
1097+ model = Application
1098+ fields = ('name', 'version')
1099+
1100+
1101+class SystemInfoSerializer(serializers.ModelSerializer):
1102+ class Meta:
1103+ model = SystemInfo
1104+ fields = ('name', 'version')
1105+
1106+
1107+class CrashReportSerializer(serializers.ModelSerializer):
1108+ systeminfo = SystemInfoSerializer(read_only=False)
1109+ application = ApplicationSerializer(read_only=False)
1110+
1111+ class Meta:
1112+ model = CrashReport
1113+ fields = ('crash_report_id', 'crash_group_id', 'stderr_output', 'exit_code', 'application', 'systeminfo')
1114+
1115+
1116+class CrashGroupSerializer(serializers.ModelSerializer):
1117+ #crash_group_reports = CrashReportSerializer(read_only=False, many=True)
1118+ class Meta:
1119+ model = CrashGroup
1120+ fields = ('crash_group_id',)
1121diff --git a/server/interface/alpha/templates/alpha/crash_group_add.html b/server/interface/alpha/templates/alpha/crash_group_add.html
1122new file mode 100644
1123index 0000000..947f330
1124--- /dev/null
1125+++ b/server/interface/alpha/templates/alpha/crash_group_add.html
1126@@ -0,0 +1,28 @@
1127+<!DOCTYPE html>
1128+<html lang="en">
1129+<head>
1130+ <meta charset="UTF-8">
1131+ <title>Title</title>
1132+</head>
1133+<body>
1134+{{ msg }}
1135+<br/>
1136+{% if groups.count > 0 %}
1137+ <table id = "table_groups">
1138+ {% for group in groups %}
1139+ <tr>
1140+ <td>{{ group.crash_group_id }}</td>
1141+ </tr>
1142+ {% endfor %}
1143+ </table>
1144+{% endif %}
1145+
1146+<h2>Add new crash group</h2>
1147+<form action="" method="post">
1148+ {% csrf_token %}
1149+ <input type="text" name="crash_group_id" placeholder="crash_group_id">
1150+ <button type="submit">Add!</button>
1151+</form>
1152+
1153+</body>
1154+</html>
1155\ No newline at end of file
1156diff --git a/server/interface/alpha/templates/alpha/crash_report_add.html b/server/interface/alpha/templates/alpha/crash_report_add.html
1157new file mode 100644
1158index 0000000..50b6f08
1159--- /dev/null
1160+++ b/server/interface/alpha/templates/alpha/crash_report_add.html
1161@@ -0,0 +1,41 @@
1162+<!DOCTYPE html>
1163+<html lang="en">
1164+<head>
1165+ <meta charset="UTF-8">
1166+ <title>Title</title>
1167+</head>
1168+<body>
1169+
1170+{{ msg }}
1171+<br/>
1172+{% if reports.count > 0 %}
1173+ <table id = "table_reports">
1174+ {% for report in reports %}
1175+ <tr>
1176+ <td>{{ report.crash_report_id }}</td>
1177+ <td>{{ report.crash_group_id }}</td>
1178+ <td>{{ report.stderr_output }}</td>
1179+ <td>{{ report.exit_code }}</td>
1180+ <td>{{ report.application }}</td>
1181+ <td>{{ report.systeminfo }}</td>
1182+ </tr>
1183+ {% endfor %}
1184+ </table>
1185+{% endif %}
1186+
1187+<h2>Add new crash report</h2>
1188+<form action="" method="post">
1189+ {% csrf_token %}
1190+ <input type="text" name="crash_report_id" placeholder="crash_report_id"><br/>
1191+ <input type="text" name="crash_group_id" placeholder="crash_group_id"><br/>
1192+ <input type="text" name="stderr_output" placeholder="stderr_output"><br/>
1193+ <input type="text" name="exit_code" placeholder="exit_code"><br/>
1194+ <input type="text" name="application_name" placeholder="application_name"><br/>
1195+ <input type="text" name="application_version" placeholder="application_version"><br/>
1196+ <input type="text" name="system_version" placeholder="system_version"><br/>
1197+ <button type="submit">Add!</button>
1198+</form>
1199+
1200+
1201+</body>
1202+</html>
1203\ No newline at end of file
1204diff --git a/server/interface/alpha/tests.py b/server/interface/alpha/tests.py
1205new file mode 100644
1206index 0000000..7ce503c
1207--- /dev/null
1208+++ b/server/interface/alpha/tests.py
1209@@ -0,0 +1,3 @@
1210+from django.test import TestCase
1211+
1212+# Create your tests here.
1213diff --git a/server/interface/alpha/urls.py b/server/interface/alpha/urls.py
1214new file mode 100644
1215index 0000000..f55ecd8
1216--- /dev/null
1217+++ b/server/interface/alpha/urls.py
1218@@ -0,0 +1,13 @@
1219+from django.conf.urls import url
1220+from alpha import views
1221+
1222+urlpatterns = [
1223+ url(r'^crash-reports/$', views.crash_report_list),
1224+ url(r'^crash-reports/(?P<pk>[0-9]+)/$', views.crash_report_detail),
1225+
1226+ url(r'^crash-groups/$', views.crash_group_list),
1227+ url(r'^crash-groups/(?P<pk>[0-9]+)/$', views.crash_group_detail),
1228+
1229+ url(r'^crash-groups/add/$', views.crash_group_add),
1230+ url(r'^crash-reports/add/$', views.crash_report_add),
1231+]
1232\ No newline at end of file
1233diff --git a/server/interface/alpha/views.py b/server/interface/alpha/views.py
1234new file mode 100644
1235index 0000000..88f4510
1236--- /dev/null
1237+++ b/server/interface/alpha/views.py
1238@@ -0,0 +1,159 @@
1239+from django.http import HttpResponse
1240+from django.shortcuts import render_to_response
1241+from django.template import RequestContext
1242+from django.views.decorators.csrf import csrf_exempt
1243+
1244+
1245+from rest_framework import status
1246+from rest_framework.decorators import api_view
1247+from rest_framework.parsers import JSONParser
1248+from rest_framework.renderers import JSONRenderer
1249+from rest_framework.response import Response
1250+from alpha.models import Application, SystemInfo, CrashGroup, CrashReport
1251+from alpha.serializers import ApplicationSerializer, CrashGroupSerializer, CrashReportSerializer, SystemInfoSerializer
1252+
1253+
1254+@api_view(['GET', 'POST'])
1255+def crash_group_list(request):
1256+ """
1257+ List all crash groups, or create a new one.
1258+ """
1259+ if request.method == 'GET':
1260+ snippets = CrashGroup.objects.all()
1261+ serializer = CrashGroupSerializer(snippets, many=True)
1262+ return Response(serializer.data)
1263+
1264+ elif request.method == 'POST':
1265+ serializer = CrashGroupSerializer(data=request.data)
1266+ if serializer.is_valid():
1267+ serializer.save()
1268+ return Response(serializer.data, status=status.HTTP_201_CREATED)
1269+ return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
1270+
1271+
1272+@api_view(['GET', 'PUT', 'DELETE'])
1273+def crash_group_detail(request, pk):
1274+ """
1275+ Retrieve, update or delete a snippet instance.
1276+ """
1277+ try:
1278+ group = CrashGroup.objects.get(pk=pk)
1279+ except CrashGroup.DoesNotExist:
1280+ return Response(status=status.HTTP_404_NOT_FOUND)
1281+
1282+ if request.method == 'GET':
1283+ serializer = CrashGroupSerializer(group)
1284+ return Response(serializer.data)
1285+
1286+ elif request.method == 'PUT':
1287+ serializer = CrashGroupSerializer(group, data=request.data)
1288+ if serializer.is_valid():
1289+ serializer.save()
1290+ return Response(serializer.data)
1291+ return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
1292+
1293+ elif request.method == 'DELETE':
1294+ group.delete()
1295+ return Response(status=status.HTTP_204_NO_CONTENT)
1296+
1297+@api_view(['GET', 'POST'])
1298+def crash_report_list(request):
1299+ """
1300+ List all crash reports, or create a new one.
1301+ """
1302+ if request.method == 'GET':
1303+ reports = CrashReport.objects.all()
1304+ serializer = CrashReportSerializer(reports, many=True)
1305+ return Response(serializer.data)
1306+
1307+ elif request.method == 'POST':
1308+ serializer = CrashReportSerializer(data=request.data)
1309+ if serializer.is_valid():
1310+ serializer.save()
1311+ return Response(serializer.data, status=status.HTTP_201_CREATED)
1312+ return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
1313+
1314+@api_view(['GET', 'PUT', 'DELETE'])
1315+def crash_report_detail(request, pk):
1316+ """
1317+ Retrieve, update or delete a crash report
1318+ """
1319+ try:
1320+ report = CrashReport.objects.get(pk=pk)
1321+ except CrashReport.DoesNotExist:
1322+ return Response(status=status.HTTP_404_NOT_FOUND)
1323+
1324+ if request.method == 'GET':
1325+ serializer = CrashReportSerializer(report)
1326+ return Response(serializer.data)
1327+
1328+ elif request.method == 'PUT':
1329+ print("PUT METHOD ...")
1330+ cgrp_id = request.data["crash_group_id"]
1331+ print("PUT METHOD CD >>..")
1332+ print(cgrp_id)
1333+ serializer = CrashReportSerializer(report, data=request.data)
1334+ if serializer.is_valid():
1335+ serializer.save()
1336+ return Response(serializer.data)
1337+ return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
1338+
1339+ elif request.method == 'DELETE':
1340+ report.delete()
1341+ return Response(status=status.HTTP_204_NO_CONTENT)
1342+
1343+
1344+def crash_group_add(request):
1345+ groups = CrashGroup.objects.all()
1346+ if(request.method=='GET'):
1347+ return render_to_response('alpha/crash_group_add.html', {'groups': groups}, context_instance=RequestContext(request))
1348+ if(request.method=='POST'):
1349+ crash_grp_id = request.POST.get('crash_group_id')
1350+ try:
1351+ crash_grp = CrashGroup.objects.get(crash_group_id=crash_grp_id)
1352+ return render_to_response('alpha/crash_group_add.html', {'groups': groups, 'msg': "This crash_group is already in database."},
1353+ context_instance=RequestContext(request))
1354+ except CrashGroup.DoesNotExist:
1355+ new_crash_grp = CrashGroup(crash_group_id=crash_grp_id)
1356+ new_crash_grp.save()
1357+ return render_to_response('alpha/crash_group_add.html', {'groups': groups, 'msg': "Saved new crash_grp"},
1358+ context_instance=RequestContext(request))
1359+
1360+def crash_report_add(request):
1361+ reports = CrashReport.objects.all()
1362+ if(request.method == 'GET'):
1363+ return render_to_response('alpha/crash_report_add.html', {'reports': reports}, context_instance=RequestContext(request))
1364+ elif(request.method=='POST'):
1365+ cr_id = int(request.POST.get('crash_report_id'))
1366+ cg_id = int(request.POST.get('crash_group_id'))
1367+ std_err = request.POST.get('stderr_output')
1368+ ex_code = int(request.POST.get('exit_code'))
1369+ app_name = request.POST.get('application_name')
1370+ app_v = request.POST.get('application_version')
1371+ sys_ver = request.POST.get('system_version')
1372+
1373+ app = {}
1374+ system = {}
1375+
1376+ try:
1377+ cg = CrashGroup.objects.get(crash_group_id=cg_id)
1378+ except CrashGroup.DoesNotExist:
1379+ cg = CrashGroup(crash_group_id=cg_id)
1380+ cg.save()
1381+ try:
1382+ app = Application.objects.get(name=app_name, version=app_v)
1383+ except Application.DoesNotExist:
1384+ app = Application(name=app_name, version=app_v)
1385+ app.save()
1386+
1387+ try:
1388+ system = SystemInfo.objects.get(version=sys_ver)
1389+ except SystemInfo.DoesNotExist:
1390+ system = SystemInfo(version=sys_ver)
1391+ system.save()
1392+
1393+ new_crash_report = CrashReport(crash_report_id=cr_id, crash_group_id=cg, stderr_output=std_err, exit_code=ex_code, application=app, systeminfo=system)
1394+ new_crash_report.save()
1395+
1396+ return render_to_response('alpha/crash_report_add.html', {'reports': reports}, context_instance=RequestContext(request))
1397+
1398diff --git a/server/interface/manage.py b/server/interface/manage.py
1399new file mode 100755
1400index 0000000..0b66020
1401--- /dev/null
1402+++ b/server/interface/manage.py
1403@@ -0,0 +1,10 @@
1404+#!/usr/bin/env python
1405+import os
1406+import sys
1407+
1408+if __name__ == "__main__":
1409+ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mlb_project.settings")
1410+
1411+ from django.core.management import execute_from_command_line
1412+
1413+ execute_from_command_line(sys.argv)
1414diff --git a/server/interface/mlb_project/__init__.py b/server/interface/mlb_project/__init__.py
1415new file mode 100644
1416index 0000000..e69de29
1417--- /dev/null
1418+++ b/server/interface/mlb_project/__init__.py
1419diff --git a/server/interface/mlb_project/__pycache__/__init__.cpython-34.pyc b/server/interface/mlb_project/__pycache__/__init__.cpython-34.pyc
1420new file mode 100644
1421index 0000000..cbada39
1422Binary files /dev/null and b/server/interface/mlb_project/__pycache__/__init__.cpython-34.pyc differ
1423diff --git a/server/interface/mlb_project/__pycache__/settings.cpython-34.pyc b/server/interface/mlb_project/__pycache__/settings.cpython-34.pyc
1424new file mode 100644
1425index 0000000..75ac9c0
1426Binary files /dev/null and b/server/interface/mlb_project/__pycache__/settings.cpython-34.pyc differ
1427diff --git a/server/interface/mlb_project/__pycache__/urls.cpython-34.pyc b/server/interface/mlb_project/__pycache__/urls.cpython-34.pyc
1428new file mode 100644
1429index 0000000..cf8b025
1430Binary files /dev/null and b/server/interface/mlb_project/__pycache__/urls.cpython-34.pyc differ
1431diff --git a/server/interface/mlb_project/__pycache__/wsgi.cpython-34.pyc b/server/interface/mlb_project/__pycache__/wsgi.cpython-34.pyc
1432new file mode 100644
1433index 0000000..4ba3c2c
1434Binary files /dev/null and b/server/interface/mlb_project/__pycache__/wsgi.cpython-34.pyc differ
1435diff --git a/server/interface/mlb_project/settings.py b/server/interface/mlb_project/settings.py
1436new file mode 100644
1437index 0000000..d84eb44
1438--- /dev/null
1439+++ b/server/interface/mlb_project/settings.py
1440@@ -0,0 +1,134 @@
1441+"""
1442+Django settings for mlb_project project.
1443+
1444+Generated by 'django-admin startproject' using Django 1.9.3.
1445+
1446+For more information on this file, see
1447+https://docs.djangoproject.com/en/1.9/topics/settings/
1448+
1449+For the full list of settings and their values, see
1450+https://docs.djangoproject.com/en/1.9/ref/settings/
1451+"""
1452+
1453+import os
1454+
1455+# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
1456+BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
1457+
1458+
1459+# Quick-start development settings - unsuitable for production
1460+# See https://docs.djangoproject.com/en/1.9/howto/deployment/checklist/
1461+
1462+# SECURITY WARNING: keep the secret key used in production secret!
1463+SECRET_KEY = '#66f=^4km!&1*3b4j87zjy9kl*yb8%$((72d0tm$8st(6(1njr'
1464+
1465+# SECURITY WARNING: don't run with debug turned on in production!
1466+DEBUG = True
1467+
1468+ALLOWED_HOSTS = []
1469+
1470+
1471+# Application definition
1472+
1473+INSTALLED_APPS = [
1474+ 'django.contrib.admin',
1475+ 'django.contrib.auth',
1476+ 'django.contrib.contenttypes',
1477+ 'django.contrib.sessions',
1478+ 'django.contrib.messages',
1479+ 'django.contrib.staticfiles',
1480+ 'rest_framework',
1481+ 'alpha',
1482+
1483+]
1484+
1485+MIDDLEWARE_CLASSES = [
1486+ 'django.middleware.security.SecurityMiddleware',
1487+ 'django.contrib.sessions.middleware.SessionMiddleware',
1488+ 'django.middleware.common.CommonMiddleware',
1489+ 'django.middleware.csrf.CsrfViewMiddleware',
1490+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
1491+ 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
1492+ 'django.contrib.messages.middleware.MessageMiddleware',
1493+ 'django.middleware.clickjacking.XFrameOptionsMiddleware',
1494+]
1495+
1496+ROOT_URLCONF = 'mlb_project.urls'
1497+
1498+TEMPLATES = [
1499+ {
1500+ 'BACKEND': 'django.template.backends.django.DjangoTemplates',
1501+ 'DIRS': [os.path.join(BASE_DIR, 'templates')]
1502+ ,
1503+ 'APP_DIRS': True,
1504+ 'OPTIONS': {
1505+ 'context_processors': [
1506+ 'django.template.context_processors.debug',
1507+ 'django.template.context_processors.request',
1508+ 'django.contrib.auth.context_processors.auth',
1509+ 'django.contrib.messages.context_processors.messages',
1510+ ],
1511+ },
1512+ },
1513+]
1514+
1515+WSGI_APPLICATION = 'mlb_project.wsgi.application'
1516+
1517+
1518+# Database
1519+# https://docs.djangoproject.com/en/1.9/ref/settings/#databases
1520+
1521+DATABASES = {
1522+ 'default': {
1523+ 'ENGINE': 'django.db.backends.sqlite3',
1524+ 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
1525+ }
1526+}
1527+
1528+
1529+# Password validation
1530+# https://docs.djangoproject.com/en/1.9/ref/settings/#auth-password-validators
1531+
1532+AUTH_PASSWORD_VALIDATORS = [
1533+ {
1534+ 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
1535+ },
1536+ {
1537+ 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
1538+ },
1539+ {
1540+ 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
1541+ },
1542+ {
1543+ 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
1544+ },
1545+]
1546+
1547+
1548+# Internationalization
1549+# https://docs.djangoproject.com/en/1.9/topics/i18n/
1550+
1551+LANGUAGE_CODE = 'en-us'
1552+
1553+TIME_ZONE = 'UTC'
1554+
1555+USE_I18N = True
1556+
1557+USE_L10N = True
1558+
1559+USE_TZ = True
1560+
1561+
1562+# Static files (CSS, JavaScript, Images)
1563+# https://docs.djangoproject.com/en/1.9/howto/static-files/
1564+
1565+STATIC_URL = '/static/'
1566+
1567+
1568+#REST_FRAMEWORK = {
1569+ # Use Django's standard `django.contrib.auth` permissions,
1570+ # or allow read-only access for unauthenticated users.
1571+# 'DEFAULT_PERMISSION_CLASSES': [
1572+# 'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
1573+# ]
1574+#}
1575\ No newline at end of file
1576diff --git a/server/interface/mlb_project/urls.py b/server/interface/mlb_project/urls.py
1577new file mode 100644
1578index 0000000..a7c768c
1579--- /dev/null
1580+++ b/server/interface/mlb_project/urls.py
1581@@ -0,0 +1,22 @@
1582+"""mlb_project URL Configuration
1583+
1584+The `urlpatterns` list routes URLs to views. For more information please see:
1585+ https://docs.djangoproject.com/en/1.9/topics/http/urls/
1586+Examples:
1587+Function views
1588+ 1. Add an import: from my_app import views
1589+ 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home')
1590+Class-based views
1591+ 1. Add an import: from other_app.views import Home
1592+ 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home')
1593+Including another URLconf
1594+ 1. Import the include() function: from django.conf.urls import url, include
1595+ 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
1596+"""
1597+from django.conf.urls import url, include
1598+from django.contrib import admin
1599+
1600+urlpatterns = [
1601+ url(r'^admin/', admin.site.urls),
1602+ url(r'^vd1/', include('alpha.urls'))
1603+]
1604diff --git a/server/interface/mlb_project/wsgi.py b/server/interface/mlb_project/wsgi.py
1605new file mode 100644
1606index 0000000..40c3c93
1607--- /dev/null
1608+++ b/server/interface/mlb_project/wsgi.py
1609@@ -0,0 +1,16 @@
1610+"""
1611+WSGI config for mlb_project project.
1612+
1613+It exposes the WSGI callable as a module-level variable named ``application``.
1614+
1615+For more information on this file, see
1616+https://docs.djangoproject.com/en/1.9/howto/deployment/wsgi/
1617+"""
1618+
1619+import os
1620+
1621+from django.core.wsgi import get_wsgi_application
1622+
1623+os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mlb_project.settings")
1624+
1625+application = get_wsgi_application()
1626diff --git a/server/interface/readme b/server/interface/readme
1627new file mode 100644
1628index 0000000..c36b64b
1629--- /dev/null
1630+++ b/server/interface/readme
1631@@ -0,0 +1,14 @@
1632+### Wykonujemy po kolei nastepujace:
1633+
1634+virtualenv -p python3 venv
1635+. venv/bin/activate
1636+pip install Django==1.8.2
1637+pip install djangorestframework
1638+pip install markdown
1639+pip install django-filter
1640+python manage.py runserver
1641+
1642+### Aktualnie można wyswietlac, usuwac raporty, grupy za pomoca curl.
1643+### Dodawanie grup/raportow jest mozliwe na stronie localhost:8000/vd1/crash-reports/add
1644+### lub localhost:8000/vd1/crash-groups/add. Jest dostępna wersja do wklikania, ale
1645+### curlem tez powinno sie dac.
1646diff --git a/server/interface/readme.md b/server/interface/readme.md
1647deleted file mode 100644
1648index 9c558e3..0000000
1649--- a/server/interface/readme.md
1650+++ /dev/null
1651@@ -1 +0,0 @@
1652-.

Subscribers

People subscribed via source and target branches

to all changes: