Merge pull request #363 from ncoop/iss357
Create updates backend for dnf
This commit is contained in:
commit
8aeaab7fa5
25
i3pystatus/updates/dnf.py
Normal file
25
i3pystatus/updates/dnf.py
Normal file
@ -0,0 +1,25 @@
|
||||
from i3pystatus.core.command import run_through_shell
|
||||
from i3pystatus.updates import Backend
|
||||
from re import split
|
||||
|
||||
|
||||
class Dnf(Backend):
|
||||
"""
|
||||
Gets update count for RPM-based distributions with dnf.
|
||||
|
||||
https://dnf.readthedocs.org/en/latest/command_ref.html#check-update-command
|
||||
"""
|
||||
|
||||
@property
|
||||
def updates(self):
|
||||
command = ["dnf", "check-update"]
|
||||
dnf = run_through_shell(command)
|
||||
|
||||
update_count = 0
|
||||
if dnf.rc == 100:
|
||||
lines = dnf.out.splitlines()[2:]
|
||||
lines = [l for l in lines if len(split("\s{2,}", l.rstrip())) == 3]
|
||||
update_count = len(lines)
|
||||
return update_count
|
||||
|
||||
Backend = Dnf
|
Loading…
Reference in New Issue
Block a user