Merged in oblogout-distutils r58-r68.

This commit is contained in:
2009-01-29 22:25:53 +00:00
parent a9aaa278dc
commit 5209135f87
50 changed files with 104 additions and 152 deletions

View File

@@ -6,3 +6,4 @@ debian/oblogout
debian/*.log
debian/oblogout.*
debian/files
python-build-stamp-2.5

View File

@@ -28,7 +28,7 @@ import sys
import getopt
import logging
import logging.handlers
from openboxlogout import openboxlogout
from oblogout import oblogout
class Usage(Exception):
def __init__(self, msg):
@@ -37,19 +37,21 @@ class Usage(Exception):
def main(argv = None):
# Start logger instace used by the OpenboxLogout class
logger = logging.getLogger('OpenboxLogout')
logger = logging.getLogger('oblogout')
logout = logging.StreamHandler(sys.stdout)
logout.setFormatter(logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s"))
logger.addHandler(logout)
verbose = None
config = None
local_mode = None
if argv is None:
argv = sys.argv
try:
try:
opts, args = getopt.getopt(argv[1:], "hvc:", ["help", "verbose", "config="])
opts, args = getopt.getopt(argv[1:], "hvc:l", ["help", "verbose", "config=", "local"])
except getopt.error, msg:
raise Usage(msg)
# more code, unchanged
@@ -66,10 +68,15 @@ def main(argv = None):
verbose = True
elif o in ("-c", "--config"):
config = a
elif o in ("-l", "--local"):
local_mode = True
if not config:
config = '/etc/openbox-logout.conf'
if not local_mode:
config = '/etc/oblogout.conf'
else:
config = 'data/oblogout.conf'
# Check config in local path, if it exists pass it on
if not os.path.exists(config):
logger.error("Invalid config file: %s" % config)
@@ -82,7 +89,7 @@ def main(argv = None):
logger.setLevel(logging.INFO)
# Start the application
app = openboxlogout.OpenboxLogout(config)
app = oblogout.OpenboxLogout(config, local_mode)
app.run_logout()
return 0

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 813 B

After

Width:  |  Height:  |  Size: 813 B

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

View File

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

2
debian/control vendored
View File

@@ -2,7 +2,7 @@ Source: oblogout
Section: misc
Priority: extra
Maintainer: Andrew Williams <andy@tensixtyone.com>
Build-Depends: cdbs, debhelper (>= 7), python-central (>= 0.5.6)
Build-Depends: cdbs, debhelper (>= 7), python-central (>= 0.5.6), python-distutils-extra
XS-Python-Version: >= 2.5
Standards-Version: 3.7.3
Homepage: http://launchpad.net/oblogout/

3
oblogout-dev.sh Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
OBLOGOUT_PATH=`dirname $0`
PYTHONPATH="$PYTHONPATH:$OBLOGOUT_PATH" python $OBLOGOUT_PATH/data/oblogout -l $*

View File

@@ -56,11 +56,20 @@ except:
sys.exit()
class OpenboxLogout():
def __init__(self, config=None):
def __init__(self, config=None, local=None):
if local:
self.local_mode = True
else:
self.local_mode = False
# Start logger and gettext/i18n
self.logger = logging.getLogger('OpenboxLogout')
gettext.install('oblogout', '%s/locale' % self.determine_path(), unicode=1)
self.logger = logging.getLogger('oblogout')
if self.local_mode:
gettext.install('oblogout', 'mo', unicode=1)
else:
gettext.install('oblogout', '%s/share/locale' % sys.prefix, unicode=1)
# Start dbus interface
bus = dbus.SystemBus()
@@ -151,9 +160,7 @@ class OpenboxLogout():
self.window.set_app_paintable(True)
self.window.resize(gtk.gdk.screen_width(), gtk.gdk.screen_height())
self.window.realize()
print self.buttonpanel.get_allocation().width
if pixmap:
self.window.window.set_back_pixmap(pixmap, False)
self.window.move(0,0)
@@ -174,7 +181,10 @@ class OpenboxLogout():
""" Load the configuration file and parse entries, when encountering a issue
change safe defaults """
self.img_path = "%s/themes" % self.determine_path()
if self.local_mode:
self.img_path = "data/themes"
else:
self.img_path = "%s/share/themes" % sys.prefix
self.parser = ConfigParser.SafeConfigParser()
self.parser.read(config)
@@ -213,9 +223,9 @@ class OpenboxLogout():
self.img_path = "%s/.themes/%s/oblogout" % (os.environ['HOME'], self.button_theme)
self.logger.info("Using user theme at %s" % self.img_path)
else:
if not os.path.exists('%s/%s/' % (self.img_path, self.button_theme)):
if not os.path.exists('%s/%s/oblogout/' % (self.img_path, self.button_theme)):
self.logger.warning("Button theme %s not found, reverting to default" % self.button_theme)
self.button_theme = 'default'
self.button_theme = 'foom'
# Load and parse button list
@@ -305,7 +315,7 @@ class OpenboxLogout():
box = gtk.VBox()
image = gtk.Image()
image.set_from_file("%s/%s/%s.png" % (self.img_path, self.button_theme, name))
image.set_from_file("%s/%s/oblogout/%s.png" % (self.img_path, self.button_theme, name))
image.show()
button = gtk.Button()

View File

@@ -1 +0,0 @@
openboxlogout.py

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

2
po/POTFILES.in Normal file
View File

@@ -0,0 +1,2 @@
oblogout/oblogout.py
data/oblogout

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-17 23:39+0000\n"
"POT-Creation-Date: 2009-01-28 18:30+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,77 +16,72 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: openboxlogout.py:209
#, python-format
msgid "Button %s is not a valid button name, removing"
#: ../oblogout/oblogout.py:88
msgid "Openbox Logout"
msgstr ""
#: openboxlogout.py:218
msgid "Can't Hibernate, disabling button"
#: ../oblogout/oblogout.py:178
msgid "Unable to determin the module path, exiting..."
msgstr ""
#: openboxlogout.py:222
msgid "Can't Safe Suspend, disabling button"
msgstr ""
#: openboxlogout.py:214
msgid "Can't Suspend, disabling button"
msgstr ""
#: openboxlogout.py:187
#: ../oblogout/oblogout.py:213
#, python-format
msgid "Color %s is not a valid color, defaulting to black"
msgstr ""
#: openboxlogout.py:226
msgid "No valid buttons found, resetting to defaults"
msgstr ""
#: openboxlogout.py:54
msgid "Openbox Logout"
msgstr ""
#: openboxlogout.py:142
msgid "Unable to determin the module path, exiting..."
msgstr ""
#: openboxlogout.py:154
#, python-format
msgid "Unable to find config file %s"
msgstr ""
#: openboxlogout.py:192
#: ../oblogout/oblogout.py:235
msgid "cancel"
msgstr ""
#: openboxlogout.py:192
msgid "hibernate"
msgstr ""
#: openboxlogout.py:192
msgid "lock"
msgstr ""
#: openboxlogout.py:192
#: ../oblogout/oblogout.py:235
msgid "logout"
msgstr ""
#: openboxlogout.py:192
#: ../oblogout/oblogout.py:235
msgid "restart"
msgstr ""
#: openboxlogout.py:192
msgid "safesuspend"
msgstr ""
#: openboxlogout.py:192
#: ../oblogout/oblogout.py:235
msgid "shutdown"
msgstr ""
#: openboxlogout.py:192
#: ../oblogout/oblogout.py:235
msgid "suspend"
msgstr ""
#: openboxlogout.py:192
#: ../oblogout/oblogout.py:235
msgid "hibernate"
msgstr ""
#: ../oblogout/oblogout.py:235
msgid "safesuspend"
msgstr ""
#: ../oblogout/oblogout.py:235
msgid "lock"
msgstr ""
#: ../oblogout/oblogout.py:235
msgid "switch"
msgstr ""
#: ../oblogout/oblogout.py:247
#, python-format
msgid "Button %s is not a valid button name, removing"
msgstr ""
#: ../oblogout/oblogout.py:252
msgid "Can't Suspend, disabling button"
msgstr ""
#: ../oblogout/oblogout.py:256
msgid "Can't Hibernate, disabling button"
msgstr ""
#: ../oblogout/oblogout.py:260
msgid "Can't Safe Suspend, disabling button"
msgstr ""
#: ../oblogout/oblogout.py:264
msgid "No valid buttons found, resetting to defaults"
msgstr ""

7
setup.cfg Normal file
View File

@@ -0,0 +1,7 @@
[build]
icons=False
help=False
[build_i18n]
po-dir=po

View File

@@ -5,87 +5,25 @@ import os, sys, glob, fnmatch
## Added 10 Jan 2008
from distutils.core import setup, Extension
import distutils.command.install_data
## Code borrowed from wxPython's setup and config files
## Thanks to Robin Dunn for the suggestion.
## I am not 100% sure what's going on, but it works!
def opj(*args):
path = os.path.join(*args)
return os.path.normpath(path)
## Added 10 Jan 2008
# Specializations of some distutils command classes
class wx_smart_install_data(distutils.command.install_data.install_data):
"""need to change self.install_dir to the actual library dir"""
def run(self):
install_cmd = self.get_finalized_command('install')
self.install_dir = getattr(install_cmd, 'install_lib')
return distutils.command.install_data.install_data.run(self)
def find_data_files(srcdir, *wildcards, **kw):
# get a list of all files under the srcdir matching wildcards,
# returned in a format to be used for install_data
def walk_helper(arg, dirname, files):
if '.svn' in dirname:
return
names = []
lst, wildcards = arg
for wc in wildcards:
wc_name = opj(dirname, wc)
for f in files:
filename = opj(dirname, f)
if fnmatch.fnmatch(filename, wc_name) and not os.path.isdir(filename):
names.append(filename)
if names:
lst.append( (dirname, names ) )
file_list = []
recursive = kw.get('recursive', True)
if recursive:
os.path.walk(srcdir, walk_helper, (file_list, wildcards))
else:
walk_helper((file_list, wildcards),
srcdir,
[os.path.basename(f) for f in glob.glob(opj(srcdir, '*'))])
return file_list
## This is a list of files to install, and where:
## Make sure the MANIFEST.in file points to all the right
## directories too.
files = find_data_files('openboxlogout/', '*.*')
# Extra entry for config file copied to /etc/
files.append(('/etc/', ['openbox-logout.conf']))
print files
from distutils.core import setup
from DistUtilsExtra.command import *
setup(name = "openboxlogout",
setup(name = "oblogout",
version = "0.2",
description = "Openbox Logout",
author = "Andrew Williams",
author_email = "andy@tensixtyone.com",
url = "http://bzr.tensixtyone.com/",
#Name the folder where your packages live:
#(If you have other packages (dirs) or modules (py files) then
#put them into the package directory - they will be found
#recursively.)
packages = ['openboxlogout'],
data_files = files,
url = "http://launchpad.net/oblogout/",
## Borrowed from wxPython too:
## Causes the data_files to be installed into the modules directory.
## Override some of the default distutils command classes with my own.
cmdclass = { 'install_data': wx_smart_install_data },
packages = ['oblogout'],
scripts = ["data/oblogout"],
data_files = [('share/themes/foom/oblogout', glob.glob('data/themes/foom/oblogout/*')),
('share/themes/oxygen/oblogout', glob.glob('data/themes/oxygen/oblogout/*')),
('/etc/', glob.glob('data/openbox-logout.conf'))],
cmdclass = { 'build' : build_extra.build_extra,
'build_i18n' : build_i18n.build_i18n },
#'runner' is in the root.
scripts = ["oblogout"],
long_description = """Really long text here."""
#
#This next part it for the Cheese Shop, look a little down the page.
#classifiers = []
long_description = """Really long text here."""
)

View File

@@ -1,10 +0,0 @@
#!/bin/sh
cd openboxlogout/
for file in ./pofiles/*.po; do
lang=`echo $file | cut -d "-" -f 2 - | cut -d "." -f 1`
mkdir -p locale/$lang/LC_MESSAGES
msgfmt --output-file="locale/$lang/LC_MESSAGES/oblogout.mo" "$file"
done