MCPcopy
hub / github.com/spaceandtimefdn/SxT-Python-SDK / SXTResource

Class SXTResource

src/spaceandtime/sxtresource.py:14–732  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12from sxtuser import SXTUser
13
14class SXTResource():
15 # child objects should override: self.__with__, has_with_statement(), self.resource_type
16
17 logger: logging.Logger
18 SXTExceptions = None
19 resource_type:SXTResourceType = SXTResourceType.UNDEFINED
20 PERMISSION = SXTPermission
21 create_ddl:str = ''
22 user: SXTUser = None
23 key_manager: SXTKeyManager = None
24 filepath: Path = ''
25 application_name:str = ''
26 biscuits = []
27 start_time: datetime = None
28 __rcn:str = ''
29 __ddlt__:str = ''
30 __allprops__: list = []
31 __with__:dict
32 __existfunc__ = None
33 default_local_folder:Path = None
34 __foname__:str = 'resources'
35 __lasterr__ = None
36
37
38 def __init__(self, name:str=None, from_file:Path=None, default_user:SXTUser = None,
39 private_key:str = None, new_keypair:bool = False, key_manager:SXTKeyManager = None,
40 application_name:str = None, start_time:datetime = None,
41 default_local_folder:Path = None,
42 logger:logging.Logger = None, SpaceAndTime_parent:object = None) -> None:
43
44 # start with parent
45 if SpaceAndTime_parent:
46 if not application_name: application_name = SpaceAndTime_parent.application_name
47 if not logger: logger = SpaceAndTime_parent.logger
48 if not default_user: default_user = SpaceAndTime_parent.user
49 # if not key_manager: key_manager = SpaceAndTime_parent.key_manager # this gets confused with Default.User, so removing
50 if not default_local_folder: default_local_folder = SpaceAndTime_parent.default_local_folder
51 if not start_time: start_time = SpaceAndTime_parent.start_time
52
53 # set logger if set, otherwise create new
54 if logger:
55 self.logger = logger
56 else:
57 self.logger = logging.getLogger()
58 self.logger.setLevel(logging.INFO)
59 if len(self.logger.handlers) == 0:
60 self.logger.addHandler( logging.StreamHandler() )
61
62 # load parameters from file into variables
63 if not default_local_folder: default_local_folder = '.'
64 self.default_local_folder = Path(Path(default_local_folder) / Path( self.__foname__ ))
65 self.biscuits = []
66 if from_file: self.load(from_file)
67
68 # Continue setting parameters if they exist, or if not, supply new objects /defaults
69 # overriding anything set above
70 if name: self.resource_name = name
71 self.user = default_user if default_user else SXTUser()

Callers 1

test_resource_methodsFunction · 0.90

Calls

no outgoing calls

Tested by 1

test_resource_methodsFunction · 0.72