summaryrefslogtreecommitdiff
path: root/rapid/utilities.py
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2018-01-04 08:57:25 +0100
committerJörg Frings-Fürst <debian@jff-webhosting.net>2018-01-04 08:57:25 +0100
commit8ce494b17065c724187dd3f9faec1e419496f871 (patch)
treefa0c7fb1296f30bfd0cdc241c7556cec8d1e8ba1 /rapid/utilities.py
parent18afe3e2ebdb10bbc542d79280344d9adf923d2f (diff)
parenteba0a9bd6f142cdb299cc070060723d00e81205f (diff)
Merge branch 'feature/upstream' into develop
Diffstat (limited to 'rapid/utilities.py')
-rw-r--r--rapid/utilities.py152
1 files changed, 0 insertions, 152 deletions
diff --git a/rapid/utilities.py b/rapid/utilities.py
deleted file mode 100644
index f0f0569..0000000
--- a/rapid/utilities.py
+++ /dev/null
@@ -1,152 +0,0 @@
-#!/usr/bin/python
-# -*- coding: latin1 -*-
-
-### Copyright (C) 2007-2012 Damon Lynch <damonlynch@gmail.com>
-
-### This program is free software; you can redistribute it and/or modify
-### it under the terms of the GNU General Public License as published by
-### the Free Software Foundation; either version 2 of the License, or
-### (at your option) any later version.
-
-### This program is distributed in the hope that it will be useful,
-### but WITHOUT ANY WARRANTY; without even the implied warranty of
-### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-### GNU General Public License for more details.
-
-### You should have received a copy of the GNU General Public License
-### along with this program; if not, write to the Free Software
-### Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
-### USA
-
-import os
-import gio
-import gtk
-from PIL import Image
-import distutils.version
-
-def get_full_path(path):
- """ make path relative to home directory if not an absolute path """
- if os.path.isabs(path):
- return path
- else:
- return os.path.join(os.path.expanduser('~'), path)
-
-def is_directory(path):
-
- # for some very strange reason, doing it the GIO way fails with
- # unknown type, even for directories!
- return os.path.isdir(path)
-
- if False:
- d = gio.File(path)
- if d.query_exists():
- file_info = d.query_filesystem_info(attributes="standard::type")
- file_type = file_info.get_file_type()
- if file_type == gio.FILE_TYPE_DIRECTORY:
- return True
-
- return False
-
-def format_size_for_user(bytes, zero_string="", with_decimals=True, kb_only=False):
- """Format an int containing the number of bytes into a string suitable for
- printing out to the user. zero_string is the string to use if bytes == 0.
- source: https://develop.participatoryculture.org/trac/democracy/browser/trunk/tv/portable/util.py?rev=3993
-
- """
- if bytes > (1 << 30) and not kb_only:
- value = (bytes / (1024.0 * 1024.0 * 1024.0))
- if with_decimals:
- format = "%1.1fGB"
- else:
- format = "%dGB"
- elif bytes > (1 << 20) and not kb_only:
- value = (bytes / (1024.0 * 1024.0))
- if with_decimals:
- format = "%1.1fMB"
- else:
- format = "%dMB"
- elif bytes > (1 << 10):
- value = (bytes / 1024.0)
- if with_decimals:
- format = "%1.1fKB"
- else:
- format = "%dKB"
- elif bytes > 1:
- value = bytes
- if with_decimals:
- format = "%1.1fB"
- else:
- format = "%dB"
- else:
- return zero_string
- return format % value
-
-def register_iconsets(icon_info):
- """
- Register icons in the icon set if they're not already used
-
- From http://faq.pygtk.org/index.py?req=show&file=faq08.012.htp
- """
-
- icon_factory = gtk.IconFactory()
- stock_ids = gtk.stock_list_ids()
- for stock_id, file in icon_info:
- # only load image files when our stock_id is not present
- if stock_id not in stock_ids:
- pixbuf = gtk.gdk.pixbuf_new_from_file(file)
- iconset = gtk.IconSet(pixbuf)
- icon_factory.add(stock_id, iconset)
- icon_factory.add_default()
-
-def escape(s):
- """
- Replace special characters by SGML entities.
- """
- entities = ("&&amp;", "<&lt;", ">&gt;")
- for e in entities:
- s = s.replace(e[0], e[1:])
- return s
-
-def image_to_pixbuf(image):
- # convert PIL image to pixbuf
- # this one handles transparency, unlike the default example in the pygtk FAQ
- # this is also from the pygtk FAQ
- IS_RGBA = image.mode=='RGBA'
- return gtk.gdk.pixbuf_new_from_data(
- image.tobytes(), # data
- gtk.gdk.COLORSPACE_RGB, # color mode
- IS_RGBA, # has alpha
- 8, # bits
- image.size[0], # width
- image.size[1], # height
- (IS_RGBA and 4 or 3) * image.size[0] # rowstride
- )
-
-def pixbuf_to_image(pb):
- assert(pb.get_colorspace() == gtk.gdk.COLORSPACE_RGB)
- dimensions = pb.get_width(), pb.get_height()
- stride = pb.get_rowstride()
- pixels = pb.get_pixels()
-
- mode = pb.get_has_alpha() and "RGBA" or "RGB"
- image = Image.frombuffer(mode, dimensions, pixels,
- "raw", mode, stride, 1)
-
- if mode == "RGB":
- # convert to having an alpha value, so that the image can
- # act as a mask in the drop shadow paste
- image = image.convert("RGBA")
-
- return image
-
-def pythonify_version(v):
- """ makes version number a version number in distutils sense"""
- return distutils.version.StrictVersion(v.replace( '~',''))
-
-def human_readable_version(v):
- """ returns a version in human readable form"""
- v = v.replace('~a', ' alpha ')
- v = v.replace('~b', ' beta ')
- v = v.replace('~rc', ' RC ')
- return v
-