Source code for trescope.core.Content
import os
from typing import List
from trescope.config import Config
from trescope.core.CompleteInfo import CompleteInfo
from trescope.core.Utils import generateRandomString, toListIfNumpyOrTensorArray, get_abs_path
[docs]class Content(object):
"""
Contains all information to plot data , basic data and config of data .
"""
def __init__(self, output, **kwargs):
from trescope.core.Output import Output
self.__host: Output = output
self.__function: str = kwargs['function']
self.__x: List[float] = kwargs['x'] if 'x' in kwargs else None
self.__y: List[float] = kwargs['y'] if 'y' in kwargs else None
self.__z: List[float] = kwargs['z'] if 'z' in kwargs else None
self.__value: List[float] = kwargs['value'] if 'value' in kwargs else None
self.__intensity = kwargs['intensity'] if 'intensity' in kwargs else None
self.__filePath: str = get_abs_path(kwargs['filePath']) if 'filePath' in kwargs else \
(self.__generateFile(kwargs['fileContent']) if 'fileContent' in kwargs else None)
self.__vertex: List = kwargs['vertex'] if 'vertex' in kwargs else None
self.__link: List = kwargs['link'] if 'link' in kwargs else None
self.__edge: List = kwargs['edge'] if 'edge' in kwargs else None
self.__label: List[str] = kwargs['label'] if 'label' in kwargs else None
def __generateFile(self, fileContentString: str) -> str:
filePath = os.path.join(self.getHost().getHost()._hostDirectory(), f'{generateRandomString(5)}.json')
with open(filePath, 'w') as temp:
temp.write(fileContentString)
return filePath
def getHost(self): return self.__host
def toDict(self):
return {
'function': self.__function,
'x': toListIfNumpyOrTensorArray(self.__x),
'y': toListIfNumpyOrTensorArray(self.__y),
'z': toListIfNumpyOrTensorArray(self.__z),
'value': toListIfNumpyOrTensorArray(self.__value),
'intensity': toListIfNumpyOrTensorArray(self.__intensity),
'filePath': self.__filePath,
'vertex': toListIfNumpyOrTensorArray(self.__vertex),
'link': toListIfNumpyOrTensorArray(self.__link),
'edge': toListIfNumpyOrTensorArray(self.__edge),
'label': toListIfNumpyOrTensorArray(self.__label)
}
[docs] def withConfig(self, config: Config) -> None:
"""
Specify config and commit all data to plot .
:param config: config , see :py:mod:`trescope.config`
"""
CompleteInfo(self, config).commit()