MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / _bulk_replace

Method _bulk_replace

lib/sqlalchemy/ext/associationproxy.py:1912–1928  ·  view source on GitHub ↗
(self, assoc_proxy: Any, values: Iterable[_T])

Source from the content-addressed store, hash-verified

1910 self.add(value)
1911
1912 def _bulk_replace(self, assoc_proxy: Any, values: Iterable[_T]) -> None:
1913 existing = set(self)
1914 constants = existing.intersection(values or ())
1915 additions = set(values or ()).difference(constants)
1916 removals = existing.difference(constants)
1917
1918 appender = self.add
1919 remover = self.remove
1920
1921 for member in values or ():
1922 if member in additions:
1923 appender(member)
1924 elif member in constants:
1925 appender(member)
1926
1927 for member in removals:
1928 remover(member)
1929
1930 def __ior__( # type: ignore
1931 self, other: AbstractSet[_S]

Callers 1

setMethod · 0.45

Calls 2

intersectionMethod · 0.45
differenceMethod · 0.45

Tested by

no test coverage detected