ports/sysutils/pydf/files/patch-pydf
Romain Tartière c7479bd663 - Update to 9;
- Update MAINTAINER address.

PR:		ports/151271
Submitted by:	Baptiste Grenier <gwarf@gwarf.org> (maintainer)
2010-10-07 08:25:44 +00:00

117 lines
3.9 KiB
Text

--- pydf.old 2010-10-05 23:50:06.000000000 +0200
+++ pydf 2010-10-06 00:28:36.000000000 +0200
@@ -1,6 +1,6 @@
-#! /usr/bin/python
+#! %%PYTHON_CMD%%
-import sys, os, string, subprocess, struct
+import sys, os, string, struct
from optparse import OptionParser
from math import log
@@ -10,6 +10,14 @@
# will not give the same result for broken symbolic links, but who cares...
os.path.lexists = os.path.exists
+if sys.version_info < (3, 0):
+ # getoutput() and getstatusoutput() methods have
+ # been moved from commands to the subprocess module
+ # with Python >= 3.x
+ import commands as cmd
+else:
+ import subprocess as cmd
+
str_ljust = str.ljust
str_rjust = str.rjust
str_center = str.center
@@ -61,7 +69,7 @@
def get_terminal_width_resize():
- c = subprocess.getoutput('resize').split('\n')
+ c = cmd.getoutput('resize').split('\n')
c = [x for x in c if x.startswith('COLUMNS=')]
if c:
c = c[0]
@@ -167,7 +175,7 @@
#end of default definitions
# read configuration file
-for conffile in ["/etc/pydfrc", os.environ['HOME']+"/.pydfrc"]:
+for conffile in ["%%PREFIX%/etc/pydfrc", os.environ['HOME']+"/.pydfrc"]:
if os.path.isfile(conffile):
exec(compile(open(conffile).read(), conffile, 'exec'))
@@ -290,7 +298,7 @@
break
else:
# fallback, first try to parse mount output
- status, mout = subprocess.getstatusoutput('mount')
+ status, mout = cmd.getstatusoutput('mount')
if status !=0:
return dummy_result
mlines = mout.split('\n')
@@ -300,11 +308,16 @@
continue
device, on = line.split(' on ', 1)
device = device.split()[0]
- onparts = on.split()
+ onparts = on.rstrip(")").split(" (")
on = onparts[0]
- # option format: (a,b,..)
- opts = onparts[-1][1:-1].split(',')
- r[on] = (device, '', opts)
+ l = onparts[1].split(", ")
+ if len(l) == 2:
+ typ, opts = l
+ else:
+ typ = l[0]
+ opts = ''
+ opts = opts.split(", ")
+ r[on] = (device, typ, opts)
if r:
return r
@@ -334,7 +347,11 @@
def get_row_mp(mp):
if mp:
if mp in mountpoints:
- device, fstype, opts = mountpoints[mp]
+ if len(mountpoints[mp]) == 2:
+ device, fstype = mountpoints[mp]
+ opts = ''
+ else:
+ device, fstype, opts = mountpoints[mp]
else:
# oops, the mountpoint is not in /etc/mtab or equivalent
# return dummy values
@@ -346,9 +363,9 @@
status = os.statvfs(mp)
except (OSError, IOError):
status = DumbStatus()
- fs_blocksize = status.f_bsize
+ fs_blocksize = status.f_frsize
if fs_blocksize == 0:
- fs_blocksize = status.f_frsize
+ fs_blocksize = status.f_bsize
free = status.f_bfree
size = status.f_blocks
avail = status.f_bavail
@@ -377,7 +394,7 @@
used_f = myformat(used, sizeformat, fs_blocksize)
avail_f = myformat(avail, sizeformat, fs_blocksize)
try:
- perc = round(100.*used/size, 1)
+ perc = round(100.*used/(avail+used), 1)
perc_f = str(perc)
except ZeroDivisionError:
perc = 0
@@ -446,7 +463,7 @@
"test if fs (as type) is a special one"
"in addition, a filesystem is special if it has number of blocks equal to 0"
fs = fs.lower()
- return fs in [ "tmpfs", "devpts", "proc", "sysfs", "usbfs" ]
+ return fs in [ "tmpfs", "devpts", "proc", "sysfs", "usbfs", "procfs", "devfs", "linprocfs", "fdescfs" ]
def get_table(mps):
"table is a list of rows"