MCPcopy Create free account
hub / github.com/sqlalchemy/sqlalchemy / _bulk_replace

Method _bulk_replace

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

Source from the content-addressed store, hash-verified

1873 self.add(value)
1874
1875 def _bulk_replace(self, assoc_proxy: Any, values: Iterable[_T]) -> None:
1876 existing = set(self)
1877 constants = existing.intersection(values or ())
1878 additions = set(values or ()).difference(constants)
1879 removals = existing.difference(constants)
1880
1881 appender = self.add
1882 remover = self.remove
1883
1884 for member in values or ():
1885 if member in additions:
1886 appender(member)
1887 elif member in constants:
1888 appender(member)
1889
1890 for member in removals:
1891 remover(member)
1892
1893 def __ior__( # type: ignore
1894 self, other: AbstractSet[_S]

Callers 1

setMethod · 0.45

Calls 2

intersectionMethod · 0.45
differenceMethod · 0.45

Tested by

no test coverage detected