43 lines
1.6 KiB
Python
Executable file
43 lines
1.6 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://github.com/schtobia/argos-httping/blob/master/httping.py</bitbar.abouturl>
|
|
|
|
from aptdaemon import client
|
|
import apt
|
|
import sys
|
|
|
|
__author__ = "Tobias Schmidl"
|
|
__copyright__ = "Copyright 2018, Tobias Schmidl"
|
|
__license__ = "MIT"
|
|
__version__ = "0.0.1"
|
|
__maintainer__ = "Tobias Schmidl"
|
|
|
|
class 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"]
|
|
selected_colors = red_green
|
|
|
|
apt_client = client.AptClient()
|
|
apt_client.update_cache(wait=True)
|
|
cache = apt.Cache()
|
|
cache.open()
|
|
update_list = [pkg for pkg in cache if pkg.is_upgradable]
|
|
if len(update_list) == 0:
|
|
print('<span color="' + Themes.selected_colors[5] + '">apt: ✔</span>\n----\nclean | font = monospace')
|
|
sys.exit(0)
|
|
else:
|
|
print('<span color="' + Themes.selected_colors[2] + '">apt: ✦ pending</span>\n----')
|
|
for pkg in update_list:
|
|
print(pkg.name + ": " + pkg.installed.version + " → " + pkg.candidate.version + " | font = monospace")
|
|
|