added more smp >API< functions

This commit is contained in:
2019-07-03 16:09:10 +02:00
parent 3a7d8dbdd4
commit 4d01f7025b
10 changed files with 764 additions and 124 deletions

7
.idea/backend.iml generated
View File

@@ -17,8 +17,13 @@
</component>
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="Pipenv (backend)" jdkType="Python SDK" />
<orderEntry type="jdk" jdkName="Python 3.7 (backend-pKjQcArQ)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="ocmp" />
<orderEntry type="module" module-name="OpenCastPythonClient" />
<orderEntry type="module" module-name="ocmp" />
<orderEntry type="module" module-name="newsMap" />
<orderEntry type="module" module-name="vue_ts_test" />
</component>
<component name="TemplatesService">
<option name="TEMPLATE_CONFIGURATION" value="Jinja2" />

5
.idea/misc.xml generated
View File

@@ -3,5 +3,8 @@
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Pipenv (backend)" project-jdk-type="Python SDK" />
<component name="ProjectRootManager" version="2" project-jdk-name="Pipenv (newsMap)" project-jdk-type="Python SDK" />
<component name="PyCharmProfessionalAdvertiser">
<option name="shown" value="true" />
</component>
</project>

4
.idea/modules.xml generated
View File

@@ -2,7 +2,11 @@
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/../../OpenCastPythonClient/.idea/OpenCastPythonClient.iml" filepath="$PROJECT_DIR$/../../OpenCastPythonClient/.idea/OpenCastPythonClient.iml" />
<module fileurl="file://$PROJECT_DIR$/.idea/backend.iml" filepath="$PROJECT_DIR$/.idea/backend.iml" />
<module fileurl="file://$USER_HOME$/Projects/newsMap/.idea/newsMap.iml" filepath="$USER_HOME$/Projects/newsMap/.idea/newsMap.iml" />
<module fileurl="file://$PROJECT_DIR$/../../media-abstraction-layer/.idea/ocmp.iml" filepath="$PROJECT_DIR$/../../media-abstraction-layer/.idea/ocmp.iml" />
<module fileurl="file://$PROJECT_DIR$/../.idea/vue_ts_test.iml" filepath="$PROJECT_DIR$/../.idea/vue_ts_test.iml" />
</modules>
</component>
</project>

6
.idea/other.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PySciProjectComponent">
<option name="PY_SCI_VIEW_SUGGESTED" value="true" />
</component>
</project>

6
.idea/vcs.xml generated
View File

@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
<mapping directory="" vcs="Git" />
<mapping directory="$PROJECT_DIR$/../../OpenCastPythonClient" vcs="Git" />
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
<mapping directory="$PROJECT_DIR$/../../media-abstraction-layer" vcs="Git" />
<mapping directory="$USER_HOME$/Projects/newsMap" vcs="Git" />
</component>
</project>

639
.idea/workspace.xml generated
View File

