You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »


Introduced changes should work in parallel with existing API (unless it proves impossible)

'Old' methods and classes will be marked as deprecated  


1.  DB_ENTRY

1.1. Class structure:

Class keeps information about one, particular  database entry (eg. pulse-file, HDC container, SQL-database, etc etc)

Class structure siagram


  • db_entry class represents data accessible through Access Layer 
  • hdc_entry , sql_entry  are examples of classes that represents IMAS data entry accessible via other mechanisms than AL (if they will be implemented in future)
  • imas_entry a parent class for all ??_entry classes. It will be implemented in future if any other mechanism of accessing data than AL will be used. Could be empty...  

THIS PAGE FOCUSES ON DESIGN OF DB_ENTRY AND IDS CLASSES ONLY!

1.2. Definition (constructor)

DB Entry  is defined by:

  • backend_id - MDSPLUS_BACKEND, MEMORY_BACKEND, ASCII_BACKEND - mandatory -   
  • db name - eg. test   - mandatory 
  • shot - mandatory
  • run - mandatory
  • user name - eg. g2bpalak  -  optional - if None → $USER
  • data version - e.g. 3 - optional - currently not used,  we should keep it as it will point us to a proper dir in imasdb structure, when we develop versions 4,5, etc  - if None → 3
al_entry constructor
def __init__(self, backend_id, db_name, shot, run, user_name = None, data_version = 3)
	if userName is None:
		user = $USER


Additional "URI-based" constructor will be added in future...

1.3. Create/open/close

All parameters that defines db_entry  are set in constructor, so create, open, close will have no arguments

al_entry create/open/close
def create(self, options = None)
def open(self, options = None)
def close(self, options = None)

options - additional options (possibly backend specific)


1.4. Put/Get IDS


IDS GET
def get(self, idsName, occurrence = 0) # idsName (e.g. 'equilibrium')
	return ids


IDS PUT
def put(self, ids, occurrence = 0)

1.5. Any other method is needed to ba added to db_entry class?

getTime vector?




  • No labels