diff options
| author | Tom Ritchford <tom@swirly.com> | 2021-12-05 13:27:45 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2021-12-06 16:57:02 -0500 |
| commit | 924cc31975f8874d369db6599575e361bdb34be9 (patch) | |
| tree | 210f4f3ed66439bea14a767acfd436cc49ac665f /lib/sqlalchemy/engine | |
| parent | 995fb577a64061a9cbab62b481c65a4c4d3e5a67 (diff) | |
| download | sqlalchemy-924cc31975f8874d369db6599575e361bdb34be9.tar.gz | |
Add __copy__, __deepcopy__ to URL. Fixes: #7400
Added support for ``copy()`` and ``deepcopy()`` to the :class:`_url.URL`
class. Pull request courtesy Tom Ritchford.
Fixes: #7400
Closes: #7401
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/7401
Pull-request-sha: a2c1b8992f5d153c6210178cda47b8ae96b91fb5
Change-Id: I55977338b2655a7d4f733ae786d31e589185e9ca
Diffstat (limited to 'lib/sqlalchemy/engine')
| -rw-r--r-- | lib/sqlalchemy/engine/url.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/sqlalchemy/engine/url.py b/lib/sqlalchemy/engine/url.py index 7cdf25c21..778d2112f 100644 --- a/lib/sqlalchemy/engine/url.py +++ b/lib/sqlalchemy/engine/url.py @@ -560,6 +560,22 @@ class URL( def __repr__(self): return self.render_as_string() + def __copy__(self): + return self.__class__.create( + self.drivername, + self.username, + self.password, + self.host, + self.port, + self.database, + # note this is an immutabledict of str-> str / tuple of str, + # also fully immutable. does not require deepcopy + self.query, + ) + + def __deepcopy__(self, memo): + return self.__copy__() + def __hash__(self): return hash(str(self)) |
