Skip to content
Snippets Groups Projects
Commit 836bdf0d authored by Stefano Di Frischia's avatar Stefano Di Frischia
Browse files

L2SS-659: improve code

parent 0099ed02
Branches
Tags
1 merge request!273Resolve L2SS-659 "Compute archiving load"
...@@ -7,6 +7,20 @@ ...@@ -7,6 +7,20 @@
from tango import DeviceProxy, CmdArgType from tango import DeviceProxy, CmdArgType
import re import re
"""
A dictionary whose keys are the Tango datatypes mapping, and the values are the relative byte size
See reference https://tango-controls.readthedocs.io/en/latest/development/advanced/reference.html#tango-data-type
and https://www.tutorialspoint.com/cplusplus/cpp_data_types.htm
TODO: manage String attributes
"""
DATATYPES_SIZE_DICT = {CmdArgType.DevBoolean:1, CmdArgType.DevShort:2, CmdArgType.DevLong:8, CmdArgType.DevFloat:4, CmdArgType.DevDouble:8,
CmdArgType.DevUShort:2, CmdArgType.DevULong:8, CmdArgType.DevString:20, CmdArgType.DevVarCharArray:None, CmdArgType.DevVarShortArray:None,
CmdArgType.DevVarLongArray: None,CmdArgType.DevVarFloatArray:None, CmdArgType.DevVarDoubleArray:None, CmdArgType.DevVarUShortArray:None,
CmdArgType.DevVarULongArray: None, CmdArgType.DevVarStringArray: None, CmdArgType.DevVarLongStringArray: None, CmdArgType.DevVarDoubleStringArray:None,
CmdArgType.DevState:3, CmdArgType.ConstDevString:None, CmdArgType.DevVarBooleanArray:None, CmdArgType.DevUChar:1, CmdArgType.DevLong64:8,
CmdArgType.DevULong64:8,CmdArgType.DevVarLong64Array:None,CmdArgType.DevVarULong64Array:None, CmdArgType.DevInt:4,CmdArgType.DevEncoded:None,
CmdArgType.DevEnum:None, CmdArgType.DevPipeBlob:None}
def get_db_config(device_name:str) -> dict: def get_db_config(device_name:str) -> dict:
""" """
Retrieve the DB credentials from the Tango properties of Configuration Manager or EventSubscribers Retrieve the DB credentials from the Tango properties of Configuration Manager or EventSubscribers
...@@ -105,28 +119,11 @@ def retrieve_attributes_from_wildcards(device_name: str, matching_list: list): ...@@ -105,28 +119,11 @@ def retrieve_attributes_from_wildcards(device_name: str, matching_list: list):
matched_list.append(a) matched_list.append(a)
return matched_list return matched_list
def DATATYPES_SIZE_DICT() -> dict:
"""
Return a dictionary whose keys are the Tango datatypes mapping, and the values are the relative byte size
See reference https://tango-controls.readthedocs.io/en/latest/development/advanced/reference.html#tango-data-type
and https://www.tutorialspoint.com/cplusplus/cpp_data_types.htm
TODO: manage String attributes
"""
datatypes_dict = {CmdArgType.DevBoolean:1, CmdArgType.DevShort:2, CmdArgType.DevLong:8, CmdArgType.DevFloat:4, CmdArgType.DevDouble:8,
CmdArgType.DevUShort:2, CmdArgType.DevULong:8, CmdArgType.DevString:20, CmdArgType.DevVarCharArray:None, CmdArgType.DevVarShortArray:None,
CmdArgType.DevVarLongArray: None,CmdArgType.DevVarFloatArray:None, CmdArgType.DevVarDoubleArray:None, CmdArgType.DevVarUShortArray:None,
CmdArgType.DevVarULongArray: None, CmdArgType.DevVarStringArray: None, CmdArgType.DevVarLongStringArray: None, CmdArgType.DevVarDoubleStringArray:None,
CmdArgType.DevState:3, CmdArgType.ConstDevString:None, CmdArgType.DevVarBooleanArray:None, CmdArgType.DevUChar:1, CmdArgType.DevLong64:8,
CmdArgType.DevULong64:8,CmdArgType.DevVarLong64Array:None,CmdArgType.DevVarULong64Array:None, CmdArgType.DevInt:4,CmdArgType.DevEncoded:None,
CmdArgType.DevEnum:None, CmdArgType.DevPipeBlob:None}
return datatypes_dict
def get_size_from_datatype(datatype:int) -> int: def get_size_from_datatype(datatype:int) -> int:
""" """
Return the number of bytes for a given Tango datatype Return the number of bytes for a given Tango datatype
""" """
datatypes_dict = DATATYPES_SIZE_DICT()
try : try :
return datatypes_dict[datatype] return DATATYPES_SIZE_DICT[datatype]
except IndexError: except IndexError:
return 1 return 1
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment