summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSylvain Thenault <sylvain.thenault@logilab.fr>2008-12-01 11:22:28 +0100
committerSylvain Thenault <sylvain.thenault@logilab.fr>2008-12-01 11:22:28 +0100
commitd57c02e99ddda1ae7d53d71365246eff9df9f727 (patch)
treeda0244b450a06071625f354059a7791c532083b8
parentc7681e5cb0e59e9b5403037f90a2a94ae70f4e64 (diff)
downloadlogilab-common-d57c02e99ddda1ae7d53d71365246eff9df9f727.tar.gz
new time/bytes option types, using textutils conversion function
-rw-r--r--optik_ext.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/optik_ext.py b/optik_ext.py
index 9ceb145..d737a39 100644
--- a/optik_ext.py
+++ b/optik_ext.py
@@ -151,13 +151,22 @@ def check_color(option, opt, value):
value or predefinied color"
raise OptionValueError(msg % (opt, value))
+def check_time(option, opt, value):
+ from logilab.common.textutils import TIME_UNITS, apply_units
+ apply_unit(value, TIME_UNITS)
+
+def check_bytes(option, opt, value):
+ from logilab.common.textutils import BYTES_UNITS, apply_units
+ apply_unit(value, BYTES_UNITS)
+
import types
class Option(BaseOption):
"""override optik.Option to add some new option types
"""
TYPES = BaseOption.TYPES + ('regexp', 'csv', 'yn', 'named', 'password',
- 'multiple_choice', 'file', 'font', 'color')
+ 'multiple_choice', 'file', 'color',
+ 'time', 'bytes')
ATTRS = BaseOption.ATTRS + ['hide']
TYPE_CHECKER = copy(BaseOption.TYPE_CHECKER)
TYPE_CHECKER['regexp'] = check_regexp
@@ -168,6 +177,8 @@ class Option(BaseOption):
TYPE_CHECKER['file'] = check_file
TYPE_CHECKER['color'] = check_color
TYPE_CHECKER['password'] = check_password
+ TYPE_CHECKER['time'] = check_time
+ TYPE_CHECKER['bytes'] = check_bytes
if HAS_MX_DATETIME:
TYPES += ('date',)
TYPE_CHECKER['date'] = check_date