Unwrap for expressions in comprehensions, too.
This commit is contained in:
parent
f2e800ddf1
commit
7d524ac328
25 changed files with 54 additions and 54 deletions
|
|
@ -2058,7 +2058,7 @@ class CmdExamine(ObjManipCommand):
|
|||
except (TypeError, AttributeError):
|
||||
# an error means we are merging an object without a session
|
||||
pass
|
||||
all_cmdsets = [cmdset for cmdset in list(dict(all_cmdsets).values())]
|
||||
all_cmdsets = [cmdset for cmdset in dict(all_cmdsets).values()]
|
||||
all_cmdsets.sort(key=lambda x: x.priority, reverse=True)
|
||||
string += "\n|wMerged Cmdset(s)|n:\n %s" % ("\n ".join("%s [%s] (%s, prio %s)" % (
|
||||
cmdset.path, cmdset.key, cmdset.mergetype, cmdset.priority) for cmdset in all_cmdsets))
|
||||
|
|
|
|||
|
|
@ -799,7 +799,7 @@ class CmdServerLoad(COMMAND_DEFAULT_CLASS):
|
|||
|
||||
# object cache count (note that sys.getsiseof is not called so this works for pypy too.
|
||||
total_num, cachedict = _IDMAPPER.cache_size()
|
||||
sorted_cache = sorted([(key, num) for key, num in list(cachedict.items()) if num > 0],
|
||||
sorted_cache = sorted([(key, num) for key, num in cachedict.items() if num > 0],
|
||||
key=lambda tup: tup[1], reverse=True)
|
||||
memtable = EvTable("entity name", "number", "idmapper %", align="l")
|
||||
for tup in sorted_cache:
|
||||
|
|
|
|||
|
|
@ -398,7 +398,7 @@ class CmdExtendedDesc(default_cmds.CmdDesc):
|
|||
# No args given. Return all details on location
|
||||
string = "|wDetails on %s|n:" % location
|
||||
details = "\n".join(" |w%s|n: %s"
|
||||
% (key, utils.crop(text)) for key, text in list(location.db.details.items()))
|
||||
% (key, utils.crop(text)) for key, text in location.db.details.items())
|
||||
caller.msg("%s\n%s" % (string, details) if details else "%s None." % string)
|
||||
return
|
||||
if not self.rhs:
|
||||
|
|
|
|||
|
|
@ -503,7 +503,7 @@ class CmdCallback(COMMAND_DEFAULT_CLASS):
|
|||
obj = self.obj
|
||||
callback_name = self.callback_name
|
||||
handler = self.handler
|
||||
tasks = [(k, v[0], v[1], v[2]) for k, v in list(handler.db.tasks.items())]
|
||||
tasks = [(k, v[0], v[1], v[2]) for k, v in handler.db.tasks.items()]
|
||||
if obj:
|
||||
tasks = [task for task in tasks if task[2] is obj]
|
||||
if callback_name:
|
||||
|
|
|
|||
|
|
@ -436,7 +436,7 @@ class EventHandler(DefaultScript):
|
|||
type(obj), variable, i))
|
||||
return False
|
||||
else:
|
||||
locals = {key: value for key, value in list(locals.items())}
|
||||
locals = {key: value for key, value in locals.items()}
|
||||
|
||||
callbacks = self.get_callbacks(obj).get(callback_name, [])
|
||||
if event:
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ def get_next_wait(format):
|
|||
units = ["min", "hour", "day", "month", "year"]
|
||||
elif calendar == "custom":
|
||||
rsu = custom_rsu
|
||||
back = dict([(value, name) for name, value in list(UNITS.items())])
|
||||
back = dict([(value, name) for name, value in UNITS.items()])
|
||||
sorted_units = sorted(back.items())
|
||||
del sorted_units[0]
|
||||
units = [n for v, n in sorted_units]
|
||||
|
|
|
|||
|
|
@ -254,7 +254,7 @@ class LanguageHandler(DefaultScript):
|
|||
|
||||
if manual_translations:
|
||||
# update with manual translations
|
||||
translation.update(dict((key.lower(), value.lower()) for key, value in list(manual_translations.items())))
|
||||
translation.update(dict((key.lower(), value.lower()) for key, value in manual_translations.items()))
|
||||
|
||||
# store data
|
||||
storage = {"translation": translation,
|
||||
|
|
|
|||
|
|
@ -531,11 +531,11 @@ def send_emote(sender, receivers, emote, anonymous_add="first"):
|
|||
|
||||
try:
|
||||
recog_get = receiver.recog.get
|
||||
receiver_sdesc_mapping = dict((ref, process_recog(recog_get(obj), obj)) for ref, obj in list(obj_mapping.items()))
|
||||
receiver_sdesc_mapping = dict((ref, process_recog(recog_get(obj), obj)) for ref, obj in obj_mapping.items())
|
||||
except AttributeError:
|
||||
receiver_sdesc_mapping = dict((ref, process_sdesc(obj.sdesc.get(), obj)
|
||||
if hasattr(obj, "sdesc") else process_sdesc(obj.key, obj))
|
||||
for ref, obj in list(obj_mapping.items()))
|
||||
for ref, obj in obj_mapping.items())
|
||||
# make sure receiver always sees their real name
|
||||
rkey = "#%i" % receiver.id
|
||||
if rkey in receiver_sdesc_mapping:
|
||||
|
|
@ -684,9 +684,9 @@ class RecogHandler(object):
|
|||
obj2regex = self.obj.attributes.get("_recog_obj2regex", default={})
|
||||
obj2recog = self.obj.attributes.get("_recog_obj2recog", default={})
|
||||
self.obj2regex = dict((obj, re.compile(regex, _RE_FLAGS))
|
||||
for obj, regex in list(obj2regex.items()) if obj)
|
||||
for obj, regex in obj2regex.items() if obj)
|
||||
self.obj2recog = dict((obj, recog)
|
||||
for obj, recog in list(obj2recog.items()) if obj)
|
||||
for obj, recog in obj2recog.items() if obj)
|
||||
|
||||
def add(self, obj, recog, max_length=60):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -269,7 +269,7 @@ class LockHandler(object):
|
|||
"""
|
||||
Store locks to obj
|
||||
"""
|
||||
self.obj.lock_storage = ";".join([tup[2] for tup in list(self.locks.values())])
|
||||
self.obj.lock_storage = ";".join([tup[2] for tup in self.locks.values()])
|
||||
|
||||
def cache_lock_bypass(self, obj):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -615,7 +615,7 @@ class DefaultObject(with_metaclass(TypeclassBase, ObjectDB)):
|
|||
if mapping:
|
||||
substitutions = {t: sub.get_display_name(obj)
|
||||
if hasattr(sub, 'get_display_name')
|
||||
else str(sub) for t, sub in list(mapping.items())}
|
||||
else str(sub) for t, sub in mapping.items()}
|
||||
outmessage = inmessage.format(**substitutions)
|
||||
else:
|
||||
outmessage = inmessage
|
||||
|
|
|
|||
|
|
@ -386,10 +386,10 @@ class TickerHandler(object):
|
|||
if self.ticker_storage:
|
||||
# get the current times so the tickers can be restarted with a delay later
|
||||
start_delays = dict((interval, ticker.task.next_call_time())
|
||||
for interval, ticker in list(self.ticker_pool.tickers.items()))
|
||||
for interval, ticker in self.ticker_pool.tickers.items())
|
||||
|
||||
# remove any subscriptions that lost its object in the interim
|
||||
to_save = {store_key: (args, kwargs) for store_key, (args, kwargs) in list(self.ticker_storage.items())
|
||||
to_save = {store_key: (args, kwargs) for store_key, (args, kwargs) in self.ticker_storage.items()
|
||||
if ((store_key[1] and ("_obj" in kwargs and kwargs["_obj"].pk) and
|
||||
hasattr(kwargs["_obj"], store_key[1])) or # a valid method with existing obj
|
||||
store_key[2])} # a path given
|
||||
|
|
|
|||
|
|
@ -993,7 +993,7 @@ def list_settings(keys):
|
|||
# a specific key
|
||||
table = evtable.EvTable(width=131)
|
||||
keys = [key.upper() for key in keys]
|
||||
confs = dict((key, var) for key, var in list(evsettings.__dict__.items())
|
||||
confs = dict((key, var) for key, var in evsettings.__dict__.items()
|
||||
if key in keys)
|
||||
for key, val in confs.items():
|
||||
table.add_row(key, str(val))
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ class PortalSessionHandler(SessionHandler):
|
|||
if self.portal.amp_protocol:
|
||||
# we only send sessdata that should not have changed
|
||||
# at the server level at this point
|
||||
sessdata = dict((key, val) for key, val in list(sessdata.items()) if key in ("protocol_key",
|
||||
sessdata = dict((key, val) for key, val in sessdata.items() if key in ("protocol_key",
|
||||
"address",
|
||||
"sessid",
|
||||
"csessid",
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ def _server_maintenance():
|
|||
# handle idle timeouts
|
||||
if _IDLE_TIMEOUT > 0:
|
||||
reason = _("idle timeout exceeded")
|
||||
for session in (sess for sess in list(SESSIONS.values())
|
||||
for session in (sess for sess in SESSIONS.values()
|
||||
if (now - sess.cmd_last) > _IDLE_TIMEOUT):
|
||||
if not session.account or not \
|
||||
session.account.access(session.account, "noidletimeout", default=False):
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ class NAttributeHandler(object):
|
|||
|
||||
"""
|
||||
if return_tuples:
|
||||
return [(key, value) for (key, value) in list(self._store.items()) if not key.startswith("_")]
|
||||
return [(key, value) for (key, value) in self._store.items() if not key.startswith("_")]
|
||||
return [key for key in self._store if not key.startswith("_")]
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ class Session(object):
|
|||
the keys given by self._attrs_to_sync.
|
||||
|
||||
"""
|
||||
return dict((key, value) for key, value in list(self.__dict__.items())
|
||||
return dict((key, value) for key, value in self.__dict__.items()
|
||||
if key in self._attrs_to_sync)
|
||||
|
||||
def load_sync_data(self, sessdata):
|
||||
|
|
|
|||
|
|
@ -136,7 +136,7 @@ class SessionHandler(dict):
|
|||
if include_unloggedin:
|
||||
return listvalues(self)
|
||||
else:
|
||||
return [session for session in list(self.values()) if session.logged_in]
|
||||
return [session for session in self.values() if session.logged_in]
|
||||
|
||||
def get_all_sync_data(self):
|
||||
"""
|
||||
|
|
@ -147,7 +147,7 @@ class SessionHandler(dict):
|
|||
syncdata (dict): A dict of sync data.
|
||||
|
||||
"""
|
||||
return dict((sessid, sess.get_sync_data()) for sessid, sess in list(self.items()))
|
||||
return dict((sessid, sess.get_sync_data()) for sessid, sess in self.items())
|
||||
|
||||
def clean_senddata(self, session, kwargs):
|
||||
"""
|
||||
|
|
@ -562,7 +562,7 @@ class ServerSessionHandler(SessionHandler):
|
|||
|
||||
"""
|
||||
uid = curr_session.uid
|
||||
doublet_sessions = [sess for sess in list(self.values())
|
||||
doublet_sessions = [sess for sess in self.values()
|
||||
if sess.logged_in and
|
||||
sess.uid == uid and
|
||||
sess != curr_session]
|
||||
|
|
@ -577,7 +577,7 @@ class ServerSessionHandler(SessionHandler):
|
|||
"""
|
||||
tcurr = time.time()
|
||||
reason = _("Idle timeout exceeded, disconnecting.")
|
||||
for session in (session for session in list(self.values())
|
||||
for session in (session for session in self.values()
|
||||
if session.logged_in and _IDLE_TIMEOUT > 0 and
|
||||
(tcurr - session.cmd_last) > _IDLE_TIMEOUT):
|
||||
self.disconnect(session, reason=reason)
|
||||
|
|
@ -592,7 +592,7 @@ class ServerSessionHandler(SessionHandler):
|
|||
naccount (int): Number of connected accounts
|
||||
|
||||
"""
|
||||
return len(set(session.uid for session in list(self.values()) if session.logged_in))
|
||||
return len(set(session.uid for session in self.values() if session.logged_in))
|
||||
|
||||
def all_connected_accounts(self):
|
||||
"""
|
||||
|
|
@ -603,7 +603,7 @@ class ServerSessionHandler(SessionHandler):
|
|||
amount of Sessions due to multi-playing).
|
||||
|
||||
"""
|
||||
return list(set(session.account for session in list(self.values()) if session.logged_in and session.account))
|
||||
return list(set(session.account for session in self.values() if session.logged_in and session.account))
|
||||
|
||||
def session_from_sessid(self, sessid):
|
||||
"""
|
||||
|
|
@ -650,7 +650,7 @@ class ServerSessionHandler(SessionHandler):
|
|||
|
||||
"""
|
||||
uid = account.uid
|
||||
return [session for session in list(self.values()) if session.logged_in and session.uid == uid]
|
||||
return [session for session in self.values() if session.logged_in and session.uid == uid]
|
||||
|
||||
def sessions_from_puppet(self, puppet):
|
||||
"""
|
||||
|
|
@ -677,7 +677,7 @@ class ServerSessionHandler(SessionHandler):
|
|||
csessid (str): The session hash
|
||||
|
||||
"""
|
||||
return [session for session in list(self.values())
|
||||
return [session for session in self.values()
|
||||
if session.csessid and session.csessid == csessid]
|
||||
|
||||
def announce_all(self, message):
|
||||
|
|
|
|||
|
|
@ -299,7 +299,7 @@ class AttributeHandler(object):
|
|||
# for this category before
|
||||
catkey = "-%s" % category
|
||||
if _TYPECLASS_AGGRESSIVE_CACHE and catkey in self._catcache:
|
||||
return [attr for key, attr in list(self._cache.items()) if key.endswith(catkey) and attr]
|
||||
return [attr for key, attr in self._cache.items() if key.endswith(catkey) and attr]
|
||||
else:
|
||||
# we have to query to make this category up-date in the cache
|
||||
query = {"%s__id" % self._model: self._objid,
|
||||
|
|
@ -655,10 +655,10 @@ class AttributeHandler(object):
|
|||
if not self._cache_complete:
|
||||
self._fullcache()
|
||||
if accessing_obj:
|
||||
[attr.delete() for attr in list(self._cache.values())
|
||||
[attr.delete() for attr in self._cache.values()
|
||||
if attr and attr.access(accessing_obj, self._attredit, default=default_access)]
|
||||
else:
|
||||
[attr.delete() for attr in list(self._cache.values()) if attr and attr.pk]
|
||||
[attr.delete() for attr in self._cache.values() if attr and attr.pk]
|
||||
self._cache = {}
|
||||
self._catcache = {}
|
||||
self._cache_complete = False
|
||||
|
|
@ -682,7 +682,7 @@ class AttributeHandler(object):
|
|||
"""
|
||||
if not self._cache_complete:
|
||||
self._fullcache()
|
||||
attrs = sorted([attr for attr in list(self._cache.values()) if attr],
|
||||
attrs = sorted([attr for attr in self._cache.values() if attr],
|
||||
key=lambda o: o.id)
|
||||
if accessing_obj:
|
||||
return [attr for attr in attrs
|
||||
|
|
@ -1003,5 +1003,5 @@ class NAttributeHandler(object):
|
|||
|
||||
"""
|
||||
if return_tuples:
|
||||
return [(key, value) for (key, value) in list(self._store.items()) if not key.startswith("_")]
|
||||
return [(key, value) for (key, value) in self._store.items() if not key.startswith("_")]
|
||||
return [key for key in self._store if not key.startswith("_")]
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ class TagHandler(object):
|
|||
# for this category before
|
||||
catkey = "-%s" % category
|
||||
if _TYPECLASS_AGGRESSIVE_CACHE and catkey in self._catcache:
|
||||
return [tag for key, tag in list(self._cache.items()) if key.endswith(catkey)]
|
||||
return [tag for key, tag in self._cache.items() if key.endswith(catkey)]
|
||||
else:
|
||||
# we have to query to make this category up-date in the cache
|
||||
query = {"%s__id" % self._model: self._objid,
|
||||
|
|
|
|||
|
|
@ -191,7 +191,7 @@ class _SaverMutable(object):
|
|||
return dat
|
||||
elif dtype == dict:
|
||||
dat = _SaverDict(_parent=parent)
|
||||
dat._data.update((key, process_tree(val, dat)) for key, val in list(item.items()))
|
||||
dat._data.update((key, process_tree(val, dat)) for key, val in item.items())
|
||||
return dat
|
||||
elif dtype == set:
|
||||
dat = _SaverSet(_parent=parent)
|
||||
|
|
@ -500,11 +500,11 @@ def to_pickle(data):
|
|||
elif dtype in (list, _SaverList):
|
||||
return [process_item(val) for val in item]
|
||||
elif dtype in (dict, _SaverDict):
|
||||
return dict((process_item(key), process_item(val)) for key, val in list(item.items()))
|
||||
return dict((process_item(key), process_item(val)) for key, val in item.items())
|
||||
elif dtype in (set, _SaverSet):
|
||||
return set(process_item(val) for val in item)
|
||||
elif dtype in (OrderedDict, _SaverOrderedDict):
|
||||
return OrderedDict((process_item(key), process_item(val)) for key, val in list(item.items()))
|
||||
return OrderedDict((process_item(key), process_item(val)) for key, val in item.items())
|
||||
elif dtype in (deque, _SaverDeque):
|
||||
return deque(process_item(val) for val in item)
|
||||
|
||||
|
|
@ -555,11 +555,11 @@ def from_pickle(data, db_obj=None):
|
|||
elif dtype == tuple:
|
||||
return tuple(process_item(val) for val in item)
|
||||
elif dtype == dict:
|
||||
return dict((process_item(key), process_item(val)) for key, val in list(item.items()))
|
||||
return dict((process_item(key), process_item(val)) for key, val in item.items())
|
||||
elif dtype == set:
|
||||
return set(process_item(val) for val in item)
|
||||
elif dtype == OrderedDict:
|
||||
return OrderedDict((process_item(key), process_item(val)) for key, val in list(item.items()))
|
||||
return OrderedDict((process_item(key), process_item(val)) for key, val in item.items())
|
||||
elif dtype == deque:
|
||||
return deque(process_item(val) for val in item)
|
||||
elif hasattr(item, '__iter__'):
|
||||
|
|
@ -588,7 +588,7 @@ def from_pickle(data, db_obj=None):
|
|||
elif dtype == dict:
|
||||
dat = _SaverDict(_parent=parent)
|
||||
dat._data.update((process_item(key), process_tree(val, dat))
|
||||
for key, val in list(item.items()))
|
||||
for key, val in item.items())
|
||||
return dat
|
||||
elif dtype == set:
|
||||
dat = _SaverSet(_parent=parent)
|
||||
|
|
@ -597,7 +597,7 @@ def from_pickle(data, db_obj=None):
|
|||
elif dtype == OrderedDict:
|
||||
dat = _SaverOrderedDict(_parent=parent)
|
||||
dat._data.update((process_item(key), process_tree(val, dat))
|
||||
for key, val in list(item.items()))
|
||||
for key, val in item.items())
|
||||
return dat
|
||||
elif dtype == deque:
|
||||
dat = _SaverDeque(_parent=parent)
|
||||
|
|
@ -625,7 +625,7 @@ def from_pickle(data, db_obj=None):
|
|||
elif dtype == dict:
|
||||
dat = _SaverDict(_db_obj=db_obj)
|
||||
dat._data.update((process_item(key), process_tree(val, dat))
|
||||
for key, val in list(data.items()))
|
||||
for key, val in data.items())
|
||||
return dat
|
||||
elif dtype == set:
|
||||
dat = _SaverSet(_db_obj=db_obj)
|
||||
|
|
@ -634,7 +634,7 @@ def from_pickle(data, db_obj=None):
|
|||
elif dtype == OrderedDict:
|
||||
dat = _SaverOrderedDict(_db_obj=db_obj)
|
||||
dat._data.update((process_item(key), process_tree(val, dat))
|
||||
for key, val in list(data.items()))
|
||||
for key, val in data.items())
|
||||
return dat
|
||||
elif dtype == deque:
|
||||
dat = _SaverDeque(_db_obj=db_obj)
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@ def _to_ansi(obj, regexable=False):
|
|||
# escape the |-structure twice.
|
||||
obj = _ANSI_ESCAPE.sub(r"||||", obj)
|
||||
if isinstance(obj, dict):
|
||||
return dict((key, _to_ansi(value, regexable=regexable)) for key, value in list(obj.items()))
|
||||
return dict((key, _to_ansi(value, regexable=regexable)) for key, value in obj.items())
|
||||
elif is_iter(obj):
|
||||
return [_to_ansi(o) for o in obj]
|
||||
else:
|
||||
|
|
@ -196,8 +196,8 @@ class EvForm(object):
|
|||
self.filename = filename
|
||||
self.input_form_dict = form
|
||||
|
||||
self.cells_mapping = dict((to_str(key, force_string=True), value) for key, value in list(cells.items())) if cells else {}
|
||||
self.tables_mapping = dict((to_str(key, force_string=True), value) for key, value in list(tables.items())) if tables else {}
|
||||
self.cells_mapping = dict((to_str(key, force_string=True), value) for key, value in cells.items()) if cells else {}
|
||||
self.tables_mapping = dict((to_str(key, force_string=True), value) for key, value in tables.items()) if tables else {}
|
||||
|
||||
self.cellchar = "x"
|
||||
self.tablechar = "c"
|
||||
|
|
@ -367,8 +367,8 @@ class EvForm(object):
|
|||
kwargs.pop("width", None)
|
||||
kwargs.pop("height", None)
|
||||
|
||||
new_cells = dict((to_str(key, force_string=True), value) for key, value in list(cells.items())) if cells else {}
|
||||
new_tables = dict((to_str(key, force_string=True), value) for key, value in list(tables.items())) if tables else {}
|
||||
new_cells = dict((to_str(key, force_string=True), value) for key, value in cells.items()) if cells else {}
|
||||
new_tables = dict((to_str(key, force_string=True), value) for key, value in tables.items()) if tables else {}
|
||||
|
||||
self.cells_mapping.update(new_cells)
|
||||
self.tables_mapping.update(new_tables)
|
||||
|
|
|
|||
|
|
@ -511,7 +511,7 @@ class EvMenu(object):
|
|||
else:
|
||||
# a python path of a module
|
||||
module = mod_import(menudata)
|
||||
return dict((key, func) for key, func in list(module.__dict__.items())
|
||||
return dict((key, func) for key, func in module.__dict__.items()
|
||||
if isfunction(func) and not key.startswith("_"))
|
||||
|
||||
def _format_node(self, nodetext, optionlist):
|
||||
|
|
|
|||
|
|
@ -328,7 +328,7 @@ class SharedMemoryModel(with_metaclass(SharedMemoryModelBase, Model)):
|
|||
if force:
|
||||
cls.__dbclass__.__instance_cache__ = {}
|
||||
else:
|
||||
cls.__dbclass__.__instance_cache__ = dict((key, obj) for key, obj in list(cls.__dbclass__.__instance_cache__.items())
|
||||
cls.__dbclass__.__instance_cache__ = dict((key, obj) for key, obj in cls.__dbclass__.__instance_cache__.items()
|
||||
if not obj.at_idmapper_flush())
|
||||
#flush_instance_cache = classmethod(flush_instance_cache)
|
||||
|
||||
|
|
|
|||
|
|
@ -288,11 +288,11 @@ def spawn(*prototypes, **kwargs):
|
|||
|
||||
# extract ndb assignments
|
||||
nattributes = dict((key.split("_", 1)[1], value() if callable(value) else value)
|
||||
for key, value in list(prot.items()) if key.startswith("ndb_"))
|
||||
for key, value in prot.items() if key.startswith("ndb_"))
|
||||
|
||||
# the rest are attributes
|
||||
simple_attributes = [(key, value()) if callable(value) else (key, value)
|
||||
for key, value in list(prot.items()) if not key.startswith("ndb_")]
|
||||
for key, value in prot.items() if not key.startswith("ndb_")]
|
||||
attributes = attributes + simple_attributes
|
||||
attributes = [tup for tup in attributes if not tup[0] in _CREATE_OBJECT_KWARGS]
|
||||
|
||||
|
|
|
|||
|
|
@ -1242,7 +1242,7 @@ def variable_from_module(module, variable=None, default=None):
|
|||
result.append(mod.__dict__.get(var, default))
|
||||
else:
|
||||
# get all
|
||||
result = [val for key, val in list(mod.__dict__.items())
|
||||
result = [val for key, val in mod.__dict__.items()
|
||||
if not (key.startswith("_") or ismodule(val))]
|
||||
|
||||
if len(result) == 1:
|
||||
|
|
@ -1612,7 +1612,7 @@ def deepsize(obj, max_depth=4):
|
|||
_recurse(ref, dct, depth + 1)
|
||||
sizedict = {}
|
||||
_recurse(obj, sizedict, 0)
|
||||
size = getsizeof(obj) + sum([p[1] for p in list(sizedict.values())])
|
||||
size = getsizeof(obj) + sum([p[1] for p in sizedict.values()])
|
||||
return size
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue