[apparmor] [patch] make __init__.py GSoC-ready

Christian Boltz apparmor at cboltz.de
Thu Sep 12 22:45:25 UTC 2013


Hello,

Am Donnerstag, 12. September 2013 schrieb Christian Boltz:
> to make testing Kshitij's new tools easier, I propose to merge his
> code in utils/apparmor/__init__.py - that's the only filename
> conflict (at least in the 2.8 branch). If we do this, we can ship his
> new tools in a testing package that can be installed on top of the
> 2.8.x packages without problems [1].
> 
> The following patch is for trunk and the 2.8 branch:

As usual ;-) I found a way to break it - using "LANG=C" caused an 
exception because "C" is shorter than what filename = ...[0:2] expects.

Here's an updated patch. Changes:
- filename = ... moved into the try block
- catch all exceptions, not only IOError

I know it's not perfect, but worst thing that can happen is to get the
non-translated interface. That's much better than an exception ;-)


=== modified file 'utils/apparmor/__init__.py'
--- utils/apparmor/__init__.py  2012-05-08 05:37:48 +0000
+++ utils/apparmor/__init__.py  2013-09-12 15:10:50 +0000
@@ -1,9 +1,25 @@
 # ------------------------------------------------------------------
 #
 #    Copyright (C) 2011-2012 Canonical Ltd.
+#    Copyright (C) 2013 Kshitij Gupta
 #
 #    This program is free software; you can redistribute it and/or
 #    modify it under the terms of version 2 of the GNU General Public
 #    License published by the Free Software Foundation.
 #
 # ------------------------------------------------------------------
+
+import gettext
+import locale
+
+def init_localisation():
+    locale.setlocale(locale.LC_ALL, '')
+    #cur_locale = locale.getlocale()
+    try:
+        filename = '/usr/share/locale/%s/LC_MESSAGES/apparmor-utils.mo' % locale.getlocale()[0][0:2]
+        trans = gettext.GNUTranslations(open( filename, 'rb'))
+    except: # IOError:
+        trans = gettext.NullTranslations()
+    trans.install()
+    
+init_localisation()

> Note that the Canonical copyright header in __init.py__ was
> basically for the empty file - I'm not sure if it makes sense to keep
> it ;-) (but I won't remove it unless explicitely asked to do so to
> avoid Canonical will sue me for stealing an (besides the copyright
> header) empty file ;-)
> 
> Also note that trunk also needs changes in utils/apparmor/common.py -
> Kshitij added several functions there. But that's another story and
> not too urgent. However we should do it before the 3.0 release.

> [1] We'll need to re-add the .py suffix for the tools in the testing
>     package, but that's another story ;-)

BTW: I'll also commit this patch to openSUSE Factory which has feature 
freeze today ;-)


Regards,

Christian Boltz
-- 
> Jan, I can write scripts too :)
rebuild_logic="coolo"
[> Stephan Kulow and Marcus Meissner in opensuse-factory]




More information about the AppArmor mailing list