From 15843ce6e4d89f6c9d2a4c308465449c50b45d1c Mon Sep 17 00:00:00 2001 From: coderkun Date: Sat, 22 Apr 2017 10:56:24 +0200 Subject: [PATCH] =?UTF-8?q?Check=20AUR=20package=20for=20existence=20and?= =?UTF-8?q?=20add=20=E2=80=9Cdeleted=E2=80=9D=20message?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aur-check.py | 8 +++++++- aur.py | 6 ++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/aur-check.py b/aur-check.py index 05d8823..12c028c 100755 --- a/aur-check.py +++ b/aur-check.py @@ -20,6 +20,7 @@ class Styling: NEEDS_UPDATE = '\x1b[38;2;200;0;0m' FLAGGED = '\x1b[38;2;200;200;0m' NEEDS_DOWNGRADE = '\x1b[38;2;0;0;200m' + DELETED = '\x1b[38;2;200;0;0m' URL = '\x1b[38;2;200;200;200m' @@ -35,6 +36,7 @@ class AURChecker: STATUS_UPTODATE = "uptodate" STATUS_NEEDS_UPDATE = "needs update" STATUS_NEEDS_DOWNGRADE = "needs downgrade" + STATUS_DELETED = "deleted" def check(directory): @@ -49,12 +51,16 @@ class AURChecker: print(Styling.BOLD + "# repository {}".format(database.get_name()) + Styling.ENDC) for package in database.get_packages(): aur_package = AURPackage(package.get_name()) - status = AURChecker.compare(package, aur_package) + if aur_package.exists(): + status = AURChecker.compare(package, aur_package) + else: + status = AURChecker.STATUS_DELETED status_messages = {} status_messages[AURChecker.STATUS_UPTODATE] = Styling.UPTODATE + "up-do-date" + Styling.ENDC status_messages[AURChecker.STATUS_NEEDS_UPDATE] = Styling.NEEDS_UPDATE + "needs update to {}\n".format(aur_package.get_version()) + Styling.URL + " {}{}".format(AURPackage.AUR_URL, aur_package.get_url_path()) + Styling.ENDC status_messages[AURChecker.STATUS_NEEDS_DOWNGRADE] = Styling.NEEDS_DOWNGRADE + "local is newer" + Styling.ENDC + status_messages[AURChecker.STATUS_DELETED] = Styling.DELETED + "deleted" + Styling.ENDC message = " – {} {}: {}".format(package.get_name(), package.get_version(), status_messages[status]) if aur_package.get_out_of_date(): diff --git a/aur.py b/aur.py index c46f4f6..9b6c25d 100644 --- a/aur.py +++ b/aur.py @@ -34,6 +34,7 @@ class AURPackage: self.package_base = None self.out_of_date = None self.last_modified = None + self._exists = False self._load(name) @@ -48,6 +49,7 @@ class AURPackage: if response.status == 200: data = json.loads(response.data.decode('utf-8')) if data['resultcount'] > 0: + self._exists = True values = data['results'] self.version = values['Version'] self.desc = values['Description'] @@ -63,6 +65,10 @@ class AURPackage: print("error:", response.status) + def exists(self): + return self._exists + + def get_name(self): """Get name.""" return self.name