stdlib: Addressed requested changes
- Added mulitline string for print message - Added get_category_name method instead of having category as variable Change-Id: I51e0e14a70e802453c21070711b200bc47994ba3
This commit is contained in:
@@ -70,7 +70,6 @@ class AbstractResource:
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
category: Optional[str] = None,
|
||||
id: Optional[str] = None,
|
||||
resource_version: Optional[str] = None,
|
||||
local_path: Optional[str] = None,
|
||||
@@ -94,14 +93,22 @@ class AbstractResource:
|
||||
"exist."
|
||||
)
|
||||
self._id = id
|
||||
self._category = category
|
||||
self._local_path = local_path
|
||||
self._description = description
|
||||
self._source = source
|
||||
self._version = resource_version
|
||||
|
||||
def get_category_name(cls) -> str:
|
||||
raise NotImplementedError
|
||||
|
||||
def __str__(self):
|
||||
return f"{self._category} resource({self._id}, {self._version})\nFor more information, please visit https://resources.gem5.org/resources/{self._id}?version={self._version}"
|
||||
message = (
|
||||
f"{self.get_category_name()}({self._id}, {self._version})\n"
|
||||
"For more information, please visit "
|
||||
f"https://resources.gem5.org/resources/{self._id}?"
|
||||
f"version={self._version}"
|
||||
)
|
||||
return message
|
||||
|
||||
def get_resource_version(self) -> str:
|
||||
"""Returns the version of the resource."""
|
||||
@@ -129,7 +136,6 @@ class FileResource(AbstractResource):
|
||||
self,
|
||||
local_path: str,
|
||||
id: Optional[str] = None,
|
||||
category: Optional[str] = None,
|
||||
resource_version: Optional[str] = None,
|
||||
description: Optional[str] = None,
|
||||
source: Optional[str] = None,
|
||||
@@ -143,12 +149,14 @@ class FileResource(AbstractResource):
|
||||
super().__init__(
|
||||
local_path=local_path,
|
||||
id=id,
|
||||
category=category,
|
||||
description=description,
|
||||
source=source,
|
||||
resource_version=resource_version,
|
||||
)
|
||||
|
||||
def get_category_name(cls) -> str:
|
||||
return "FileResource"
|
||||
|
||||
|
||||
class DirectoryResource(AbstractResource):
|
||||
"""A resource consisting of a directory."""
|
||||
@@ -157,7 +165,6 @@ class DirectoryResource(AbstractResource):
|
||||
self,
|
||||
local_path: str,
|
||||
id: Optional[str] = None,
|
||||
category: Optional[str] = None,
|
||||
resource_version: Optional[str] = None,
|
||||
description: Optional[str] = None,
|
||||
source: Optional[str] = None,
|
||||
@@ -172,12 +179,14 @@ class DirectoryResource(AbstractResource):
|
||||
super().__init__(
|
||||
local_path=local_path,
|
||||
id=id,
|
||||
category=category,
|
||||
description=description,
|
||||
source=source,
|
||||
resource_version=resource_version,
|
||||
)
|
||||
|
||||
def get_category_name(cls) -> str:
|
||||
return "DirectoryResource"
|
||||
|
||||
|
||||
class DiskImageResource(FileResource):
|
||||
"""A Disk Image resource."""
|
||||
@@ -186,7 +195,6 @@ class DiskImageResource(FileResource):
|
||||
self,
|
||||
local_path: str,
|
||||
id: Optional[str] = None,
|
||||
category: Optional[str] = None,
|
||||
resource_version: Optional[str] = None,
|
||||
description: Optional[str] = None,
|
||||
source: Optional[str] = None,
|
||||
@@ -196,7 +204,6 @@ class DiskImageResource(FileResource):
|
||||
super().__init__(
|
||||
local_path=local_path,
|
||||
id=id,
|
||||
category=category,
|
||||
description=description,
|
||||
source=source,
|
||||
resource_version=resource_version,
|
||||
@@ -207,6 +214,9 @@ class DiskImageResource(FileResource):
|
||||
"""Returns, if applicable, the Root Partition of the disk image."""
|
||||
return self._root_partition
|
||||
|
||||
def get_category_name(cls) -> str:
|
||||
return "DiskImageResource"
|
||||
|
||||
|
||||
class BinaryResource(FileResource):
|
||||
"""A binary resource."""
|
||||
@@ -215,7 +225,6 @@ class BinaryResource(FileResource):
|
||||
self,
|
||||
local_path: str,
|
||||
id: Optional[str] = None,
|
||||
category: Optional[str] = None,
|
||||
resource_version: Optional[str] = None,
|
||||
description: Optional[str] = None,
|
||||
source: Optional[str] = None,
|
||||
@@ -225,7 +234,6 @@ class BinaryResource(FileResource):
|
||||
super().__init__(
|
||||
local_path=local_path,
|
||||
id=id,
|
||||
category=category,
|
||||
description=description,
|
||||
source=source,
|
||||
resource_version=resource_version,
|
||||
@@ -238,6 +246,9 @@ class BinaryResource(FileResource):
|
||||
elif isinstance(architecture, ISA):
|
||||
self._architecture = architecture
|
||||
|
||||
def get_category_name(cls) -> str:
|
||||
return "BinaryResource"
|
||||
|
||||
def get_architecture(self) -> Optional[ISA]:
|
||||
"""Returns the ISA this binary is compiled to."""
|
||||
return self._architecture
|
||||
@@ -250,7 +261,6 @@ class BootloaderResource(BinaryResource):
|
||||
self,
|
||||
local_path: str,
|
||||
id: Optional[str] = None,
|
||||
category: Optional[str] = None,
|
||||
resource_version: Optional[str] = None,
|
||||
description: Optional[str] = None,
|
||||
source: Optional[str] = None,
|
||||
@@ -260,13 +270,15 @@ class BootloaderResource(BinaryResource):
|
||||
super().__init__(
|
||||
local_path=local_path,
|
||||
id=id,
|
||||
category=category,
|
||||
description=description,
|
||||
architecture=architecture,
|
||||
source=source,
|
||||
resource_version=resource_version,
|
||||
)
|
||||
|
||||
def get_category_name(cls) -> str:
|
||||
return "BootloaderResource"
|
||||
|
||||
|
||||
class GitResource(DirectoryResource):
|
||||
"""A git resource."""
|
||||
@@ -275,7 +287,6 @@ class GitResource(DirectoryResource):
|
||||
self,
|
||||
local_path: str,
|
||||
id: Optional[str] = None,
|
||||
category: Optional[str] = None,
|
||||
resource_version: Optional[str] = None,
|
||||
description: Optional[str] = None,
|
||||
source: Optional[str] = None,
|
||||
@@ -284,12 +295,14 @@ class GitResource(DirectoryResource):
|
||||
super().__init__(
|
||||
local_path=local_path,
|
||||
id=id,
|
||||
category=category,
|
||||
description=description,
|
||||
source=source,
|
||||
resource_version=resource_version,
|
||||
)
|
||||
|
||||
def get_category_name(cls) -> str:
|
||||
return "GitResource"
|
||||
|
||||
|
||||
class KernelResource(BinaryResource):
|
||||
"""A kernel resource."""
|
||||
@@ -298,7 +311,6 @@ class KernelResource(BinaryResource):
|
||||
self,
|
||||
local_path: str,
|
||||
id: Optional[str] = None,
|
||||
category: Optional[str] = None,
|
||||
resource_version: Optional[str] = None,
|
||||
description: Optional[str] = None,
|
||||
source: Optional[str] = None,
|
||||
@@ -308,13 +320,15 @@ class KernelResource(BinaryResource):
|
||||
super().__init__(
|
||||
local_path=local_path,
|
||||
id=id,
|
||||
category=category,
|
||||
description=description,
|
||||
source=source,
|
||||
architecture=architecture,
|
||||
resource_version=resource_version,
|
||||
)
|
||||
|
||||
def get_category_name(cls) -> str:
|
||||
return "KernelResource"
|
||||
|
||||
|
||||
class CheckpointResource(DirectoryResource):
|
||||
"""A checkpoint resource. The following directory structure is expected:
|
||||
@@ -328,7 +342,6 @@ class CheckpointResource(DirectoryResource):
|
||||
self,
|
||||
local_path: str,
|
||||
id: Optional[str] = None,
|
||||
category: Optional[str] = None,
|
||||
resource_version: Optional[str] = None,
|
||||
description: Optional[str] = None,
|
||||
source: Optional[str] = None,
|
||||
@@ -337,12 +350,14 @@ class CheckpointResource(DirectoryResource):
|
||||
super().__init__(
|
||||
local_path=local_path,
|
||||
id=id,
|
||||
category=category,
|
||||
description=description,
|
||||
source=source,
|
||||
resource_version=resource_version,
|
||||
)
|
||||
|
||||
def get_category_name(cls) -> str:
|
||||
return "CheckpointResource"
|
||||
|
||||
|
||||
class SimpointResource(AbstractResource):
|
||||
"""A simpoint resource. This resource stores all information required to
|
||||
@@ -359,7 +374,6 @@ class SimpointResource(AbstractResource):
|
||||
weight_list: List[float] = None,
|
||||
warmup_interval: int = 0,
|
||||
id: Optional[str] = None,
|
||||
category: Optional[str] = None,
|
||||
workload_name: Optional[str] = None,
|
||||
description: Optional[str] = None,
|
||||
source: Optional[str] = None,
|
||||
@@ -381,7 +395,6 @@ class SimpointResource(AbstractResource):
|
||||
super().__init__(
|
||||
local_path=local_path,
|
||||
id=id,
|
||||
category=category,
|
||||
description=description,
|
||||
source=source,
|
||||
resource_version=resource_version,
|
||||
@@ -463,6 +476,9 @@ class SimpointResource(AbstractResource):
|
||||
self._simpoint_start_insts[index] = start_inst - warmup_inst
|
||||
return warmup_list
|
||||
|
||||
def get_category_name(cls) -> str:
|
||||
return "SimpointResource"
|
||||
|
||||
|
||||
class LooppointCsvResource(FileResource, LooppointCsvLoader):
|
||||
"""This Looppoint resource used to create a Looppoint resource from a
|
||||
@@ -472,7 +488,6 @@ class LooppointCsvResource(FileResource, LooppointCsvLoader):
|
||||
self,
|
||||
local_path: str,
|
||||
id: Optional[str] = None,
|
||||
category: Optional[str] = None,
|
||||
resource_version: Optional[str] = None,
|
||||
description: Optional[str] = None,
|
||||
source: Optional[str] = None,
|
||||
@@ -482,20 +497,21 @@ class LooppointCsvResource(FileResource, LooppointCsvLoader):
|
||||
self,
|
||||
local_path=local_path,
|
||||
id=id,
|
||||
category=category,
|
||||
description=description,
|
||||
source=source,
|
||||
resource_version=resource_version,
|
||||
)
|
||||
LooppointCsvLoader.__init__(self, pinpoints_file=Path(local_path))
|
||||
|
||||
def get_category_name(cls) -> str:
|
||||
return "LooppointCsvResource"
|
||||
|
||||
|
||||
class LooppointJsonResource(FileResource, LooppointJsonLoader):
|
||||
def __init__(
|
||||
self,
|
||||
local_path: str,
|
||||
id: Optional[str] = None,
|
||||
category: Optional[str] = None,
|
||||
resource_version: Optional[str] = None,
|
||||
region_id: Optional[Union[str, int]] = None,
|
||||
description: Optional[str] = None,
|
||||
@@ -506,7 +522,6 @@ class LooppointJsonResource(FileResource, LooppointJsonLoader):
|
||||
self,
|
||||
local_path=local_path,
|
||||
id=id,
|
||||
category=category,
|
||||
description=description,
|
||||
source=source,
|
||||
resource_version=resource_version,
|
||||
@@ -515,6 +530,9 @@ class LooppointJsonResource(FileResource, LooppointJsonLoader):
|
||||
self, looppoint_file=local_path, region_id=region_id
|
||||
)
|
||||
|
||||
def get_category_name(cls) -> str:
|
||||
return "LooppointJsonResource"
|
||||
|
||||
|
||||
class SimpointDirectoryResource(SimpointResource):
|
||||
"""A Simpoint diretory resource. This Simpoint Resource assumes the
|
||||
@@ -528,7 +546,6 @@ class SimpointDirectoryResource(SimpointResource):
|
||||
simpoint_interval: int,
|
||||
warmup_interval: int,
|
||||
id: Optional[str] = None,
|
||||
category: Optional[str] = None,
|
||||
resource_version: Optional[str] = None,
|
||||
workload_name: Optional[str] = None,
|
||||
description: Optional[str] = None,
|
||||
@@ -563,7 +580,6 @@ class SimpointDirectoryResource(SimpointResource):
|
||||
workload_name=workload_name,
|
||||
local_path=local_path,
|
||||
id=id,
|
||||
category=category,
|
||||
description=description,
|
||||
source=source,
|
||||
resource_version=resource_version,
|
||||
@@ -607,6 +623,9 @@ class SimpointDirectoryResource(SimpointResource):
|
||||
weight_list.append(weight)
|
||||
return simpoint_list, weight_list
|
||||
|
||||
def get_category_name(cls) -> str:
|
||||
return "SimpointDirectoryResource"
|
||||
|
||||
|
||||
class WorkloadResource(AbstractResource):
|
||||
"""A workload resource. This resource is used to specify a workload to run
|
||||
@@ -618,7 +637,6 @@ class WorkloadResource(AbstractResource):
|
||||
self,
|
||||
function: str = None,
|
||||
id: Optional[str] = None,
|
||||
category: Optional[str] = None,
|
||||
resource_version: Optional[str] = None,
|
||||
description: Optional[str] = None,
|
||||
source: Optional[str] = None,
|
||||
@@ -634,7 +652,6 @@ class WorkloadResource(AbstractResource):
|
||||
super().__init__(
|
||||
local_path=local_path,
|
||||
id=id,
|
||||
category=category,
|
||||
description=description,
|
||||
source=source,
|
||||
resource_version=resource_version,
|
||||
@@ -671,6 +688,9 @@ class WorkloadResource(AbstractResource):
|
||||
"""
|
||||
self._params[parameter] = value
|
||||
|
||||
def get_category_name(cls) -> str:
|
||||
return "WorkloadResource"
|
||||
|
||||
|
||||
def obtain_resource(
|
||||
resource_id: str,
|
||||
|
||||
Reference in New Issue
Block a user