Source code for mxcubecore.HardwareObjects.ALBA.ALBASession

import os
import time

from mxcubecore.HardwareObjects import Session
from mxcubecore.model import queue_model_objects


[docs]class ALBASession(Session.Session):
[docs] def get_base_data_directory(self): """ Returns the base data directory for ALBA In ALBA the base directory already includes the user home directory. So information into account, such as if the current user is inhouse. :returns: The base data path. :rtype: str """ if self.session_start_date: start_time = self.session_start_date.split(" ")[0].replace("-", "") else: start_time = time.strftime("%Y%m%d") # directory = os.path.join(self.base_directory, self.get_proposal(), 'DATA', start_time) if self.base_directory is not None: directory = os.path.join(self.base_directory, start_time) else: directory = "/tmp" return directory
def get_archive_directory(self, directory=None): if directory is None: thedir = self.get_base_data_directory() else: thedir = directory parts = thedir.split(os.path.sep) user_dir = parts[5] session_date = parts[6] # remove RAW_DATA from da try: more = parts[8:] except Exception: more = [] archive_dir = os.path.join( self.base_archive_directory, user_dir, session_date, *more ) # if 'RAW_DATA' in thedir: # thedir = thedir.replace('RAW_DATA','ARCHIVE') # else: # thedir = os.path.join(thedir, 'ARCHIVE') self.log.debug("ALBASession. returning archive directory: %s" % archive_dir) return archive_dir def set_ldap_homedir(self, homedir): self.base_directory = homedir self.base_process_directory = homedir queue_model_objects.PathTemplate.set_data_base_path(self.base_directory)
def test_hwo(hwo): print(hwo.get_base_data_directory()) print(hwo.get_process_directory()) print(hwo.get_archive_directory())