From: Michael Tremer Date: Tue, 21 Jun 2022 09:57:18 +0000 (+0000) Subject: Correct implemenation for sorting everything X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=99ba00790aa89d2d8b405f87c7f916e8f69162c9;p=pbs.git Correct implemenation for sorting everything Signed-off-by: Michael Tremer --- diff --git a/src/buildservice/builds.py b/src/buildservice/builds.py index 531690dc..e2906fd3 100644 --- a/src/buildservice/builds.py +++ b/src/buildservice/builds.py @@ -345,14 +345,12 @@ class Build(base.DataObject): def __repr__(self): return "<%s id=%s %s>" % (self.__class__.__name__, self.id, self.pkg) - def __eq__(self, other): - if isinstance(other, self.__class__): - return self.id == other.id - def __lt__(self, other): if isinstance(other, self.__class__): return self.pkg < other.pkg + return NotImplemented + def __iter__(self): jobs = self.backend.jobs._get_jobs("SELECT * FROM jobs \ WHERE build_id = %s", self.id) diff --git a/src/buildservice/jobs.py b/src/buildservice/jobs.py index 6b8cb813..6f254ece 100644 --- a/src/buildservice/jobs.py +++ b/src/buildservice/jobs.py @@ -96,12 +96,6 @@ class Job(base.DataObject): def __str__(self): return self.name - def __eq__(self, other): - if isinstance(other, self.__class__): - return self.id == other.id - - return NotImplemented - def __lt__(self, other): if isinstance(other, self.__class__): if not self.test and other.test: diff --git a/src/buildservice/mirrors.py b/src/buildservice/mirrors.py index 45c8ea7b..40579aab 100644 --- a/src/buildservice/mirrors.py +++ b/src/buildservice/mirrors.py @@ -125,9 +125,11 @@ class Mirrors(base.Object): class Mirror(base.DataObject): table = "mirrors" - def __eq__(self, other): + def __lt__(self, other): if isinstance(other, self.__class__): - return self.id == other.id + return self.hostname < other.hostname + + return NotImplemented def log(self, action, user=None): user_id = None diff --git a/src/buildservice/packages.py b/src/buildservice/packages.py index ff287852..7c5c5b5e 100644 --- a/src/buildservice/packages.py +++ b/src/buildservice/packages.py @@ -167,14 +167,12 @@ class Package(base.DataObject): def __str__(self): return self.friendly_name - def __eq__(self, other): - if isinstance(other, self.__class__): - return self.id == other.id - def __lt__(self, other): if isinstance(other, self.__class__): return pakfire.util.version_compare(self.backend, self.friendly_name, other.friendly_name) < 0 + return NotImplemented + def delete(self): self.backend.delete_file(os.path.join(PACKAGES_DIR, self.path)) diff --git a/src/buildservice/repository.py b/src/buildservice/repository.py index 858d750b..868e6137 100644 --- a/src/buildservice/repository.py +++ b/src/buildservice/repository.py @@ -87,14 +87,12 @@ class Repositories(base.Object): class Repository(base.DataObject): table = "repositories" - def __eq__(self, other): - if isinstance(other, self.__class__): - return self.id == other.id - def __lt__(self, other): if isinstance(other, self.__class__): return self.parent_id == other.id + return NotImplemented + def __iter__(self): builds = self.backend.builds._get_builds("SELECT builds.* FROM repositories_builds \ LEFT JOIN builds ON repositories_builds.build_id = builds.id \ diff --git a/src/buildservice/sessions.py b/src/buildservice/sessions.py index 46f17d16..0b87ae69 100644 --- a/src/buildservice/sessions.py +++ b/src/buildservice/sessions.py @@ -51,14 +51,12 @@ class Sessions(base.Object): class Session(base.DataObject): table = "sessions" - def __eq__(self, other): - if isinstance(other, self.__class__): - return self.id == other.id - def __lt__(self, other): if isinstance(other, self.__class__): return self.user < other.user + return NotImplemented + def destroy(self): self.db.execute("DELETE FROM sessions WHERE id = %s", self.id) diff --git a/src/buildservice/sources.py b/src/buildservice/sources.py index 2dacb8ab..b827dc16 100644 --- a/src/buildservice/sources.py +++ b/src/buildservice/sources.py @@ -338,9 +338,6 @@ class Commit(base.DataObject): class Source(base.DataObject): table = "sources" - def __eq__(self, other): - return self.id == other.id - def __len__(self): ret = self.db.get("SELECT COUNT(*) AS len FROM sources_commits \ WHERE source_id = %s", self.id) diff --git a/src/buildservice/users.py b/src/buildservice/users.py index 2bcb495e..63a603d0 100644 --- a/src/buildservice/users.py +++ b/src/buildservice/users.py @@ -186,12 +186,6 @@ class User(base.DataObject): def __hash__(self): return hash(self.id) - def __eq__(self, other): - if isinstance(other, self.__class__): - return self.id == other.id - - return NotImplemented - def __lt__(self, other): if isinstance(other, self.__class__): return self.name < other.name