mirror of
https://github.com/powerline/powerline.git
synced 2025-07-26 07:16:31 +02:00
Add support for pickle
This commit is contained in:
parent
2296290037
commit
b043749daa
@ -22,8 +22,15 @@ def gen_init(cls):
|
|||||||
return __init__
|
return __init__
|
||||||
|
|
||||||
|
|
||||||
|
def gen_getnewargs(cls):
|
||||||
|
def __getnewargs__(self):
|
||||||
|
return (self.value, self.mark)
|
||||||
|
return __getnewargs__
|
||||||
|
|
||||||
|
|
||||||
class MarkedUnicode(unicode):
|
class MarkedUnicode(unicode):
|
||||||
__new__ = gen_new(unicode)
|
__new__ = gen_new(unicode)
|
||||||
|
__getnewargs__ = gen_getnewargs(unicode)
|
||||||
|
|
||||||
def _proc_partition(self, part_result):
|
def _proc_partition(self, part_result):
|
||||||
pointdiff = 1
|
pointdiff = 1
|
||||||
@ -47,15 +54,18 @@ class MarkedUnicode(unicode):
|
|||||||
|
|
||||||
class MarkedInt(int):
|
class MarkedInt(int):
|
||||||
__new__ = gen_new(int)
|
__new__ = gen_new(int)
|
||||||
|
__getnewargs__ = gen_getnewargs(int)
|
||||||
|
|
||||||
|
|
||||||
class MarkedFloat(float):
|
class MarkedFloat(float):
|
||||||
__new__ = gen_new(float)
|
__new__ = gen_new(float)
|
||||||
|
__getnewargs__ = gen_getnewargs(float)
|
||||||
|
|
||||||
|
|
||||||
class MarkedDict(dict):
|
class MarkedDict(dict):
|
||||||
__new__ = gen_new(dict)
|
__new__ = gen_new(dict)
|
||||||
__init__ = gen_init(dict)
|
__init__ = gen_init(dict)
|
||||||
|
__getnewargs__ = gen_getnewargs(dict)
|
||||||
|
|
||||||
def copy(self):
|
def copy(self):
|
||||||
return MarkedDict(super(MarkedDict, self).copy(), self.mark)
|
return MarkedDict(super(MarkedDict, self).copy(), self.mark)
|
||||||
@ -64,6 +74,7 @@ class MarkedDict(dict):
|
|||||||
class MarkedList(list):
|
class MarkedList(list):
|
||||||
__new__ = gen_new(list)
|
__new__ = gen_new(list)
|
||||||
__init__ = gen_init(list)
|
__init__ = gen_init(list)
|
||||||
|
__getnewargs__ = gen_getnewargs(list)
|
||||||
|
|
||||||
|
|
||||||
class MarkedValue:
|
class MarkedValue:
|
||||||
@ -71,6 +82,8 @@ class MarkedValue:
|
|||||||
self.mark = mark
|
self.mark = mark
|
||||||
self.value = value
|
self.value = value
|
||||||
|
|
||||||
|
__getinitargs__ = gen_getnewargs(None)
|
||||||
|
|
||||||
|
|
||||||
specialclasses = {
|
specialclasses = {
|
||||||
unicode: MarkedUnicode,
|
unicode: MarkedUnicode,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user