summaryrefslogtreecommitdiff
path: root/Pb_Api/Params.py
blob: 9ab90a93e20ff8c4ef0de16ef3a7378eab64bcb1 (plain)
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
import pprint
class Pb_Api_Params(object):
  def param(self, name):
    for p in self.params: 
      if p.name == name:
        return p
    return None
#  def __iter__(self):
#    return iter(self.params)

  def __str__(self):
    return pprint.pformat({ "params": map(lambda x: vars(x), self.params) })

  def randomize(self):
    for el in self.params:
      if el.set_by_user:
        continue
      el.randomize()

    
  def __dict__(self):
    return dict(self)
      

  def is_ready(self):
    for p in self.params:
      if not p.is_ready():
        return 0
    return 1
  def as_hash(self):
    result = {}
    for p in self.params:
      result[p.name] = p.value
    return result