Skip to content

Commit a46d555

Browse files
committed
Switch to Python 3 metaclasses
1 parent 5f4bfb1 commit a46d555

File tree

3 files changed

+4
-11
lines changed

3 files changed

+4
-11
lines changed

geoip2/mixins.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,9 @@
44
from typing import Any
55

66

7-
class SimpleEquality(object):
7+
class SimpleEquality(metaclass=ABCMeta):
88
"""Naive __dict__ equality mixin"""
99

10-
__metaclass__ = ABCMeta
11-
1210
def __eq__(self, other: Any) -> bool:
1311
return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
1412

geoip2/models.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -323,11 +323,9 @@ class Enterprise(City):
323323
"""
324324

325325

326-
class SimpleModel(SimpleEquality):
326+
class SimpleModel(SimpleEquality, metaclass=ABCMeta):
327327
"""Provides basic methods for non-location models"""
328328

329-
__metaclass__ = ABCMeta
330-
331329
raw: Dict[str, Union[bool, str, int]]
332330
ip_address: str
333331

geoip2/records.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,19 @@
1515
from geoip2.mixins import SimpleEquality
1616

1717

18-
class Record(SimpleEquality):
18+
class Record(SimpleEquality, metaclass=ABCMeta):
1919
"""All records are subclasses of the abstract class ``Record``."""
2020

21-
__metaclass__ = ABCMeta
22-
2321
def __repr__(self) -> str:
2422
args = ", ".join("%s=%r" % x for x in self.__dict__.items())
2523
return "{module}.{class_name}({data})".format(
2624
module=self.__module__, class_name=self.__class__.__name__, data=args
2725
)
2826

2927

30-
class PlaceRecord(Record):
28+
class PlaceRecord(Record, metaclass=ABCMeta):
3129
"""All records with :py:attr:`names` subclass :py:class:`PlaceRecord`."""
3230

33-
__metaclass__ = ABCMeta
3431
names: Dict[str, str]
3532
_locales: List[str]
3633

0 commit comments

Comments
 (0)