1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
from hwtest.plugin import Plugin
class CategoryPrompt(Plugin):
attributes = ["category"]
def register(self, manager):
super(CategoryPrompt, self).register(manager)
self._manager.reactor.call_on(("interface", "show-category"), self.show_category)
def show_category(self, interface):
category = self.config.category
registry = self._manager.registry
# Try to determine category from HAL formfactor
if not category:
formfactor = registry.hal.computer.system.formfactor
if formfactor != "unknown":
category = formfactor
# Try to determine category from dpkg architecture
if not category:
architecture = registry.dpkg.architecture
if architecture == "sparc":
category = "server"
# Try to determine category from kernel version
if not category:
version = registry.hal.system.kernel.version
if version.endswith("-server"):
category = "server"
if not category:
category = interface.show_category()
self._manager.reactor.fire(("prompt", "set-category"),
category)
factory = CategoryPrompt
|