mirror of
https://github.com/python/cpython.git
synced 2025-11-03 15:11:34 +00:00
[3.14] gh-136839: Refactor simple dict.update calls (GH-136811) (#136840)
gh-136839: Refactor simple dict.update calls (GH-136811)
Refactor simple dict.update calls
This commit refactors simple `dict.update({key: value})` calls which can
be done via `dict[key] = value` instead.
I found those cases with the [semgrep](https://semgrep.dev/) tool:
```
$ semgrep --lang python --pattern '$DICT.update({$A: ...})'
┌─────────────────┐
│ 5 Code Findings │
└─────────────────┘
Lib/dataclasses.py
1268┆ slots.update({slot: doc})
Lib/multiprocessing/resource_tracker.py
50┆ _CLEANUP_FUNCS.update({
51┆ 'semaphore': _multiprocessing.sem_unlink,
52┆ })
⋮┆----------------------------------------
53┆ _CLEANUP_FUNCS.update({
54┆ 'shared_memory': _posixshmem.shm_unlink,
55┆ })
Lib/tkinter/scrolledtext.py
26┆ kw.update({'yscrollcommand': self.vbar.set})
Lib/xmlrpc/server.py
242┆ self.funcs.update({'system.multicall' : self.system_multicall})
```
(cherry picked from commit 69ea1b3a8f)
Co-authored-by: Disconnect3d <dominik.b.czarnota@gmail.com>
This commit is contained in:
parent
f8af7cb723
commit
4606b4089d
4 changed files with 5 additions and 9 deletions
|
|
@ -1265,7 +1265,7 @@ def _create_slots(defined_fields, inherited_slots, field_names, weakref_slot):
|
||||||
doc = getattr(defined_fields.get(slot), 'doc', None)
|
doc = getattr(defined_fields.get(slot), 'doc', None)
|
||||||
if doc is not None:
|
if doc is not None:
|
||||||
seen_docs = True
|
seen_docs = True
|
||||||
slots.update({slot: doc})
|
slots[slot] = doc
|
||||||
|
|
||||||
# We only return dict if there's at least one doc member,
|
# We only return dict if there's at least one doc member,
|
||||||
# otherwise we return tuple, which is the old default format.
|
# otherwise we return tuple, which is the old default format.
|
||||||
|
|
|
||||||
|
|
@ -47,12 +47,8 @@ def cleanup_noop(name):
|
||||||
# absence of POSIX named semaphores. In that case, no named semaphores were
|
# absence of POSIX named semaphores. In that case, no named semaphores were
|
||||||
# ever opened, so no cleanup would be necessary.
|
# ever opened, so no cleanup would be necessary.
|
||||||
if hasattr(_multiprocessing, 'sem_unlink'):
|
if hasattr(_multiprocessing, 'sem_unlink'):
|
||||||
_CLEANUP_FUNCS.update({
|
_CLEANUP_FUNCS['semaphore'] = _multiprocessing.sem_unlink
|
||||||
'semaphore': _multiprocessing.sem_unlink,
|
_CLEANUP_FUNCS['shared_memory'] = _posixshmem.shm_unlink
|
||||||
})
|
|
||||||
_CLEANUP_FUNCS.update({
|
|
||||||
'shared_memory': _posixshmem.shm_unlink,
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
class ReentrantCallError(RuntimeError):
|
class ReentrantCallError(RuntimeError):
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ def __init__(self, master=None, **kw):
|
||||||
self.vbar = Scrollbar(self.frame)
|
self.vbar = Scrollbar(self.frame)
|
||||||
self.vbar.pack(side=RIGHT, fill=Y)
|
self.vbar.pack(side=RIGHT, fill=Y)
|
||||||
|
|
||||||
kw.update({'yscrollcommand': self.vbar.set})
|
kw['yscrollcommand'] = self.vbar.set
|
||||||
Text.__init__(self, self.frame, **kw)
|
Text.__init__(self, self.frame, **kw)
|
||||||
self.pack(side=LEFT, fill=BOTH, expand=True)
|
self.pack(side=LEFT, fill=BOTH, expand=True)
|
||||||
self.vbar['command'] = self.yview
|
self.vbar['command'] = self.yview
|
||||||
|
|
|
||||||
|
|
@ -239,7 +239,7 @@ def register_multicall_functions(self):
|
||||||
|
|
||||||
see http://www.xmlrpc.com/discuss/msgReader$1208"""
|
see http://www.xmlrpc.com/discuss/msgReader$1208"""
|
||||||
|
|
||||||
self.funcs.update({'system.multicall' : self.system_multicall})
|
self.funcs['system.multicall'] = self.system_multicall
|
||||||
|
|
||||||
def _marshaled_dispatch(self, data, dispatch_method = None, path = None):
|
def _marshaled_dispatch(self, data, dispatch_method = None, path = None):
|
||||||
"""Dispatches an XML-RPC method from marshalled (XML) data.
|
"""Dispatches an XML-RPC method from marshalled (XML) data.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue