X-Git-Url: https://git.camperquake.de/gitweb.cgi?p=time-slider.git;a=blobdiff_plain;f=usr%2Fshare%2Ftime-slider%2Flib%2Ftime_slider%2Futil.py~;fp=usr%2Fshare%2Ftime-slider%2Flib%2Ftime_slider%2Futil.py~;h=0000000000000000000000000000000000000000;hp=e48326ca2d0d3cc55408851ce016b49a0402dad1;hb=1af5ab1ed1c0a7bade946f5e257d6512cc846c27;hpb=d021224696e8524cab857c27370e33aeaf024130 diff --git a/usr/share/time-slider/lib/time_slider/util.py~ b/usr/share/time-slider/lib/time_slider/util.py~ deleted file mode 100644 index e48326c..0000000 --- a/usr/share/time-slider/lib/time_slider/util.py~ +++ /dev/null @@ -1,134 +0,0 @@ -#!/usr/bin/python2.6 -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# - -import os -import subprocess -import sys -import syslog -import statvfs -import math -import gio - -def run_command(command, raise_on_try=True): - """ - Wrapper function around subprocess.Popen - Returns a tuple of standard out and stander error. - Throws a RunTimeError if the command failed to execute or - if the command returns a non-zero exit status. - """ - try: - p = subprocess.Popen(command, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - close_fds=True) - outdata,errdata = p.communicate() - err = p.wait() - except OSError, message: - raise RuntimeError, "%s subprocess error:\n %s" % \ - (command, str(message)) - if err != 0 and raise_on_try: - raise RuntimeError, '%s failed with exit code %d\n%s' % \ - (str(command), err, errdata) - return outdata,errdata - -def debug(message, verbose): - """ - Prints message out to standard error and syslog if - verbose = True. - Note that the caller needs to first establish a syslog - context using syslog.openlog() - """ - if verbose: - syslog.syslog(syslog.LOG_NOTICE, message + '\n') - sys.stderr.write(message + '\n') - -def log_error(loglevel, message): - """ - Trivial syslog wrapper that also outputs to stderr - Requires caller to have first opened a syslog session - using syslog.openlog() - """ - syslog.syslog(loglevel, message + '\n') - sys.stderr.write(message + '\n') - -def get_filesystem_capacity(path): - """Returns filesystem space usage of path as an integer percentage of - the entire capacity of path. - """ - if not os.path.exists(path): - raise ValueError("%s is a non-existent path" % path) - f = os.statvfs(path) - - unavailBlocks = f[statvfs.F_BLOCKS] - f[statvfs.F_BAVAIL] - capacity = int(math.ceil(100 * (unavailBlocks / float(f[statvfs.F_BLOCKS])))) - - return capacity - -def get_available_size(path): - """Returns the available space in bytes under path""" - if not os.path.exists(path): - raise ValueError("%s is a non-existent path" % path) - f = os.statvfs(path) - free = long(f[statvfs.F_BAVAIL] * f[statvfs.F_FRSIZE]) - - return free - -def get_used_size(path): - """Returns the used space in bytes of fileystem associated - with path""" - if not os.path.exists(path): - raise ValueError("%s is a non-existent path" % path) - f = os.statvfs(path) - - unavailBlocks = f[statvfs.F_BLOCKS] - f[statvfs.F_BAVAIL] - used = long(unavailBlocks * f[statvfs.F_FRSIZE]) - - return used - -def get_total_size(path): - """Returns the total storage space in bytes of fileystem - associated with path""" - if not os.path.exists(path): - raise ValueError("%s is a non-existent path" % path) - f = os.statvfs(path) - total = long(f[statvfs.F_BLOCKS] * f[statvfs.F_FRSIZE]) - - return total - -def path_to_volume(path): - """ - Tries to map a given path name to a gio Volume and - returns the gio.Volume object the enclosing - volume. - If it fails to find an enclosing volume it returns - None - """ - gFile = gio.File(path) - try: - mount = gFile.find_enclosing_mount() - except gio.Error: - return None - else: - if mount != None: - volume = mount.get_volume() - return volume - return None