diff options
| author | Cody Logan <cody@lokken.dev> | 2023-11-06 11:49:53 -0800 |
|---|---|---|
| committer | Cody Logan <cody@lokken.dev> | 2023-11-06 11:49:53 -0800 |
| commit | 934cf599fdbfd5dec9c7ff5797137e1e695fe6da (patch) | |
| tree | 6aa77d1e916696c612616278391b338a5a2ec72e /src | |
| parent | 831fb088d6f902bf5da52a4da7f2d5d731d9f72e (diff) | |
| download | wikiget-934cf599fdbfd5dec9c7ff5797137e1e695fe6da.tar.gz wikiget-934cf599fdbfd5dec9c7ff5797137e1e695fe6da.zip | |
Add equality comparison for File objects
Diffstat (limited to 'src')
| -rw-r--r-- | src/wikiget/file.py | 20 |
1 files changed, 20 insertions, 0 deletions
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 <https://www.gnu.org/licenses/>. +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 + ) |
