Removed _meta.py
This commit is contained in:
parent
a2a345e689
commit
b23bf9c2d0
25
sly/_meta.py
25
sly/_meta.py
@ -1,25 +0,0 @@
|
|||||||
from collections import OrderedDict
|
|
||||||
|
|
||||||
class NoDupeDict(OrderedDict):
|
|
||||||
def __setitem__(self, key, value):
|
|
||||||
if key in self and not isinstance(value, property):
|
|
||||||
raise AttributeError('Name %s redefined' % (key))
|
|
||||||
super().__setitem__(key, value)
|
|
||||||
|
|
||||||
class RuleMeta(type):
|
|
||||||
@classmethod
|
|
||||||
def __prepare__(meta, *args, **kwargs):
|
|
||||||
d = NoDupeDict()
|
|
||||||
def _(rule):
|
|
||||||
def decorate(func):
|
|
||||||
func.rule = rule
|
|
||||||
return func
|
|
||||||
return decorate
|
|
||||||
d['_'] = _
|
|
||||||
return d
|
|
||||||
|
|
||||||
def __new__(meta, clsname, bases, attributes):
|
|
||||||
del attributes['_']
|
|
||||||
cls = super().__new__(meta, clsname, bases, attributes)
|
|
||||||
cls._build(list(attributes.items()))
|
|
||||||
return cls
|
|
@ -35,8 +35,6 @@ import sys
|
|||||||
import inspect
|
import inspect
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
|
||||||
from ._meta import RuleMeta
|
|
||||||
|
|
||||||
__version__ = '0.0'
|
__version__ = '0.0'
|
||||||
__all__ = [ 'Parser' ]
|
__all__ = [ 'Parser' ]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user