Removed unused imports
[zeroinstall.git] / zeroinstall / injector / requirements.py
blobe1bdd91b298a5bbf2ce290c38c8303602cbbdf5e
1 """
2 Holds information about what the user asked for (which program, version constraints, etc).
3 """
5 # Copyright (C) 2011, Thomas Leonard
6 # See the README file for details, or visit http://0install.net.
8 class Requirements(object):
9 """
10 Holds information about what the user asked for (which program, version constraints, etc).
11 """
12 __slots__ = [
13 'interface_uri',
14 'command',
15 'source',
16 'before', 'not_before',
17 'os', 'cpu',
18 'message',
21 def __init__(self, interface_uri):
22 self.interface_uri = interface_uri
23 self.command = 'run'
24 self.source = False
25 self.before = self.not_before = None
26 self.os = self.cpu = None
27 self.message = None
29 def parse_options(self, options):
30 self.not_before = options.not_before
31 self.before = options.before
33 self.source = bool(options.source)
34 self.message = options.message
36 self.cpu = options.cpu
37 self.os = options.os
39 # (None becomes 'run', while '' becomes None)
40 if options.command is None:
41 if self.source:
42 self.command = 'compile'
43 else:
44 self.command = 'run'
45 else:
46 self.command = options.command or None
48 def get_as_options(self):
49 gui_args = []
50 if self.not_before:
51 gui_args.insert(0, self.not_before)
52 gui_args.insert(0, '--not-before')
53 if self.before:
54 gui_args.insert(0, self.before)
55 gui_args.insert(0, '--before')
56 if self.source:
57 gui_args.insert(0, '--source')
58 if self.message:
59 gui_args.insert(0, self.message)
60 gui_args.insert(0, '--message')
61 if self.cpu:
62 gui_args.insert(0, self.cpu)
63 gui_args.insert(0, '--cpu')
64 if self.os:
65 gui_args.insert(0, self.os)
66 gui_args.insert(0, '--os')
67 gui_args.append('--command')
68 gui_args.append(self.command or '')
70 return gui_args