summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDjMelik <melik@archlinux.us>2010-08-23 12:46:09 -0700
committerDjMelik <melik@archlinux.us>2010-08-23 12:46:09 -0700
commit0c9128fff4b69e79b52ec1d2b049558184edca88 (patch)
tree978defab7a70a670e67dd38f629ed52a9339c051
parent2cbf832471d7e43ea51f048ea9f069b01c1dae35 (diff)
added support for Ubuntu
-rw-r--r--archey99
1 files changed, 75 insertions, 24 deletions
diff --git a/archey b/archey
index 468708a..4632134 100644
--- a/archey
+++ b/archey
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# archey [version 0.2.3]
+# archey [version 0.2.4]
#
# Maintained by Melik Manukyan <melik@archlinux.us>
# Distributed under the terms of the GNU General Public License v3.
@@ -9,7 +9,7 @@
# System information tool for Archlinux written in python.
# Import libraries
-import os, sys, subprocess, optparse, re
+import os, sys, subprocess, optparse, re, linecache
from subprocess import Popen, PIPE
from optparse import OptionParser
from getpass import getuser
@@ -17,7 +17,7 @@ from time import ctime, sleep
# Display [Comment/Uncomment to Enable/Disable information.]
display = [
- 'os', # Display Operating System
+ 'distro', # Display Distribution
'hostname', # Display Machine Hostname
'kernel', # Display Kernel Version
'uptime', # Display System Uptime
@@ -36,20 +36,12 @@ result = []
# Options
if __name__=='__main__':
- parser = OptionParser(usage='%prog [-c COLOR] [-s, --screenshot]', description='To customize the info displayed on archey, edit "/usr/bin/archey" directly and look for the display array. Note: Archey can only allow up to 15 fields.', version="%prog 0.2.3")
- parser.add_option('-c',
- action='store', default='blue', type='choice', dest='color', choices=('black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white'), help='choose a color: black, red, green, yellow, blue, magenta, cyan, white [Default: blue]')
+ parser = OptionParser(usage='%prog [-s, --screenshot]', description='Archey is a system information tool written in Python.', version="%prog 0.2.4")
parser.add_option('-s', '--screenshot',
action='store_true', dest='screenshot', help='take a screenshot')
(options, args) = parser.parse_args()
-# Define colors
-colorscheme = '%s' % options.color
-colors = {'black': '0', 'red': '1', 'green': '2', 'yellow': '3', 'blue': '4', 'magenta': '5', 'cyan': '6', 'white': '7'}
-for key in colors.keys():
- if key in colorscheme: colorcode = colors[key]
-color = '\x1b[1;3%sm' % colorcode
-color2 = '\x1b[0;3%sm' % colorcode
+# Clear
clear = '\x1b[0m'
# Define processes for identifying Desktop Environmentss, Window Managers, Shells.
@@ -102,7 +94,11 @@ p1 = None
# Print coloured key with normal value.
def output(key, value):
- output = '%s%s:%s %s' % (color, key, clear, value)
+ if Popen(['grep', '-i', 'ubuntu', '/etc/lsb-release'], stdout=PIPE):
+ ucolor = '\x1b[1;31m'
+ output ='%s%s:%s %s' % (ucolor, key, clear, value)
+ if os.path.exists('/etc/arch-release'):
+ output = '%s%s:%s %s' % (color, key, clear, value)
result.append(output)
# RAM Function
@@ -126,10 +122,15 @@ def screenshot():
subprocess.check_call(['scrot'])
# Operating System Function
-def os_display():
- arch = Popen(['uname', '-m'], stdout=PIPE).communicate()[0].rstrip('\n')
- os = 'Arch Linux %s' % (arch)
- output('OS', os)
+def distro_display():
+ arch = Popen(['uname', '-m'], stdout=PIPE).communicate()[0].rstrip('\n'
+ )
+ urelease = linecache.getline('/etc/lsb-release', 2).rstrip('\n').split('=')[1].title()
+ if Popen(['grep', '-i', 'ubuntu', '/etc/lsb-release'], stdout=PIPE).communicate()[0].rstrip('\n'):
+ distro = 'Ubuntu %s %s' % (urelease, arch)
+ if os.path.exists('/etc/arch-release'):
+ distro = 'Arch Linux %s' % arch
+ output('OS', distro)
# Kernel Function
def kernel_display():
@@ -191,10 +192,17 @@ def term_display():
# Packages Function
def packages_display():
- p1 = Popen(['pacman', '-Q'], stdout=PIPE)
- p2 = Popen(['wc', '-l'], stdin=p1.stdout, stdout=PIPE)
- packages = p2.communicate()[0].rstrip('\n')
- output ('Packages', packages)
+ if Popen(['grep', '-i', 'ubuntu', '/etc/lsb-release'], stdout=PIPE):
+ p1 = Popen(['dpkg', '--get-selections'], stdout=PIPE)
+ p2 = Popen(['grep', '-v', 'deinstall'], stdin=p1.stdout, stdout=PIPE)
+ p3 = Popen(['wc', '-l'], stdin=p2.stdout, stdout=PIPE)
+ packages = p3.communicate()[0].rstrip('\n')
+ output ('Packages', packages)
+ if os.path.exists('/etc/arch-release'):
+ p1 = Popen(['pacman', '-Q'], stdout=PIPE)
+ p2 = Popen(['wc', '-l'], stdin=p1.stdout, stdout=PIPE)
+ packages = p2.communicate()[0].rstrip('\n')
+ output ('Packages', packages)
# File System Function
def fs_display():
@@ -225,7 +233,50 @@ for x in display:
result.extend(['']*(20 - len(display)))
###### Result #######
-print """%s
+
+## Ubuntu
+# Colors
+ucolor = '\x1b[1;33m'
+ucolor2 = '\x1b[1;31m'
+ucolor3 = '\x1b[0;31m'
+
+if Popen(['grep', '-i', 'ubuntu', '/etc/lsb-release'], stdout=PIPE):
+ print """
+%s ++++++ %s
+%s ++++++++ %s
+%s ++++++++++ %s++++++++ %s
+%s ++++++++++++ %s++++++++ %s
+%s ++ %s++++++++++++ %s++++++ %s
+%s +++++ %s++++++++++++ %s**** %s
+%s +++++++ %s+++++++++++++++++++ %s
+%s +++++++++ %s+++++++++++ %s
+%s ++++++++++ %s++++++++++ %s
+%s ++++++++ %s++++++++++ %s
+%s ++++++ %s++++++ %s++++++++++ %s
+%s ++++++++ %s+++++ %s+++++++++ %s
+%s +++++++++ %s++++ %s
+%s ++++++++ %s+++++ %s+++++++++ %s
+%s ++++++ %s++++++ %s++++++++++ %s
+%s ++++++++ %s++++++++++ %s
+%s +++++++++ %s++++++++++ %s
+%s +++++++++ %s++++++++++++ %s
+%s +++++++ %s+++++++++++++++++++
+%s +++++ %s++++++++++++ %s,,,,
+%s ++ %s++++++++++++ %s++++++
+%s ++++++++++++ %s++++++++
+%s ++++++++++ %s++++++++
+%s ++++++++
+%s ++++++
+%s """ % (ucolor3, result[0], ucolor3, result[1], ucolor2, ucolor3, result[2], ucolor2, ucolor3, result[3], ucolor, ucolor2, ucolor3, result[4], ucolor, ucolor2, ucolor3, result[5], ucolor, ucolor2, result[6], ucolor, ucolor2, result[7], ucolor, ucolor2, result[8], ucolor, ucolor2, result[9], ucolor2, ucolor, ucolor2, result[10], ucolor2, ucolor, ucolor2, result[11], ucolor2, ucolor, result[12], ucolor2, ucolor, ucolor3, result[13], ucolor2, ucolor, ucolor3, result[14], ucolor, ucolor3, result[15], ucolor, ucolor3, result[16], ucolor, ucolor3, ucolor, ucolor, ucolor3, ucolor, ucolor3, ucolor, ucolor, ucolor3, ucolor, ucolor3, ucolor, ucolor3, ucolor, ucolor, ucolor, clear)
+
+
+## Arch Linux
+# Colors
+acolor = '\x1b[1;34m'
+acolor2 = '\x1b[0;34m'
+
+if os.path.exists('/etc/arch-release'):
+ print """%s
%s + %s
%s # %s
%s ### %s
@@ -244,7 +295,7 @@ print """%s
%s ;#### ####; %s
%s ##' '## %s
%s #' `# %s
-%s """ % (color, color, result[0], color, result[1], color, result[2], color, result[3], color, result[4], color, result[5], color, result[6], color, result[7], color, color2, color, result[8], color, color2, color, result[9], color, color2, result[10], color2, result[11], color2, result[12], color2, result[13], color2, result[14], color2, result[15], color2, result[16], color2, result[17], clear)
+%s """ % (acolor, acolor, result[0], acolor, result[1], acolor, result[2], acolor, result[3], acolor, result[4], acolor, result[5], acolor, result[6], acolor, result[7], acolor, acolor2, acolor, result[8], acolor, acolor2, acolor, result[9], acolor, acolor2, result[10], acolor2, result[11], acolor2, result[12], acolor2, result[13], acolor2, result[14], acolor2, result[15], acolor2, result[16], acolor2, result[17], clear)
if screen == 'True':
screenshot()