argos-apt/argos-apt.py
2021-12-17 08:30:55 +01:00

51 lines
1.8 KiB
Python
Executable file

#! /usr/bin/env python3
# -*- coding: utf-8 -*-
"""Get apt updates for `argos <https://github.com/p-e-w/argos>`."""
# <bitbar.title>apt</bitbar.title>
# <bitbar.version>v1.0</bitbar.version>
# <bitbar.author>Tobias Schmidl</bitbar.author>
# <bitbar.author.github>schtobia</bitbar.author.github>
# <bitbar.desc>Greps and displays system updates.</bitbar.desc>
# <bitbar.image></bitbar.image>
# <bitbar.dependencies>python,aptdaemon,apt</bitbar.dependencies>
# <bitbar.abouturl>https://gitlab.com/schtobia/argos-apt/blob/master/argos-apt.py</bitbar.abouturl>
import sys
from apt import Cache
__author__ = "Tobias Schmidl"
__copyright__ = "Copyright 2021, Tobias Schmidl"
__license__ = "MIT"
__version__ = "1.0"
__maintainer__ = "Tobias Schmidl"
THEMES = {
# Themes are from http://colorbrewer2.org/
"purple_green": ["#762a83", "#9970ab", "#c2a5cf", "#a6dba0", "#5aae61", "#1b7837"],
"red_green": ["#d73027", "#fc8d59", "#fee08b", "#d9ef8b", "#91cf60", "#1a9850"],
"original": ["#acacac", "#ff0101", "#cc673b", "#ce8458", "#6bbb15", "#0ed812"]
}
CURRENT_THEME = THEMES["red_green"]
if __name__ == "__main__":
try:
from aptdaemon import client
apt_client = client.AptClient()
apt_client.update_cache(wait=True)
except ImportError as err:
# print(str(err), file=sys.stderr)
pass
cache = Cache()
cache.open()
update_list = [pkg for pkg in cache if pkg.is_upgradable]
if len(update_list) == 0:
print('<span color="' + CURRENT_THEME[5] + '">apt: ✔</span>\n----\nclean | font = monospace')
sys.exit(0)
else:
print('<span color="' + CURRENT_THEME[2] + '">apt: ✦ pending</span>\n----')
for pkg in update_list:
print(pkg.name + ": " + pkg.installed.version + "" + pkg.candidate.version + " | font = monospace")