parent
b44d96be4d
commit
97381673f3
|
@ -1,4 +1,4 @@
|
||||||
from collections import defaultdict
|
from util import defaultdict
|
||||||
import codecs, datetime, grp, os, pwd, re, shutil, stat, string
|
import codecs, datetime, grp, os, pwd, re, shutil, stat, string
|
||||||
import fcntl, select, pty, threading
|
import fcntl, select, pty, threading
|
||||||
import aes, dirutil, regex, highlight, lex, term
|
import aes, dirutil, regex, highlight, lex, term
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from collections import defaultdict
|
from util import defaultdict
|
||||||
import math, os, string
|
import math, os, string
|
||||||
import color, method
|
import color, method
|
||||||
from lex import Lexer
|
from lex import Lexer
|
||||||
|
|
39
util.py
39
util.py
|
@ -66,3 +66,42 @@ def get_margin_color(w, def_color='blue'):
|
||||||
return w.application.config[lname]
|
return w.application.config[lname]
|
||||||
else:
|
else:
|
||||||
return w.application.config.get('margin_color', def_color)
|
return w.application.config.get('margin_color', def_color)
|
||||||
|
|
||||||
|
# emulate defaultdict for 2.4
|
||||||
|
try:
|
||||||
|
from collections import defaultdict
|
||||||
|
except:
|
||||||
|
class defaultdict(dict):
|
||||||
|
def __init__(self, default_factory=None, *a, **kw):
|
||||||
|
if (default_factory is not None and
|
||||||
|
not hasattr(default_factory, '__call__')):
|
||||||
|
raise TypeError('first argument must be callable')
|
||||||
|
dict.__init__(self, *a, **kw)
|
||||||
|
self.default_factory = default_factory
|
||||||
|
def __getitem__(self, key):
|
||||||
|
try:
|
||||||
|
return dict.__getitem__(self, key)
|
||||||
|
except KeyError:
|
||||||
|
return self.__missing__(key)
|
||||||
|
def __missing__(self, key):
|
||||||
|
if self.default_factory is None:
|
||||||
|
raise KeyError(key)
|
||||||
|
self[key] = value = self.default_factory()
|
||||||
|
return value
|
||||||
|
def __reduce__(self):
|
||||||
|
if self.default_factory is None:
|
||||||
|
args = tuple()
|
||||||
|
else:
|
||||||
|
args = self.default_factory,
|
||||||
|
return type(self), args, None, None, self.items()
|
||||||
|
def copy(self):
|
||||||
|
return self.__copy__()
|
||||||
|
def __copy__(self):
|
||||||
|
return type(self)(self.default_factory, self)
|
||||||
|
def __deepcopy__(self, memo):
|
||||||
|
import copy
|
||||||
|
return type(self)(self.default_factory,
|
||||||
|
copy.deepcopy(self.items()))
|
||||||
|
def __repr__(self):
|
||||||
|
return 'defaultdict(%s, %s)' % (self.default_factory,
|
||||||
|
dict.__repr__(self))
|
||||||
|
|
Loading…
Reference in New Issue