Skip to content

Commit

Permalink
#135: Add skeleton outline for new python-icat backend
Browse files Browse the repository at this point in the history
  • Loading branch information
MRichards99 committed Jun 19, 2020
1 parent e4db23b commit c2e09bf
Show file tree
Hide file tree
Showing 5 changed files with 96 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ venv/
*.pyc
logs.log
config.json
.vscode/
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"python.pythonPath": "/root/venvs/datagateway-api-36/bin/python"
}
3 changes: 3 additions & 0 deletions common/backends.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from common.database_backend import DatabaseBackend
from common.python_icat_backend import PythonICATBackend
from common.backend import Backend
from common.config import config
import sys
Expand All @@ -7,6 +8,8 @@

if backend_type == "db":
backend = DatabaseBackend()
elif backend_type == "python_icat":
backend = PythonICATBackend()
else:
sys.exit(
f"Invalid config value '{backend_type}' for config option backend")
Expand Down
89 changes: 89 additions & 0 deletions common/python_icat_backend.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
from common.backend import Backend
from common.helpers import requires_session_id, queries_records
#from common.python_icat_helpers import


class PythonICATBackend(Backend):
"""
Class that contains functions to access and modify data in an ICAT database directly
"""

def login(self, credentials, mnemonic):
pass

@requires_session_id
def get_session_details(self, session_id):
pass

@requires_session_id
def refresh(self, session_id):
pass

@requires_session_id
@queries_records
def logout(self, session_id):
pass

@requires_session_id
@queries_records
def get_with_filters(self, session_id, table, filters):
pass

@requires_session_id
@queries_records
def create(self, session_id, table, data):
pass

@requires_session_id
@queries_records
def update(self, session_id, table, data):
pass

@requires_session_id
@queries_records
def get_one_with_filters(self, session_id, table, filters):
pass

@requires_session_id
@queries_records
def count_with_filters(self, session_id, table, filters):
pass

@requires_session_id
@queries_records
def get_with_id(self, session_id, table, id):
pass

@requires_session_id
@queries_records
def delete_with_id(self, session_id, table, id):
pass

@requires_session_id
@queries_records
def update_with_id(self, session_id, table, id, data):
pass

@requires_session_id
@queries_records
def get_instrument_facilitycycles_with_filters(self, session_id, instrument_id, filters):
pass

@requires_session_id
@queries_records
def count_instrument_facilitycycles_with_filters(self, session_id, instrument_id, filters):
pass
#return get_facility_cycles_for_instrument_count(instrument_id, filters)

@requires_session_id
@queries_records
def get_instrument_facilitycycle_investigations_with_filters(self, session_id, instrument_id, facilitycycle_id, filters):
pass
#return get_investigations_for_instrument_in_facility_cycle(instrument_id, facilitycycle_id, filters)

@requires_session_id
@queries_records
def count_instrument_facilitycycles_investigations_with_filters(self, session_id, instrument_id, facilitycycle_id, filters):
pass
#return get_investigations_for_instrument_in_facility_cycle_count(instrument_id, facilitycycle_id, filters)

Empty file added common/python_icat_helpers.py
Empty file.

0 comments on commit c2e09bf

Please sign in to comment.