10
11
from storm.locals import (
18
18
from zope.interface import implements
20
from lpresults.hardware.interfaces.processor import IProcessor
21
from lpresults.hardware.models.processorplatform import ProcessorPlatform
20
from lpresults.hardware.interfaces.processor import (
24
from lpresults.hardware.models.processorplatform import (
26
HasProcessorPlatformMixin,
28
from lpresults.hardware.models.store import get_hardware_store
31
class Processor(HasProcessorPlatformMixin):
26
33
__storm_table__ = "processor"
28
35
implements(IProcessor)
30
37
id = Int(primary=True, allow_none=False, default=AutoReload)
31
platform_id = Int(allow_none=False)
32
type = RawStr(allow_none=False)
33
model = RawStr(allow_none=False)
34
model_number = RawStr(allow_none=False)
35
model_version = RawStr(allow_none=False)
36
model_revision = RawStr(allow_none=False)
38
platform_id = Int(name="platform", allow_none=False)
39
make = Unicode(allow_none=False)
40
model = Unicode(allow_none=False)
41
model_number = Unicode(allow_none=False)
42
model_version = Unicode(allow_none=False)
43
model_revision = Unicode(allow_none=False)
37
44
cache = Int(allow_none=False)
38
bogomips = Int(allow_none=False)
39
speed = Int(allow_none=False)
40
45
other = Unicode(allow_none=False)
42
47
platform = Reference(platform_id, ProcessorPlatform.id)
44
def __init__(self, platform, type, model, model_number, model_version,
45
model_revision, cache, bogomips, speed, other):
49
def __init__(self, platform, make, model, model_number,
50
model_version, model_revision, cache, other):
46
51
self.platform = platform
49
54
self.model_number = model_number
50
55
self.model_version = model_version
51
56
self.model_revision = model_revision
53
self.bogomips = bogomips
63
implements(IProcessorSet)
66
"""See `IProcessorSet`."""
67
return get_hardware_store().get(Processor, id)
70
self, platform_name, make, model, model_number, model_version,
71
model_revision, cache, other):
72
"""See `IProcessorSet`."""
73
store = get_hardware_store()
74
platform = store.find(ProcessorPlatform, name=platform_name).one()
76
platform = ProcessorPlatform(platform_name)
78
processor = store.find(
79
Processor, platform=platform, make=make, model=model,
80
model_number=model_number, model_version=model_version,
81
model_revision=model_revision, cache=cache, other=other).one()
83
processor = Processor(
84
platform, make, model, model_number, model_version,
85
model_revision, cache, other)
90
processor_set = ProcessorSet()