diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-08-07 00:00:00 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-08-07 00:00:00 -0400 |
commit | bccabccc78802cf22c5af31e5a5b45ca307346da (patch) | |
tree | 110649885378acaa19aaf7a02c7b872987e6abcf | |
parent | e2f6dbc3b4cbdef596dd48cac344dbcd652ded3e (diff) | |
parent | 0e5e6044bea81babbc4b72b7c2357d9a734bba86 (diff) |
Merge remote-tracking branch 'parabola/master' into paraboley
-rwxr-xr-x | paraboley | 2 | ||||
-rwxr-xr-x | paraboley.new | 261 |
2 files changed, 1 insertions, 262 deletions
@@ -288,7 +288,7 @@ class ramDisplay(display): def format_output(self, instring): ram = ''.join(line for line in str(instring).split('\n') if\ line.startswith('Mem:')).split() - used = int(ram[2]) - int(ram[5]) - int(ram[6]) + used = int(ram[2]) total = int(ram[1]) title = 'RAM' try: diff --git a/paraboley.new b/paraboley.new deleted file mode 100755 index 30dc17c..0000000 --- a/paraboley.new +++ /dev/null @@ -1,261 +0,0 @@ -#!/usr/bin/env python3 -# -# Parabola-eye is maintain by Aurélien DESBRIÈRES <aurelien@hackers.camp> -# it is a fork inspired from: -# -# Archey [version 0.3.0] -# -# Archey is a simple system information tool written in Python. -# -# Copyright 2010 Melik Manukyan <melik@archlinux.us> -# -# ASCII art by Brett Bohnenkamper <kittykatt@silverirc.com> -# Changes Jerome Launay <jerome@projet-libre.org> -# Fedora support by YeOK <yeok@henpen.org> -# -# Distributed under the terms of the GNU General Public License v3. -# See http://www.gnu.org/licenses/gpl.txt for the full license text. - -# Import libraries -import os, sys, subprocess, optparse, re, linecache -from subprocess import Popen, PIPE -from optparse import OptionParser -from getpass import getuser -from time import ctime, sleep - -#---------------Output---------------# - -output = [ - 'User', - 'Hostname', - 'Distro', - 'Kernel', - 'Uptime', - 'WindowManager', - 'DesktopEnvironment', - 'Shell', - 'Terminal', - 'Packages', - 'CPU', - 'RAM', - 'Disk' - ] - -#---------------Dictionaries---------------# - -colorDict = { - 'Parabola GNU / Linux-libre': ['\x1b[0;34m', '\x1b[1;34m'], - 'Ubuntu': ['\x1b[0;31m', '\x1b[1;31m', '\x1b[0;33m'], - 'Debian': ['\x1b[0;31m', '\x1b[1;31m'], - 'Mint': ['\x1b[0;32m', '\x1b[1;37m'], - 'Crunchbang': ['\x1b[1;37m'], - 'Fedora': ['\x1b[0;34m', '\x1b[1;37m'], - 'Sensors': ['\x1b[0;31m', '\x1b[0;32m', '\x1b[0;33m'], - 'Clear': ['\x1b[0m'] - } - -deDict = { - 'gnome-session': 'GNOME', - 'ksmserver': 'KDE', - 'xfce4-session': 'Xfce', - 'lxsession': 'LXDE' - } - -wmDict = { - 'awesome': 'Awesome', - 'beryl': 'Beryl', - 'blackbox': 'Blackbox', - 'compiz': 'Compiz', - 'dwm': 'DWM', - 'enlightenment': 'Enlightenment', - 'fluxbox': 'Fluxbox', - 'fvwm': 'FVWM', - 'i3': 'i3', - 'icewm': 'IceWM', - 'kwin': 'KWin', - 'metacity': 'Metacity', - 'musca': 'Musca', - 'openbox': 'Openbox', - 'pekwm': 'PekWM', - 'ratpoison': 'ratpoison', - 'scrotwm': 'ScrotWM', - 'wmaker': 'Window Maker', - 'wmfs': 'Wmfs', - 'wmii': 'wmii', - 'xfwm4': 'Xfwm', - 'xmonad': 'xmonad' - } - -logosDict = {'Parabola GNU / Linux-libre': '''{color[1]} -{color[1]} ## ### {results[1]} -{color[1]} ## ## ##### {results[2]} -{color[1]} ## ## ## ####### {results[3]} -{color[1]} # ## ## ## ######## {results[4]} -{color[1]} ### ## ## ## ####### {results[5]} -{color[1]} ##### ## ## ## ####### {results[6]} -{color[1]} ## ## ## ####### {results[7]} -{color[1]} ## ####### {results[8]} -{color[1]} ###### {results[9]} -{color[0]} ###### {results[10]} -{color[0]} ##### {results[11]} -{color[0]} ##### {results[12]} -{color[0]} #### {results[13]} -{color[0]} ### {results[14]} -{color[0]} ### {results[15]} -{color[0]} ## {results[16]} -{color[0]} # {reuslts[17]} -\x1b[0m''' -} - -processes = str(subprocess.check_output(('ps', '-u', getuser(), '-o', 'comm', - '--no-headers')), encoding='utf8').rstrip('\n').split('\n') - -#---------------Classes---------------# - -class Output: - results = [] - results.extend(['']*(13)) - - def __init__(self): - self.distro = self.__detectDistro() - - def __detectDistro(self): - if os.path.exists('/etc/pacman.conf'): - return 'Parabola GNU / Linux-libre' - else: - sys.exit(1) - - def append(self, display): - self.results.append('%s%s: %s%s' % (colorDict[self.distro][1], display.key, colorDict['Clear'][0], display.value)) - - def output(self): - print(logosDict[self.distro].format(color = colorDict[self.distro], results = self.results)) - -class User: - def __init__(self): - self.key = 'User' - self.value = os.getenv('USER') - -class Hostname: - def __init__(self): - hostname = Popen(['uname', '-n'], stdout=PIPE).communicate()[0].decode('Utf-8').rstrip('\n') - self.key = 'Hostname' - self.value = hostname - -class Distro: - def __init__(self): - if os.path.exists('/etc/pacman.conf'): - distro = 'Parabola GNU / Linux-libre' - self.key = 'Distro' - self.value = distro - -class Kernel: - def __init__(self): - kernel = Popen(['uname', '-r'], stdout=PIPE).communicate()[0].decode('Utf-8').rstrip('\n') - self.key = 'Kernel' - self.value = kernel - -class Uptime: - def __init__(self): - fuptime = int(open('/proc/uptime').read().split('.')[0]) - day = int(fuptime / 86400) - fuptime = fuptime % 86400 - hour = int(fuptime / 3600) - fuptime = fuptime % 3600 - minute = int(fuptime / 60) - uptime = '' - if day == 1: - uptime += '%d day, ' % day - if day > 1: - uptime += '%d days, ' % day - uptime += '%d:%02d' % (hour, minute) - self.key = 'Uptime' - self.value = uptime - -class WindowManager: - def __init__(self): - wm = '' - for key in wmDict.keys(): - if key in processes: - wm = wmDict[key] - break - - self.key = 'Window Manager' - self.value = wm - -class DesktopEnvironment: - def __init__(self): - de = '' - for key in deDict.keys(): - if key in processes: - wm = wmDict[key] - break - - self.key = 'Desktop Environment' - self.value = de - -class Shell: - def __init__(self): - self.key = 'Shell' - self.value = os.getenv('SHELL') - -class Terminal: - def __init__(self): - self.key = 'Terminal' - self.value = os.getenv('TERM') - -class Packages: - def __init__(self): - p1 = Popen(['pacman', '-Q'], stdout=PIPE).communicate()[0].decode("Utf-8") - packages = len(p1.rstrip('\n').split('\n')) - self.key = 'Packages' - self.value = packages - -class CPU: - def __init__(self): - file = open('/proc/cpuinfo').readlines() - cpuinfo = re.sub(' +', ' ', file[4].replace('model name\t: ', '').rstrip('\n')) - output ('CPU', cpuinfo) - -class RAM: - def __init__(self): - raminfo = Popen(['free', '-m'], stdout=PIPE).communicate()[0].decode('Utf-8').split('\n') - ram = ''.join(filter(re.compile('M').search, raminfo)).split() - used = int(ram[2]) - int(ram[5]) - int(ram[6]) - usedpercent = ((float(used) / float(ram[1])) * 100) - if usedpercent <= 33: - ramdisplay = '%s%s MB %s/ %s MB' % (colorDict['Sensors'][2], used, colorDict['Clear'][0], ram[1]) - if usedpercent > 33 and usedpercent < 67: - ramdisplay = '%s%s MB %s/ %s MB' % (colorDict['Sensors'][1], used, colorDict['Clear'][0], ram[1]) - if usedpercent >= 67: - ramdisplay = '%s%s MB %s/ %s MB' % (colorDict['Sensors'][0], used, colorDict['Clear'][0], ram[1]) - self.key = 'RAM' - self.value = ramdisplay - -class Disk: - def __init__(self): - p1 = Popen(['df', '-Tlh', '--total', '-t', 'ext4', '-t', 'ext3', '-t', 'ext2', '-t', 'reiserfs', '-t', 'jfs', '-t', 'ntfs', '-t', 'fat32', '-t', 'btrfs', '-t', 'fuseblk'], stdout=PIPE).communicate()[0].decode("Utf-8") - total = p1.splitlines()[-1] - used = total.split()[3] - size = total.split()[2] - usedpercent = float(total.split()[5][:-1]) - - if usedpercent <= 33: - disk = '%s%s %s/ %s' % (colorDict['Sensors'][2], used, colorDict['Clear'][0], size) - if usedpercent > 33 and usedpercent < 67: - disk = '%s%s %s/ %s' % (colorDict['Sensors'][1], used, colorDict['Clear'][0], size) - if usedpercent >= 67: - disk = '%s%s %s/ %s' % (colorDict['Sensors'][0], used, colorDict['Clear'][0], size) - self.key = 'Disk' - self.value = disk - -## TEST ## <<< TEMPORARY -out = Output() -out.append(Shell()) -out.append(Packages()) -out.append(Disk()) -out.append(RAM()) -out.append(Distro()) -out.append(WindowManager()) -#out.append(DesktopEnvirornment()) -out.output() |