Alir3z4 / python-currencies

Display money format and its filthy currencies, for all money lovers out there.
http://pypi.python.org/pypi/currencies
GNU General Public License v3.0
72 stars 13 forks source link

Make Currencies comparable #16

Open CGaul opened 1 year ago

CGaul commented 1 year ago

Hi there! Out of curiosity, was there any decision behind not implementing the __eq__ method inside the Currency class?

In my - maybe naive - understanding, it would make sense to be able to compare Currency objects like so: Currency('USD') == Currency('USD') which as of now returns False, as the object's pointers are compared, not the values.

My workaround for this is as follows (python 3.10 code, for python < 3.10 the __ne__ method also needs to be implemented)

class ComparableCurrency(Currency):
    def __eq__(self, other):
        return isinstance(other, Currency) and self.get_money_currency() == other.get_money_currency()

If for any reason, it doesn't make sense to compare two Currencies with each other, or the implementation on currency.get_money_currency() is too simple, I would really like to undestand the problems with that.