Enable alias with comma-separated values
This commit is contained in:
parent
086c30b2ae
commit
89d1a6ee3a
@ -1,3 +1,5 @@
|
|||||||
|
- 0.0.19:
|
||||||
|
* Enable alias with comma separated values
|
||||||
- 0.0.18
|
- 0.0.18
|
||||||
* Eliminate key error when list run on empty valid state
|
* Eliminate key error when list run on empty valid state
|
||||||
* Add replace content method
|
* Add replace content method
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[metadata]
|
[metadata]
|
||||||
name = shep
|
name = shep
|
||||||
version = 0.0.18
|
version = 0.0.19
|
||||||
description = Multi-state key stores using bit masks
|
description = Multi-state key stores using bit masks
|
||||||
author = Louis Holbrook
|
author = Louis Holbrook
|
||||||
author_email = dev@holbrook.no
|
author_email = dev@holbrook.no
|
||||||
|
@ -50,7 +50,7 @@ class State:
|
|||||||
|
|
||||||
|
|
||||||
def __check_valid(self, v):
|
def __check_valid(self, v):
|
||||||
v = int(v)
|
v = self.__check_value_typ(v)
|
||||||
if self.__reverse.get(v):
|
if self.__reverse.get(v):
|
||||||
raise StateExists(v)
|
raise StateExists(v)
|
||||||
return v
|
return v
|
||||||
@ -59,6 +59,7 @@ class State:
|
|||||||
def __check_limit(self, v):
|
def __check_limit(self, v):
|
||||||
if v > self.__limit:
|
if v > self.__limit:
|
||||||
raise OverflowError(v)
|
raise OverflowError(v)
|
||||||
|
return v
|
||||||
|
|
||||||
|
|
||||||
def __check_value(self, v):
|
def __check_value(self, v):
|
||||||
@ -67,8 +68,12 @@ class State:
|
|||||||
return v
|
return v
|
||||||
|
|
||||||
|
|
||||||
|
def __check_value_typ(self, v):
|
||||||
|
return int(v)
|
||||||
|
|
||||||
|
|
||||||
def __check_value_cursor(self, v):
|
def __check_value_cursor(self, v):
|
||||||
v = self.__check_valid(v)
|
v = self.__check_value_typ(v)
|
||||||
if v > 1 << self.__c:
|
if v > 1 << self.__c:
|
||||||
raise StateInvalid(v)
|
raise StateInvalid(v)
|
||||||
return v
|
return v
|
||||||
@ -112,9 +117,12 @@ class State:
|
|||||||
self.__set(k, v)
|
self.__set(k, v)
|
||||||
|
|
||||||
|
|
||||||
def alias(self, k, v):
|
def alias(self, k, *args):
|
||||||
k = self.__check_name(k)
|
k = self.__check_name(k)
|
||||||
v = self.__check_value_cursor(v)
|
v = 0
|
||||||
|
for a in args:
|
||||||
|
a = self.__check_value_cursor(a)
|
||||||
|
v = self.__check_limit(v | a)
|
||||||
if self.__is_pure(v):
|
if self.__is_pure(v):
|
||||||
raise ValueError('use add to add pure values')
|
raise ValueError('use add to add pure values')
|
||||||
self.__set(k, v)
|
self.__set(k, v)
|
||||||
|
@ -66,6 +66,14 @@ class TestState(unittest.TestCase):
|
|||||||
states = State(3)
|
states = State(3)
|
||||||
with self.assertRaises(ValueError):
|
with self.assertRaises(ValueError):
|
||||||
states.alias('foo', 1)
|
states.alias('foo', 1)
|
||||||
|
states.add('foo')
|
||||||
|
states.add('bar')
|
||||||
|
states.alias('baz', states.FOO, states.BAR)
|
||||||
|
self.assertEqual(states.BAZ, 3)
|
||||||
|
|
||||||
|
|
||||||
|
def test_alias_multi(self):
|
||||||
|
states = State(3)
|
||||||
|
|
||||||
|
|
||||||
def test_alias_cover(self):
|
def test_alias_cover(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user