Markup, whitespace, typo and code style fixes

This commit is contained in:
BlauFeuer 2017-02-20 01:41:43 -05:00 committed by GitHub
parent dc1545cb27
commit 5111fb9a1e

View file

@ -44,6 +44,7 @@ _DA = object.__delattr__
_DEFAULT_WIDTH = settings.CLIENT_DEFAULT_WIDTH _DEFAULT_WIDTH = settings.CLIENT_DEFAULT_WIDTH
def is_iter(iterable): def is_iter(iterable):
""" """
Checks if an object behaves iterably. Checks if an object behaves iterably.
@ -62,6 +63,7 @@ def is_iter(iterable):
""" """
return hasattr(iterable, '__iter__') return hasattr(iterable, '__iter__')
def make_iter(obj): def make_iter(obj):
""" """
Makes sure that the object is always iterable. Makes sure that the object is always iterable.
@ -201,7 +203,7 @@ def justify(text, width=_DEFAULT_WIDTH, align="f", indent=0):
distribute odd spaces randomly to one of the gaps. distribute odd spaces randomly to one of the gaps.
""" """
line_rest = width - (wlen + ngaps) line_rest = width - (wlen + ngaps)
gap = " " # minimum gap between words gap = " " # minimum gap between words
if line_rest > 0: if line_rest > 0:
if align == 'l': if align == 'l':
line[-1] += " " * line_rest line[-1] += " " * line_rest
@ -211,7 +213,7 @@ def justify(text, width=_DEFAULT_WIDTH, align="f", indent=0):
pad = " " * (line_rest // 2) pad = " " * (line_rest // 2)
line[0] = pad + line[0] line[0] = pad + line[0]
line[-1] = line[-1] + pad + " " * (line_rest % 2) line[-1] = line[-1] + pad + " " * (line_rest % 2)
else: # align 'f' else: # align 'f'
gap += " " * (line_rest // max(1, ngaps)) gap += " " * (line_rest // max(1, ngaps))
rest_gap = line_rest % max(1, ngaps) rest_gap = line_rest % max(1, ngaps)
for i in range(rest_gap): for i in range(rest_gap):
@ -250,8 +252,7 @@ def justify(text, width=_DEFAULT_WIDTH, align="f", indent=0):
wlen += word[1] wlen += word[1]
ngaps += 1 ngaps += 1
if line: # catch any line left behind
if line: # catch any line left behind
lines.append(_process_line(line)) lines.append(_process_line(line))
indentstring = " " * indent indentstring = " " * indent
return "\n".join([indentstring + line for line in lines]) return "\n".join([indentstring + line for line in lines])
@ -360,7 +361,7 @@ def time_format(seconds, style=0):
minutes = seconds // 60 minutes = seconds // 60
seconds -= minutes * 60 seconds -= minutes * 60
retval = "" retval = ""
if style == 0: if style == 0:
""" """
Standard colon-style output. Standard colon-style output.
@ -522,13 +523,13 @@ def pypath_to_realpath(python_path, file_ending='.py', pypath_prefixes=None):
""" """
path = python_path.strip().split('.') path = python_path.strip().split('.')
plong = osjoin(*path) + file_ending plong = osjoin(*path) + file_ending
pshort = osjoin(*path[1:]) + file_ending if len(path) > 1 else plong # in case we had evennia. or mygame. pshort = osjoin(*path[1:]) + file_ending if len(path) > 1 else plong # in case we had evennia. or mygame.
prefixlong = [osjoin(*ppath.strip().split('.')) prefixlong = [osjoin(*ppath.strip().split('.'))
for ppath in make_iter(pypath_prefixes)] \ for ppath in make_iter(pypath_prefixes)] \
if pypath_prefixes else [] if pypath_prefixes else []
prefixshort = [osjoin(*ppath.strip().split('.')[1:]) prefixshort = [osjoin(*ppath.strip().split('.')[1:])
for ppath in make_iter(pypath_prefixes) if len(ppath.strip().split('.')) > 1] \ for ppath in make_iter(pypath_prefixes) if len(ppath.strip().split('.')) > 1]\
if pypath_prefixes else [] if pypath_prefixes else []
paths = [plong] + \ paths = [plong] + \
[osjoin(_EVENNIA_DIR, prefix, plong) for prefix in prefixlong] + \ [osjoin(_EVENNIA_DIR, prefix, plong) for prefix in prefixlong] + \
[osjoin(_GAME_DIR, prefix, plong) for prefix in prefixlong] + \ [osjoin(_GAME_DIR, prefix, plong) for prefix in prefixlong] + \
@ -616,6 +617,7 @@ dbid_to_obj = dbref_to_obj
_UNICODE_MAP = {"EM DASH": "-", "FIGURE DASH": "-", "EN DASH": "-", "HORIZONTAL BAR": "-", _UNICODE_MAP = {"EM DASH": "-", "FIGURE DASH": "-", "EN DASH": "-", "HORIZONTAL BAR": "-",
"HORIZONTAL ELLIPSIS": "...", "RIGHT SINGLE QUOTATION MARK": "'"} "HORIZONTAL ELLIPSIS": "...", "RIGHT SINGLE QUOTATION MARK": "'"}
def latinify(unicode_string, default='?', pure_ascii=False): def latinify(unicode_string, default='?', pure_ascii=False):
""" """
Convert a unicode string to "safe" ascii/latin-1 characters. Convert a unicode string to "safe" ascii/latin-1 characters.
@ -643,7 +645,7 @@ def latinify(unicode_string, default='?', pure_ascii=False):
# point name; e.g., since `name(u'á') == 'LATIN SMALL # point name; e.g., since `name(u'á') == 'LATIN SMALL
# LETTER A WITH ACUTE'` translate `á` to `a`. However, in # LETTER A WITH ACUTE'` translate `á` to `a`. However, in
# some cases the unicode name is still "LATIN LETTER" # some cases the unicode name is still "LATIN LETTER"
# although no direct equivalent in the Latin alphabeth # although no direct equivalent in the Latin alphabet
# exists (e.g., Þ, "LATIN CAPITAL LETTER THORN") -- we can # exists (e.g., Þ, "LATIN CAPITAL LETTER THORN") -- we can
# avoid these cases by checking that the letter name is # avoid these cases by checking that the letter name is
# composed of one letter only. # composed of one letter only.
@ -910,6 +912,8 @@ def delay(timedelay, callback, *args, **kwargs):
_TYPECLASSMODELS = None _TYPECLASSMODELS = None
_OBJECTMODELS = None _OBJECTMODELS = None
def clean_object_caches(obj): def clean_object_caches(obj):
""" """
Clean all object caches on the given object. Clean all object caches on the given object.
@ -1146,8 +1150,6 @@ def all_from_module(module):
# module if available (try to avoid not imports) # module if available (try to avoid not imports)
members = getmembers(mod, predicate=lambda obj: getmodule(obj) in (mod, None)) members = getmembers(mod, predicate=lambda obj: getmodule(obj) in (mod, None))
return dict((key, val) for key, val in members if not key.startswith("_")) return dict((key, val) for key, val in members if not key.startswith("_"))
#return dict((key, val) for key, val in mod.__dict__.items()
# if not (key.startswith("_") or ismodule(val)))
def callables_from_module(module): def callables_from_module(module):
@ -1209,7 +1211,7 @@ def variable_from_module(module, variable=None, default=None):
else: else:
# get all # get all
result = [val for key, val in mod.__dict__.items() result = [val for key, val in mod.__dict__.items()
if not (key.startswith("_") or ismodule(val))] if not (key.startswith("_") or ismodule(val))]
if len(result) == 1: if len(result) == 1:
return result[0] return result[0]
@ -1348,6 +1350,7 @@ def class_from_module(path, defaultpaths=None):
# alias # alias
object_from_module = class_from_module object_from_module = class_from_module
def init_new_player(player): def init_new_player(player):
""" """
Deprecated. Deprecated.
@ -1442,7 +1445,7 @@ def string_partial_matching(alternatives, inp, ret_index=True):
# (this will invalidate input in the wrong word order) # (this will invalidate input in the wrong word order)
submatch = [last_index + alt_num for alt_num, alt_word submatch = [last_index + alt_num for alt_num, alt_word
in enumerate(alt_words[last_index:]) in enumerate(alt_words[last_index:])
if alt_word.startswith(inp_word)] if alt_word.startswith(inp_word)]
if submatch: if submatch:
last_index = min(submatch) + 1 last_index = min(submatch) + 1
score += 1 score += 1
@ -1488,7 +1491,7 @@ def format_table(table, extra_space=1):
for ir, row in enumarate(ftable): for ir, row in enumarate(ftable):
if ir == 0: if ir == 0:
# make first row white # make first row white
string += "\n{w" + ""join(row) + "{n" string += "\n|w" + ""join(row) + "|n"
else: else:
string += "\n" + "".join(row) string += "\n" + "".join(row)
print string print string
@ -1539,6 +1542,8 @@ def get_evennia_pids():
from gc import get_referents from gc import get_referents
from sys import getsizeof from sys import getsizeof
def deepsize(obj, max_depth=4): def deepsize(obj, max_depth=4):
""" """
Get not only size of the given object, but also the size of Get not only size of the given object, but also the size of
@ -1562,21 +1567,22 @@ def deepsize(obj, max_depth=4):
""" """
def _recurse(o, dct, depth): def _recurse(o, dct, depth):
if max_depth >= 0 and depth > max_depth: if 0 <= max_depth < depth:
return return
for ref in get_referents(o): for ref in get_referents(o):
idr = id(ref) idr = id(ref)
if not idr in dct: if idr not in dct:
dct[idr] = (ref, getsizeof(ref, default=0)) dct[idr] = (ref, getsizeof(ref, default=0))
_recurse(ref, dct, depth+1) _recurse(ref, dct, depth+1)
sizedict = {} sizedict = {}
_recurse(obj, sizedict, 0) _recurse(obj, sizedict, 0)
#count = len(sizedict) + 1
size = getsizeof(obj) + sum([p[1] for p in sizedict.values()]) size = getsizeof(obj) + sum([p[1] for p in sizedict.values()])
return size return size
# lazy load handler # lazy load handler
_missing = object() _missing = object()
class lazy_property(object): class lazy_property(object):
""" """
Delays loading of property until first access. Credit goes to the Delays loading of property until first access. Credit goes to the
@ -1597,14 +1603,14 @@ class lazy_property(object):
""" """
def __init__(self, func, name=None, doc=None): def __init__(self, func, name=None, doc=None):
"Store all properties for now" """Store all properties for now"""
self.__name__ = name or func.__name__ self.__name__ = name or func.__name__
self.__module__ = func.__module__ self.__module__ = func.__module__
self.__doc__ = doc or func.__doc__ self.__doc__ = doc or func.__doc__
self.func = func self.func = func
def __get__(self, obj, type=None): def __get__(self, obj, type=None):
"Triggers initialization" """Triggers initialization"""
if obj is None: if obj is None:
return self return self
value = obj.__dict__.get(self.__name__, _missing) value = obj.__dict__.get(self.__name__, _missing)
@ -1614,7 +1620,9 @@ class lazy_property(object):
return value return value
_STRIP_ANSI = None _STRIP_ANSI = None
_RE_CONTROL_CHAR = re.compile('[%s]' % re.escape(''.join([unichr(c) for c in range(0,32)])))# + range(127,160)]))) _RE_CONTROL_CHAR = re.compile('[%s]' % re.escape(''.join([unichr(c) for c in range(0, 32)]))) # + range(127,160)])))
def strip_control_sequences(string): def strip_control_sequences(string):
""" """
Remove non-print text sequences. Remove non-print text sequences.
@ -1675,12 +1683,12 @@ def m_len(target):
return len(ANSI_PARSER.strip_mxp(target)) return len(ANSI_PARSER.strip_mxp(target))
return len(target) return len(target)
#------------------------------------------------------------------ # -------------------------------------------------------------------
# Search handler function # Search handler function
#------------------------------------------------------------------ # -------------------------------------------------------------------
# #
# Replace this hook function by changing settings.SEARCH_AT_RESULT. # Replace this hook function by changing settings.SEARCH_AT_RESULT.
#
def at_search_result(matches, caller, query="", quiet=False, **kwargs): def at_search_result(matches, caller, query="", quiet=False, **kwargs):
""" """
@ -1696,7 +1704,7 @@ def at_search_result(matches, caller, query="", quiet=False, **kwargs):
should the result pass through. should the result pass through.
caller (Object): The object performing the search and/or which should caller (Object): The object performing the search and/or which should
receive error messages. receive error messages.
query (str, optional): The search query used to produce `matches`. query (str, optional): The search query used to produce `matches`.
quiet (bool, optional): If `True`, no messages will be echoed to caller quiet (bool, optional): If `True`, no messages will be echoed to caller
on errors. on errors.
@ -1774,6 +1782,7 @@ class LimitedSizeOrderedDict(OrderedDict):
super(LimitedSizeOrderedDict, self).update(*args, **kwargs) super(LimitedSizeOrderedDict, self).update(*args, **kwargs)
self._check_size() self._check_size()
def get_game_dir_path(): def get_game_dir_path():
""" """
This is called by settings_default in order to determine the path This is called by settings_default in order to determine the path
@ -1784,7 +1793,7 @@ def get_game_dir_path():
""" """
# current working directory, assumed to be somewhere inside gamedir. # current working directory, assumed to be somewhere inside gamedir.
for i in range(10): for _ in range(10):
gpath = os.getcwd() gpath = os.getcwd()
if "server" in os.listdir(gpath): if "server" in os.listdir(gpath):
if os.path.isfile(os.path.join("server", "conf", "settings.py")): if os.path.isfile(os.path.join("server", "conf", "settings.py")):