@@ -2,12 +2,18 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="dbc2bdbd-c8f7-46d2-961a-6a2b77f8f4c5" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/backend.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/backend.iml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/api/recorder_api.py" beforeDir="false" afterPath="$PROJECT_DIR$/api/recorder_api.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app.db" beforeDir="false" afterPath="$PROJECT_DIR$/app.db" afterDir="false" />
<change beforePath="$PROJECT_DIR$/models/recorder_model.py" beforeDir="false" afterPath="$PROJECT_DIR$/models/recorder_model.py" afterDir="false" />
<change afterPath="$USER_HOME$/Projects/newsMap/.idea/other.xml" afterDir="false" />
<change afterPath="$USER_HOME$/Projects/newsMap/news_map/news_sources/de_newspaper.db" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../../OpenCastPythonClient/ocpy/api/ingest.py" beforeDir="false" afterPath="$PROJECT_DIR$/../../OpenCastPythonClient/ocpy/api/ingest.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../../OpenCastPythonClient/ocpy/api/service.py" beforeDir="false" afterPath="$PROJECT_DIR$/../../OpenCastPythonClient/ocpy/api/service.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$" beforeDir="false" afterPath="$PROJECT_DIR$" afterDir="false" />
<change beforePath="$USER_HOME$/Projects/newsMap/.idea/newsMap.iml" beforeDir="false" afterPath="$USER_HOME$/Projects/newsMap/.idea/newsMap.iml" afterDir="false" />
<change beforePath="$USER_HOME$/Projects/newsMap/.idea/workspace.xml" beforeDir="false" afterPath="$USER_HOME$/Projects/newsMap/.idea/workspace.xml" afterDir="false" />
<change beforePath="$USER_HOME$/Projects/newsMap/Pipfile" beforeDir="false" afterPath="$USER_HOME$/Projects/newsMap/Pipfile" afterDir="false" />
<change beforePath="$USER_HOME$/Projects/newsMap/Pipfile.lock" beforeDir="false" afterPath="$USER_HOME$/Projects/newsMap/Pipfile.lock" afterDir="false" />
<change beforePath="$USER_HOME$/Projects/newsMap/news_map/gatherer/newsGatherer.py" beforeDir="false" afterPath="$USER_HOME$/Projects/newsMap/news_map/gatherer/newsGatherer.py" afterDir="false" />
<change beforePath="$USER_HOME$/Projects/newsMap/news_map/newsMap.py" beforeDir="false" afterPath="$USER_HOME$/Projects/newsMap/news_map/newsMap.py" afterDir="false" />
<change beforePath="$USER_HOME$/Projects/newsMap/news_map/news_sources/wiki_newspaper_scraper.py" beforeDir="false" afterPath="$USER_HOME$/Projects/newsMap/news_map/news_sources/wiki_newspaper_scraper.py" afterDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
@@ -15,76 +21,151 @@
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="DjangoConsoleOptions" custom-start-script="import sys; print('Python %s on %s' % (sys.version, sys.platform))&#10;import django; print('Django %s' % django.get_version())&#10;sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS])&#10;if 'setup' in dir(django): django.setup()&#10;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))&#10;import django; print('Django %s' % django.get_version())&#10;sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS])&#10;if 'setup' in dir(django): django.setup()&#10;import django_manage_shell; django_manage_shell.run(PROJECT_ROOT)" />
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/api/recorder_api.py">
<entry file="file://$PROJECT_DIR$/../../media-abstraction-layer/backend/api.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="309">
<caret line="24" column="75" selection-start-line="24" selection-start-column="75" selection-end-line="24" selection-end-column="75" />
<folding>
<element signature="e#267#310#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/models/room_model.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="375">
<caret line="33" column="8" selection-start-line="33" selection-start-column="8" selection-end-line="33" selection-end-column="8" />
<state relative-caret-position="1275">
<caret line="97" column="47" selection-start-line="97" selection-start-column="47" selection-end-line="97" selection-end-column="47" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/models/recorder_model.py">
<entry file="file://$PROJECT_DIR$/recorder_adapters/extron_smp.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="313">
<caret line="51" column="26" selection-start-line="51" selection-start-column="4" selection-end-line="51" selection-end-column="26" />
<state relative-caret-position="385">
<caret line="383" column="20" selection-start-line="383" selection-start-column="20" selection-end-line="383" selection-end-column="20" />
<folding>
<element signature="e#60#71#0" expanded="true" />
<element signature="e#0#14#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/__init__.py">
<entry file="file://$PROJECT_DIR$/recorder_adapters/extron_smp_testing.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="135">
<caret line="15" selection-start-line="15" selection-end-line="15" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/api/room_api.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="43">
<caret line="70" column="78" selection-start-line="70" selection-start-column="78" selection-end-line="70" selection-end-column="78" />
<state>
<folding>
<element signature="e#267#310#0" expanded="true" />
<element signature="e#0#14#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/__main__.py">
<entry file="file://$PROJECT_DIR$/recorder_adapters/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="426">
<caret line="75" column="17" lean-forward="true" selection-start-line="75" selection-start-column="17" selection-end-line="75" selection-end-column="17" />
<folding>
<element signature="e#0#16#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/../../media-abstraction-layer/backend/models.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300">
<caret line="27" column="28" selection-start-line="27" selection-start-column="28" selection-end-line="27" selection-end-column="28" />
<folding>
<element signature="e#0#9#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/../../media-abstraction-layer/backend/media_backends/divaapiclient.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252">
<caret line="322" selection-start-line="322" selection-end-line="322" />
<folding>
<element signature="e#23#37#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$USER_HOME$/Projects/newsMap/news_map/news_item_store/newsItemStore.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/../../media-abstraction-layer/backend/media_backends/diva_testing.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="7320">
<caret line="492" column="26" selection-start-line="492" selection-start-column="26" selection-end-line="492" selection-end-column="26" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$USER_HOME$/Projects/newsMap/news_map/news_item_store/dictNewsItemStore.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$USER_HOME$/Projects/newsMap/news_map/news_analyzer/basicWordcountNewsAnalyzer.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
</file>
</leaf>
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Python Script" />
</list>
</option>
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>port</find>
<find>metadata</find>
<find>UploadFiles(</find>
<find>api</find>
<find>get_api</find>
<find>alternate_user</find>
<find>DIVA_INGEST_SESSIONS</find>
<find>chunked_upload</find>
<find>diva_create_asset</find>
<find>getin</find>
<find>ingesti</find>
<find>api_v1</find>
<find>newsItems</find>
<find>expect</find>
<find>app</find>
<find>logger</find>
<find>dumps</find>
<find>create_user</find>
<find>move_media_from_user_to_user</find>
<find>DIVA_INGEST_USER_BASE_NAME</find>
<find>index</find>
<find>get_ingest_user_name_pw</find>
<find>other_roles</find>
<find>other_ro</find>
<find>_build</find>
<find>genre</find>
<find>roles</find>
<find>author</find>
<find>nested</find>
<find>_build_asset_dict</find>
<find>esc</find>
</findStrings>
<replaceStrings>
<replace />
</replaceStrings>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/.." />
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
@@ -92,42 +173,62 @@
<option value="$PROJECT_DIR$/api/room_api.py" />
<option value="$PROJECT_DIR$/api/recorder_api.py" />
<option value="$PROJECT_DIR$/models/recorder_model.py" />
<option value="$PROJECT_DIR$/../../oc_media_portal/frontend/src/components/Uploader.vue" />
<option value="$PROJECT_DIR$/models/room_model.py" />
<option value="$PROJECT_DIR$/../../oc_media_portal/backend/__init__.py" />
<option value="$PROJECT_DIR$/../../oc_media_portal/backend/spectrogram.py" />
<option value="$PROJECT_DIR$/../../oc_media_portal/backend/main.py" />
<option value="$PROJECT_DIR$/../../OpenCastPythonClient/ocpy/api/ingest.py" />
<option value="$PROJECT_DIR$/../../OpenCastPythonClient/ocpy/api/service.py" />
<option value="$PROJECT_DIR$/../../media-abstraction-layer/backend/tools/upload.py" />
<option value="$PROJECT_DIR$/../../media-abstraction-layer/backend/tools/media_files.py" />
<option value="$PROJECT_DIR$/../../media-abstraction-layer/backend/models.py" />
<option value="$USER_HOME$/Projects/newsMap/news_map/newsMap.py" />
<option value="$USER_HOME$/Projects/newsMap/news_map/gatherer/newsGatherer.py" />
<option value="$PROJECT_DIR$/../../media-abstraction-layer/backend/__init__.py" />
<option value="$PROJECT_DIR$/../../media-abstraction-layer/backend/api.py" />
<option value="$PROJECT_DIR$/../../media-abstraction-layer/backend/media_backends/diva_testing.py" />
<option value="$PROJECT_DIR$/../../media-abstraction-layer/backend/media_backends/divaapiclient.py" />
<option value="$PROJECT_DIR$/recorder_adapters/__init__.py" />
<option value="$PROJECT_DIR$/recorder_adapters/extron_smp.py" />
</list>
</option>
</component>
<component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="3840" />
<option name="y" value="146" />
<option name="width" value="1200" />
<option name="height" value="1894" />
<component name="ProjectFrameBounds" fullScreen="true">
<option name="x" value="1680" />
<option name="y" value="-49" />
<option name="width" value="1920" />
<option name="height" value="1200" />
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectView">
<navigator proportions="" version="1">
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<expand>
<path>
<item name="backend" type="b2602c69:ProjectViewProjectNode" />
<item name="lrc" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="backend" type="b2602c69:ProjectViewProjectNode" />
<item name="lrc" type="462c0819:PsiDirectoryNode" />
<item name="backend" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="backend" type="b2602c69:ProjectViewProjectNode" />
<item name="lrc" type="462c0819:PsiDirectoryNode" />
<item name="backend" type="462c0819:PsiDirectoryNode" />
<item name="api" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="backend" type="b2602c69:ProjectViewProjectNode" />
<item name="backend" type="462c0819:PsiDirectoryNode" />
<item name="models" type="462c0819:PsiDirectoryNode" />
<item name="recorder_adapters" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
@@ -150,7 +251,112 @@
</list>
</option>
</component>
<component name="RunManager">
<component name="RunManager" selected="Python.extron_smp">
<configuration name="api" type="PythonConfigurationType" factoryName="Python" temporary="true">
<module name="ocmp" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="$USER_HOME$/.local/share/virtualenvs/backend-Yxms035N/bin/python" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/../../media-abstraction-layer/backend" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/../../media-abstraction-layer/backend/api.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="dictNewsItemStore" type="PythonConfigurationType" factoryName="Python" temporary="true">
<module name="newsMap" />
<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="$USER_HOME$/Projects/newsMap/news_map/news_item_store" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$USER_HOME$/Projects/newsMap/news_map/news_item_store/dictNewsItemStore.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="dummyNewsGatherer" type="PythonConfigurationType" factoryName="Python" temporary="true">
<module name="newsMap" />
<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="$USER_HOME$/Projects/newsMap/news_map/gatherer" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$USER_HOME$/Projects/newsMap/news_map/gatherer/dummyNewsGatherer.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="extron_smp" type="PythonConfigurationType" factoryName="Python" temporary="true">
<module name="backend" />
<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$/recorder_adapters" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/recorder_adapters/extron_smp.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="ingest" type="PythonConfigurationType" factoryName="Python" temporary="true">
<module name="OpenCastPythonClient" />
<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$/../../OpenCastPythonClient/ocpy/api" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/../../OpenCastPythonClient/ocpy/api/ingest.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="backend" type="Python.FlaskServer">
<module name="backend" />
<option name="target" value="$PROJECT_DIR$/__init__.py" />
@@ -166,6 +372,22 @@
<option name="launchJavascriptDebuger" value="false" />
<method v="2" />
</configuration>
<list>
<item itemvalue="Python.api" />
<item itemvalue="Python.ingest" />
<item itemvalue="Python.dummyNewsGatherer" />
<item itemvalue="Python.dictNewsItemStore" />
<item itemvalue="Python.extron_smp" />
</list>
<recent_temporary>
<list>
<item itemvalue="Python.extron_smp" />
<item itemvalue="Python.dictNewsItemStore" />
<item itemvalue="Python.dummyNewsGatherer" />
<item itemvalue="Python.api" />
<item itemvalue="Python.ingest" />
</list>
</recent_temporary>
</component>
<component name="SvnConfiguration">
<configuration />
@@ -178,22 +400,24 @@
<option name="presentableId" value="Default" />
<updated>1556266469460</updated>
<workItem from="1556266473180" duration="14572000" />
<workItem from="1557483399929" duration="284000" />
<workItem from="1557483805341" duration="173000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="15694000" />
<option name="totallyTimeSpent" value="40587000" />
</component>
<component name="ToolWindowManager">
<frame x="0" y="0" width="1680" height="1050" extended-state="0" />
<frame x="1680" y="-49" width="1920" height="1200" extended-state="0" />
<editor active="true" />
<layout>
<window_info content_ui="combo" id="Project" order="0" weight="0.25" />
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.22064245" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info id="Favorites" order="2" side_tool="true" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Find" order="1" />
<window_info anchor="bottom" id="Run" order="2" />
<window_info active="true" anchor="bottom" id="Run" order="2" visible="true" weight="0.32920355" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
@@ -201,9 +425,9 @@
<window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
<window_info anchor="bottom" id="Version Control" order="8" />
<window_info anchor="bottom" id="Database Changes" order="9" />
<window_info anchor="bottom" id="Terminal" order="10" />
<window_info anchor="bottom" id="Terminal" order="10" weight="0.28584072" />
<window_info anchor="bottom" id="Python Console" order="11" />
<window_info anchor="bottom" id="Event Log" order="12" side_tool="true" />
<window_info anchor="bottom" id="Event Log" order="12" side_tool="true" weight="0.32959184" />
<window_info anchor="right" id="Commander" order="0" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
@@ -215,27 +439,122 @@
<option name="version" value="1" />
</component>
<component name="com.intellij.coverage.CoverageDataManagerImpl">
<SUITE FILE_PATH="coverage/backend$main.coverage" NAME="main Coverage Results" MODIFIED="1557306314589" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/../../oc_media_portal/backend" />
<SUITE FILE_PATH="coverage/backend$backend.coverage" NAME="backend Coverage Results" MODIFIED="1556810339611" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="" />
</component>
<component name="editorHistoryManager">
<entry file="file://$USER_HOME$/.virtualenvs/wassS_backend-Ko2xORm-/lib/python3.7/site-packages/flask_restplus/fields.py" />
<entry file="file://$PROJECT_DIR$/models/room_model.py">
<entry file="file://$USER_HOME$/.virtualenvs/backend-ogkP9-fi/lib/python3.7/site-packages/ffmpeg/_ffmpeg.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="375">
<caret line="33" column="8" selection-start-line="33" selection-start-column="8" selection-end-line="33" selection-end-column="8" />
<state relative-caret-position="45">
<caret line="15" column="4" selection-start-line="15" selection-start-column="4" selection-end-line="15" selection-end-column="9" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/api/room_api.py">
<entry file="file:///usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/wave.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="43">
<caret line="70" column="78" selection-start-line="70" selection-start-column="78" selection-end-line="70" selection-end-column="78" />
<state relative-caret-position="465">
<caret line="31" column="21" selection-start-line="31" selection-start-column="21" selection-end-line="31" selection-end-column="21" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.virtualenvs/backend-ogkP9-fi/lib/python3.7/site-packages/matplotlib/pyplot.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="540">
<caret line="686" column="4" selection-start-line="686" selection-start-column="4" selection-end-line="686" selection-end-column="4" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.virtualenvs/backend-ogkP9-fi/lib/python3.7/site-packages/matplotlib/figure.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="318">
<caret line="1820" column="8" selection-start-line="1820" selection-start-column="8" selection-end-line="1820" selection-end-column="11" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../../oc_media_portal/frontend/src/router.js" />
<entry file="file://$PROJECT_DIR$/../../oc_media_portal/frontend/public/index.html" />
<entry file="file://$PROJECT_DIR$/../../oc_media_portal/frontend/src/views/Home.vue" />
<entry file="file://$PROJECT_DIR$/../../oc_media_portal/backend/main.py" />
<entry file="file://$PROJECT_DIR$/../../oc_media_portal/backend/__init__.py" />
<entry file="file://$PROJECT_DIR$/../../oc_media_portal/backend/spectrogram.py" />
<entry file="file://$PROJECT_DIR$/../../oc_media_portal/frontend/src/components/Uploader.vue" />
<entry file="file://$PROJECT_DIR$/../../OpenCastPythonClient/ocpy/api/ingest.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="903">
<caret line="167" column="14" selection-start-line="167" selection-start-column="14" selection-end-line="167" selection-end-column="14" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../../OpenCastPythonClient/ocpy/api/info.py">
<provider selected="true" editor-type-id="text-editor">
<state>
<folding>
<element signature="e#267#310#0" expanded="true" />
<element signature="e#0#15#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../../OpenCastPythonClient/ocpy/api/service.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="3255">
<caret line="228" column="50" selection-start-line="228" selection-start-column="50" selection-end-line="228" selection-end-column="50" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.virtualenvs/backend-ogkP9-fi/lib/python3.7/site-packages/flask/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300">
<caret line="44" selection-start-line="44" selection-end-line="44" selection-end-column="7" />
</state>
</provider>
</entry>
<entry file="file:///usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="210">
<caret line="298" column="4" selection-start-line="298" selection-start-column="4" selection-end-line="298" selection-end-column="9" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../../media-abstraction-layer/backend/uploads/test.txt">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$USER_HOME$/.local/share/virtualenvs/OpenCastPythonClient-4-tsbEhp/lib/python3.7/site-packages/werkzeug/wrappers.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="7740">
<caret line="543" column="17" selection-start-line="543" selection-start-column="17" selection-end-line="543" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../../media-abstraction-layer/backend/tools/upload.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="420">
<caret line="30" column="13" selection-start-line="30" selection-start-column="13" selection-end-line="30" selection-end-column="13" />
<folding>
<element signature="e#0#9#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../../media-abstraction-layer/backend/tools/media_files.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="45">
<caret line="14" column="87" selection-start-line="14" selection-start-column="87" selection-end-line="14" selection-end-column="87" />
<folding>
<element signature="e#0#9#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/manage.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="373">
<caret line="32" column="71" lean-forward="true" selection-start-line="32" selection-start-column="71" selection-end-line="32" selection-end-column="71" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/serve_frontend.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="135">
@@ -243,22 +562,192 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/api/recorder_api.py">
<entry file="file://$PROJECT_DIR$/api/group_api.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="309">
<caret line="24" column="75" selection-start-line="24" selection-start-column="75" selection-end-line="24" selection-end-column="75" />
<state relative-caret-position="186">
<caret line="29" column="40" selection-start-line="29" selection-start-column="40" selection-end-line="29" selection-end-column="40" />
<folding>
<element signature="e#267#310#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/models/recorder_model.py">
<entry file="file://$PROJECT_DIR$/api/recorder_api.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="313">
<caret line="51" column="26" selection-start-line="51" selection-start-column="4" selection-end-line="51" selection-end-column="26" />
<state relative-caret-position="1815">
<caret line="127" selection-start-line="127" selection-end-line="127" />
<folding>
<element signature="e#60#71#0" expanded="true" />
<element signature="e#267#310#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../../media-abstraction-layer/backend/main.py" />
<entry file="file://$PROJECT_DIR$/api/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="525">
<caret line="36" selection-start-line="36" selection-end-line="36" />
<folding>
<element signature="e#25#59#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../../media-abstraction-layer/backend/media_backends/__init__.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/../../OpenCastPythonClient/ocpy/main.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="7" column="64" selection-start-line="7" selection-start-column="55" selection-end-line="7" selection-end-column="64" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/Projects/newsMap/news_map/__init__.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$USER_HOME$/Projects/newsMap/news_map/test.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$USER_HOME$/Projects/newsMap/news_map/gatherer/faz_website.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="225">
<caret line="15" column="21" lean-forward="true" selection-start-line="15" selection-start-column="21" selection-end-line="15" selection-end-column="21" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/Projects/newsMap/news_map/newsMap.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="435">
<caret line="29" column="29" selection-start-line="29" selection-start-column="29" selection-end-line="29" selection-end-column="29" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/Projects/newsMap/news_map/gatherer/basicNewsGatherer.py">
<provider selected="true" editor-type-id="text-editor">
<state>
<folding>
<element signature="e#77#121#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/Projects/newsMap/news_map/gatherer/__init__.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$USER_HOME$/Projects/newsMap/news_map/gatherer/dummyNewsGatherer.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="216">
<caret line="40" column="37" selection-start-line="40" selection-start-column="37" selection-end-line="40" selection-end-column="37" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/Projects/newsMap/news_map/gatherer/newsGatherer.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="540">
<caret line="42" column="8" selection-start-line="42" selection-start-column="8" selection-end-line="42" selection-end-column="8" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/Projects/newsMap/news_map/gatherer/rssNewsGatherer.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="268">
<caret line="44" column="38" selection-start-line="44" selection-start-column="38" selection-end-line="44" selection-end-column="38" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/Projects/newsMap/news_map/news_item_store/mongoNewsItemStore.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="210">
<caret line="41" column="8" selection-start-line="41" selection-start-column="8" selection-end-line="41" selection-end-column="8" />
</state>
</provider>
</entry>
<entry file="file:///usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/telnetlib.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-105">
<caret selection-end-line="32" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../../media-abstraction-layer/backend/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="240">
<caret line="24" column="2" selection-start-line="24" selection-start-column="2" selection-end-line="24" selection-end-column="2" />
<folding>
<element signature="e#0#9#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../../media-abstraction-layer/backend/api.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1275">
<caret line="97" column="47" selection-start-line="97" selection-start-column="47" selection-end-line="97" selection-end-column="47" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../../media-abstraction-layer/backend/models.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300">
<caret line="27" column="28" selection-start-line="27" selection-start-column="28" selection-end-line="27" selection-end-column="28" />
<folding>
<element signature="e#0#9#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/Projects/newsMap/news_map/news_item_store/newsItemStore.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/../../media-abstraction-layer/backend/media_backends/diva_testing.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="7320">
<caret line="492" column="26" selection-start-line="492" selection-start-column="26" selection-end-line="492" selection-end-column="26" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/Projects/newsMap/news_map/news_item_store/dictNewsItemStore.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$USER_HOME$/Projects/newsMap/news_map/news_analyzer/basicWordcountNewsAnalyzer.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/../../media-abstraction-layer/backend/media_backends/divaapiclient.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252">
<caret line="322" selection-start-line="322" selection-end-line="322" />
<folding>
<element signature="e#23#37#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/recorder_adapters/extron_smp_testing.py">
<provider selected="true" editor-type-id="text-editor">
<state>
<folding>
<element signature="e#0#14#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/recorder_adapters/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="426">
<caret line="75" column="17" lean-forward="true" selection-start-line="75" selection-start-column="17" selection-end-line="75" selection-end-column="17" />
<folding>
<element signature="e#0#16#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/recorder_adapters/extron_smp.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="385">
<caret line="383" column="20" selection-start-line="383" selection-start-column="20" selection-end-line="383" selection-end-column="20" />
<folding>
<element signature="e#0#14#0" expanded="true" />
</folding>
</state>
</provider>

View File

@@ -21,7 +21,7 @@ flask-pyoidc = "*"
python-jose = "*"
flask-jwt-extended = "*"
ssh2-python = "*"
telnetlib = "*"
update = "*"
[dev-packages]

89
Pipfile.lock generated
View File

@@ -1,7 +1,7 @@
{
"_meta": {
"hash": {
"sha256": "3c4317b4cad2510995180e361c84a57ba0b8e31f86ab2d8a78dccbd3223bc814"
"sha256": "0b4fd0972054dfeecdd89492b1128706d5c26dc7dcdf85f35b9261ccc8b02c7a"
},
"pipfile-spec": 6,
"requires": {
@@ -25,9 +25,9 @@
},
"alembic": {
"hashes": [
"sha256:828dcaa922155a2b7166c4f36ec45268944e4055c86499bd14319b4c8c0094b7"
"sha256:cdb7d98bd5cbf65acd38d70b1c05573c432e6473a82f955cdea541b5c153b0cc"
],
"version": "==1.0.10"
"version": "==1.0.11"
},
"aniso8601": {
"hashes": [
@@ -38,10 +38,10 @@
},
"apispec": {
"hashes": [
"sha256:0bdfa1c56c0f3ff0ae7ca305c4140e633f467a9c371929018bf2cd85f45ae73f",
"sha256:71271878a79f636e14056f854bfc35d2d8599eae8d48f1f5123d030b157dfb54"
"sha256:427293594699c77753b8fdc6d78d8dfe267c394df5186c236d57f6ef1af95027",
"sha256:edad7a67fae5576fd3e97888b05d228573bf75b2dc0d2714d7cea0480662ac19"
],
"version": "==2.0.0"
"version": "==2.0.1"
},
"asn1crypto": {
"hashes": [
@@ -207,10 +207,10 @@
},
"flask-jwt-extended": {
"hashes": [
"sha256:69d683b51cc85f3a0beb187787e8456a1cfe60e3f8d9da00dc0d7c34e38b698a"
"sha256:583a6e363ea51434c4189e35d3832a23949cfa5203d60a8287b6be137a75528d"
],
"index": "pypi",
"version": "==3.18.2"
"version": "==3.19.0"
},
"flask-login": {
"hashes": [
@@ -313,9 +313,9 @@
},
"mako": {
"hashes": [
"sha256:0cfa65de3a835e87eeca6ac856b3013aade55f49e32515f65d999f91a2324162"
"sha256:95ee720cc3453063788515d55bd7ce4a2a77b7b209e4ac70ec5c86091eb02541"
],
"version": "==1.0.12"
"version": "==1.0.13"
},
"markupsafe": {
"hashes": [
@@ -426,9 +426,9 @@
},
"pyjwkest": {
"hashes": [
"sha256:128e3c81d02993ac4cd7e29ef7aac767d91daa59380e6883ae589092945e4aad"
"sha256:5560fd5ba08655f29ff6ad1df1e15dc05abc9d976fcbcec8d2b5167f49b70222"
],
"version": "==1.4.0"
"version": "==1.4.2"
},
"pyjwt": {
"hashes": [
@@ -526,38 +526,36 @@
},
"ssh2-python": {
"hashes": [
"sha256:286ae90146e1a500891976bfa2bd174df82a99b345583fa26052f2ae3271756a",
"sha256:37217762a4b71b5a46cc45f06bf5c460a7547262020bf1c147ced30ab0e11e5c",
"sha256:4bd1e6889a99472ef05459a502f041bfe53453372a235cacccffce74df553b4e",
"sha256:4c15ee53d0af149634f2d793a5b44293f3f6fe70722cc33a53ddacf5327cabdb",
"sha256:4e8c82493fc7583cda2714a23aca018562916cc45dd3c6e0ffc5f723f21384e7",
"sha256:59e6d1a589b69aef5efe03fe692b5600b84aa1f604a451b95c2fefb4ec1821c6",
"sha256:5b9fe88eceb4a1ace4c55079142b1e9f0dbad86c3c235986af96b809a8f9845f",
"sha256:5ec53c69e2b3eb6fbc01c58af4097f76e42f3637effd5daf3caea374d723d2d1",
"sha256:5ed50af9e73aa599fde4bb2357b9911275f02a58214fa3b560529e0b7ff46033",
"sha256:6167353e631a2f829931046b6267af08593d7ecc19e3dc7724236a5e4042679e",
"sha256:62934a0c01feb42fa67fdac1b4cebeaeee09c9b509778d4d0edc4f0bcc6980a4",
"sha256:634a198fb50c4bfb1a9acda34149008661171cc96a7bf01faf692f15f848a90b",
"sha256:677e7ad1f1792e2cd06f5baf9c850e353fcc514d54195fb402e127062ea6eca2",
"sha256:68381cac1c01d3bd4164f563516da0228f54be7e57a95de99ce3bb2bb607da4d",
"sha256:6a2d0bfe1b0990568a6ff2f3d057a4e627749b8a54f47af175dbdcb450bb3761",
"sha256:7266dc0a19fc8269e2b3930127a59bbdb68d39ff81559c4d7c36fea902fd81a3",
"sha256:7b2d8cf5cf91fb97744e5d660f276de833aff4253178ffd65d5a9590d4e9ff04",
"sha256:8ca222576de2d311122479bf1a91ce9d8fa22742564da7da23b2951fde425bc1",
"sha256:90af6e0713a582173d7b3fd621c9bd59bb8d155bca12426401a98cab4fab01a2",
"sha256:a7dd3760692e00c882397c940956358f45238c264d14e317aea95c638b6d01c0",
"sha256:ae916e3822701e6ca78d1857507abe3d1fba1a2658628ed91ad90564eda33078",
"sha256:aec216637ca9a3e452ae6e43d9bac20702b2b9c4464823c5fbd92b5aca67f9ce",
"sha256:c2afd7824e094b90283d6bac0e5f2360de4860fe6feae6755f3ed8653eeb10be",
"sha256:c724fb88d1ffb5a639949c7f16638d6914492843a4a8a66da38b6d32223bcf46",
"sha256:ca6faa65b28e1d3349a5770390a2ea523915864f0b6590141564184153453210",
"sha256:d8375952a103b7e47e5684f05a7656a27055fa9278b18587d9628823f0c9604c",
"sha256:dec556e968109d7f7c7279516f96333e95ef9824e4bfa93fa00b2f3673b2615d",
"sha256:eb88b6c6615d4369e7f701a1db8268275ecd915fa7ee7c8e02c4684a1f948eec",
"sha256:f2f46855073419bfbea53ba837f15dfe9c875e175987f09dd1fec99ae7eab47e"
"sha256:054f2cab611ddca34095eb78d1ae1f6e29521678c82f0de17f696072a0b924fe",
"sha256:097d74684172f163d5025aef316987c1c7acf852d9fb75e4735720c8690adf87",
"sha256:0f4555b79e19ca6fdd84a74e85152d375a921d167ed9dc680d05f1f9f5dfc463",
"sha256:0fb3d9eca454b2874748c69e7e836ea5c6544f1b7acd87d8a876f99f618c806c",
"sha256:180c2728796f777a5856b23e5e1656a15a3e8602b4270348f892599ae5426f45",
"sha256:49aaa9d48cf52798d89f466a5e774e9dab8b76dc380b90645fd8d5c6622df177",
"sha256:4b5ba1390ff5e8faa6b2409df750e4650de3934c3b76ad707d7b54b477600226",
"sha256:57a4452dfc5c7f414de14e32f29e21f680fb8d7bdf94306e5f6bc8c2a235fa7a",
"sha256:584f753f0401217a55e70d2ae97a7e5220f4d37993a1bba275c4c5e110d87193",
"sha256:692cf27ddc5583da9b07b0f0348f0577579f8d798a0b8e4bf495b8d7f19fc854",
"sha256:6dc75bacc37de63aa9c86f9982642982c3a8103297fbbb73543a76e3db9abc6a",
"sha256:7a029275e62a1e31333ee7f2f151f661dedfac0345f1108e1a8d0b62e08ddf9b",
"sha256:7a3d761c669392e778c24a0eabcf6f1ba48ad68bb3b82a2d98235f56500bc8b0",
"sha256:8632684aae2f523e603381cf51a1da134fd5937cf0ae9650b1b9e7b4f328c133",
"sha256:8acab66dd73554d2c68abaccf96cdddfc10449ad6c7c273ac4b7a91779d414b2",
"sha256:9410b63c2361b2b65a55b5e8dc8187270de0f81e11864a427ad52b82b926bcc9",
"sha256:abe29ad01ed2ac4465e61c8de42b6850fca9c87d8792686a2de7c7d06c6eb72d",
"sha256:de151500a2a027a29bca3d7196c76008b41bb97db29378f29c4651ba1bcb00e8",
"sha256:debc56711643b82ab60a9c8b8cbf2978b65c0293aa7e53557a3c0d1fc57799cf",
"sha256:f508144d684b3c3c0f264ce67058f05ae3729ae77cc3a8f2051b442e01594849"
],
"index": "pypi",
"version": "==0.17.0"
"version": "==0.18.0.post1"
},
"style": {
"hashes": [
"sha256:6485a4bcb84629341a5fd1587fe3ac4887daa4741f0c8a1d01b9c3c8a263afe7",
"sha256:8eb365fc15039b19b728bd4e6e85fb7daf24e7aeeec6a15a666f97484c564005"
],
"version": "==1.1.0"
},
"tempita": {
"hashes": [
@@ -565,6 +563,13 @@
],
"version": "==0.5.2"
},
"update": {
"hashes": [
"sha256:a25522b4bf60e3e3c1a3ff3ca3a4f5a328ac4b8ff400fdc9614483147e313323"
],
"index": "pypi",
"version": "==0.0.1"
},
"urllib3": {
"hashes": [
"sha256:b246607a25ac80bedac05c6f282e3cdaf3afb65420fd024ac94435cabe6e18d1",

View File

@@ -57,7 +57,7 @@ telnetlib.Telnet.assert_string_in_output = assert_string_in_output
class TelnetAdapter(ABC):
def __init__(self, address, esc_char = "W"):
def __init__(self, address, esc_char="W"):
self.address = address
self.tn = None
self.esc_char = esc_char

View File

@@ -9,7 +9,7 @@ from backend.recorder_adapters import telnetlib, TelnetAdapter
HOST = "172.22.246.207" # Test SMP MZ
USER = "admin"
PW = "123mzsmpx"
PW = "123mzsmp"
class SMP(TelnetAdapter):
@@ -249,7 +249,7 @@ class SMP(TelnetAdapter):
File related stuff not implemented. (-> use sftp)
"""
def set_input(self, input_num:int, channel_num:int):
def set_input(self, input_num: int, channel_num: int):
"""
Switches input # (1 to 5) to output channel (1=A [input 1 and 2], 2=B [input 3, 4 and 5])
:param input_num:
@@ -258,10 +258,130 @@ class SMP(TelnetAdapter):
"""
if input_num not in range(1,6):
raise Exception("input_num must be a value between 1 and 5!")
if channel_num not in range(1,3):
raise Exception("input_num must be a value between 1 and 2!")
self.tn.write("{}*{}!\n".format(input_num, channel_num))
return TelnetAdapter.get_response_str(self.tn.read_until_non_empty_line())
def get_input(self, channel_num: int):
if channel_num not in range(1,2):
raise Exception("input_num must be a value between 1 and 2!")
self.tn.write("{}!\n".format(channel_num))
return TelnetAdapter.get_response_str(self.tn.read_until_non_empty_line())
def set_input_format(self, input_num: int, input_format: int):
"""
Sets the input to the format, where the input_format parameter may be:
1 = YUVp / HDTV (default)
2 = YUVi
3 = Composite
:param input_num:
:param input_format:
:return:
"""
if input_num not in range(1,6):
raise Exception("input_num must be a value between 1 and 5!")
if input_format not in range(1,4):
raise Exception("input_num must be a value between 1 and 3!")
self.tn.write("{}*{}\\\n".format(input_num, input_format))
return TelnetAdapter.get_response_str(self.tn.read_until_non_empty_line())
def get_input_format(self, input_num: int):
if input_num not in range(1,6):
raise Exception("input_num must be a value between 1 and 5!")
self.tn.write("{}\\\n".format(input_num))
return TelnetAdapter.get_response_str(self.tn.read_until_non_empty_line())
def set_input_name(self, input_num: int, input_name: str):
if input_num not in range(1,6):
raise Exception("input_num must be a value between 1 and 5!")
if len(input_name) > 16:
raise Exception("input_name must be not longer than 16 chars")
try:
input_name.encode('ascii')
except UnicodeDecodeError:
raise Exception("input_name must only contain ascii characters")
self.tn.write("{}{},{}NI\n".format(self.esc_char, input_num, input_name))
return TelnetAdapter.get_response_str(self.tn.read_until_non_empty_line())
def get_input_name(self, input_num: int):
if input_num not in range(1,6):
raise Exception("input_num must be a value between 1 and 5!")
self.tn.write("{}{}NI\n".format(self.esc_char, input_num))
return TelnetAdapter.get_response_str(self.tn.read_until_non_empty_line())
def get_input_selction_per_channel(self):
self.tn.write("32I\n")
return TelnetAdapter.get_response_str(self.tn.read_until_non_empty_line())
"""
Input configuration part skipped
"""
def stop_recording(self):
self.tn.write("{}Y0RCDR\n".format(self.esc_char))
return TelnetAdapter.get_response_str(self.tn.read_until_non_empty_line())
def start_recording(self):
self.tn.write("{}Y1RCDR\n".format(self.esc_char))
return TelnetAdapter.get_response_str(self.tn.read_until_non_empty_line())
def pause_recording(self):
self.tn.write("{}Y2RCDR\n".format(self.esc_char))
return TelnetAdapter.get_response_str(self.tn.read_until_non_empty_line())
def get_recording_status(self):
"""
Status may be one of:
0=stop
1=record
2=pause
:return: status
"""
self.tn.write("{}YRCDR\n".format(self.esc_char))
return TelnetAdapter.get_response_str(self.tn.read_until_non_empty_line())
def extent_recording_time(self, extension_time: int):
"""
Extends a scheduled recording by extension_time minutes
:param extension_time: must be an int from 0 to 99
:return:
"""
if extension_time not in range(0,100):
raise Exception("extension_time must be a value between 0 and 99!")
self.tn.write("{}E{}RCDR\n".format(self.esc_char, extension_time))
return TelnetAdapter.get_response_str(self.tn.read_until_non_empty_line())
def add_chapter_marker(self):
self.tn.write("{}BRCDR\n".format(self.esc_char))
return TelnetAdapter.get_response_str(self.tn.read_until_non_empty_line())
def swap_channel_positions(self):
self.tn.write("%\n")
return TelnetAdapter.get_response_str(self.tn.read_until_non_empty_line())
def get_recording_status_text(self):
self.tn.write("I\n")
return TelnetAdapter.get_response_str(self.tn.read_until_non_empty_line())
def get_elapsed_recording_time(self):
self.tn.write("35I\n")
return TelnetAdapter.get_response_str(self.tn.read_until_non_empty_line())
def get_remaining_recording_time(self):
self.tn.write("36I\n")
return TelnetAdapter.get_response_str(self.tn.read_until_non_empty_line())
def get_recording_destination(self):
self.tn.write("37I\n")
return TelnetAdapter.get_response_str(self.tn.read_until_non_empty_line())
"""
Metadata part skipped
"""
def recall_user_preset(self, channel_number, preset_number):
pass # TODO
smp = SMP(HOST, PW)
@@ -286,3 +406,7 @@ print(smp.get_file_transfer_config())
print(smp.set_front_panel_lock(0))
print(smp.get_front_panel_lock())
print(smp.get_input_name(1))
print(smp.get_input_selction_per_channel())
print(smp.get_recording_status())