From 934cf599fdbfd5dec9c7ff5797137e1e695fe6da Mon Sep 17 00:00:00 2001 From: Cody Logan Date: Mon, 6 Nov 2023 11:49:53 -0800 Subject: Add equality comparison for File objects --- src/wikiget/file.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/wikiget') diff --git a/src/wikiget/file.py b/src/wikiget/file.py index 0f639d3..8de62ae 100644 --- a/src/wikiget/file.py +++ b/src/wikiget/file.py @@ -15,6 +15,8 @@ # You should have received a copy of the GNU General Public License # along with Wikiget. If not, see . +from typing import Any + from mwclient.image import Image from wikiget import DEFAULT_SITE @@ -43,3 +45,21 @@ class File: self.name = name self.dest = dest if dest else name self.site = site if site else DEFAULT_SITE + + def __eq__(self, other: Any) -> bool: + """ + Compares this File object with another for equality. + + :param other: another File to compare + :type other: File + :return: True if the Files are equal and False otherwise + :rtype: bool + """ + if not isinstance(other, File): + return NotImplemented + return ( + self.image == other.image + and self.name == other.name + and self.dest == other.dest + and self.site == other.site + ) -- cgit v1.2.3