added conv(adj) to map to conv(adj.get_current_value()) for conv in (int, float, round, trunc, floor, ceil)
This commit is contained in:
@@ -2,11 +2,11 @@ from slic.utils import typename
|
||||
from slic.core.task import TaskProducer
|
||||
from .baseadjustable import BaseAdjustable
|
||||
from .error import AdjustableError
|
||||
from .convenience import SpecConvenience
|
||||
from .convenience import SpecConvenience, NumericConvenience
|
||||
from .limited import Limited
|
||||
|
||||
|
||||
class Adjustable(BaseAdjustable, TaskProducer, SpecConvenience, Limited):
|
||||
class Adjustable(BaseAdjustable, TaskProducer, SpecConvenience, NumericConvenience, Limited):
|
||||
|
||||
stop = None #TODO: might be better to make this callable
|
||||
|
||||
|
||||
@@ -1,3 +1,34 @@
|
||||
from math import trunc, floor, ceil
|
||||
|
||||
|
||||
class NumericConvenience:
|
||||
|
||||
def __int__(self):
|
||||
v = self.get_current_value()
|
||||
return int(v)
|
||||
|
||||
def __float__(self):
|
||||
v = self.get_current_value()
|
||||
return float(v)
|
||||
|
||||
|
||||
def __round__(self, *args, **kwargs):
|
||||
v = self.get_current_value()
|
||||
return round(v, *args, **kwargs)
|
||||
|
||||
def __trunc__(self):
|
||||
v = self.get_current_value()
|
||||
return trunc(v)
|
||||
|
||||
def __floor__(self):
|
||||
v = self.get_current_value()
|
||||
return floor(v)
|
||||
|
||||
def __ceil__(self):
|
||||
v = self.get_current_value()
|
||||
return ceil(v)
|
||||
|
||||
|
||||
|
||||
class SpecConvenience:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user