As discussed in the 'Bug...' thread.
Looks a lot nicer I think. Thanks Martin! :)

Jasper
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: [EMAIL PROTECTED]
# target_branch: https://code.launchpad.net/~bzr-gtk/bzr-gtk/trunk
# testament_sha1: 8b3aa6758d2675f1c81a7f93379be84a94d15bcf
# timestamp: 2008-07-29 17:34:07 +0200
# source_branch: https://code.launchpad.net/~bzr-gtk/bzr-gtk/trunk
# base_revision_id: [EMAIL PROTECTED]
# 
# Begin patch
=== modified file 'olive/info.py'
--- olive/info.py	2008-07-20 16:23:24 +0000
+++ olive/info.py	2008-07-29 15:33:58 +0000
@@ -226,6 +226,11 @@
     
     def _generate_info(self, infokeylist):
         """ Generate 'bzr info' output. """
+        expander={}
+        alignment={}
+        table={}
+        label = {}
+        description = {}
         for key, keystring, subkeylist in infokeylist:
             if self.ret.has_key(key):
                 tablelength = 0
@@ -235,31 +240,34 @@
                 if tablelength == 0:
                     pass
                 else:
-                    exec "exp_%s = gtk.Expander('<b>%s</b>')"%(key, keystring)
-                    eval("exp_%s.set_use_markup(True)"%key)
-                    eval("exp_%s.connect('activate', self.activate)"%key)
-                    
-                    exec "alignment_%s = gtk.Alignment()"%key
-                    eval("alignment_%s.set_padding(0, 0, 24, 0)"%key)
-                    eval("exp_%s.add(alignment_%s)"%(key, key))
-                    
-                    exec "table_%s = gtk.Table(tablelength, 2)"%key
-                    eval("table_%s.set_col_spacings(12)"%key)
-                    eval("alignment_%s.add(table_%s)"%(key, key))
+                    expander[key] = gtk.Expander(keystring)
+                    expander[key].set_use_markup(True)
+                    expander[key].connect('activate', self.activate)
+                    
+                    alignment[key]= gtk.Alignment()
+                    alignment[key].set_padding(0, 0, 24, 0)
+                    expander[key].add(alignment[key])
+                    
+                    table[key] = gtk.Table(tablelength, 2)
+                    table[key].set_col_spacings(12)
+                    alignment[key].add(table[key])
+                    
+                    label[key] = {}
+                    description[key] = {}
                     
                     tablepos = 0
                     for subkey, subkeystring in subkeylist:
                         if self.ret[key].has_key(subkey):
-                            exec "%s_%s_label = gtk.Label('%s:')"%(key,subkey, subkeystring)
-                            eval("table_%s.attach(%s_%s_label, 0, 1, %i, %i, gtk.FILL)"%(key, key, subkey, tablepos, tablepos + 1))
-                            eval("%s_%s_label.set_alignment(0, 0.5)"%(key, subkey))
+                            label[key][subkey] = gtk.Label(subkeystring)
+                            table[key].attach(label[key][subkey], 0, 1, tablepos, tablepos + 1, gtk.FILL)
+                            label[key][subkey].set_alignment(0, 0.5)
                             
-                            exec "%s_%s = gtk.Label('%s')"%(key, subkey, str(self.ret[key][subkey]))
-                            eval("table_%s.attach(%s_%s, 1, 2, %i, %i, gtk.FILL)"%(key, key, subkey, tablepos, tablepos + 1))
-                            eval("%s_%s.set_alignment(0, 0.5)"%(key, subkey))
+                            description[key][subkey] = gtk.Label(str(self.ret[key][subkey]))
+                            table[key].attach(description[key][subkey], 1, 2, tablepos, tablepos + 1, gtk.FILL)
+                            description[key][subkey].set_alignment(0, 0.5)
                             tablepos += 1
-                    eval("exp_%s.set_expanded(True)"%key)
-                    eval("self.window.vbox.pack_start(exp_%s, False, True, 0)"%key)
+                    expander[key].set_expanded(True)
+                    self.window.vbox.pack_start(expander[key], False, True, 0)
     
     def activate(self, expander):
         """ Redraw the window. """

# Begin bundle
IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWXqbd2oAAjD/gAQQQEBR7///
c7ZUCr//3/pQBPvTdduzTLutSXTZZvCSSnqnqeCYhkyU8yaJqfo0ppo0aDQDQPUCSk9SeQnlTyNI
aNANNAABkAGg0CRIgmmTVPam0mKPSNGnqGgAAzTU2oNBgEYmgwmTJgjCYJppkYmAIYCSRMU2kPVP
ICNqamaYSYjJoNGhoA0TRhybf8XKN+PEdBqZSi2K5GpzbdjbVirGrnsnN9QKqDr3E75R1cSSBYEh
eWD8GY98mZhagix8yzPxqsp2jqm4IL4ghl+fGk53lsdT+QZnwdvH+0Sa29fbpp4eorGuyuml2M4M
qkwgKgvo9enDJjyT6G9NiIjzZEirbTjsNLG39WHk+GzI0Z1R0EztZome+Zn+Jg++GYhkalOdXrTN
cY5sBJtBBUQxFoiQo7j8eyUp+JLbvIjSOkae8XR1Jwnov8EUQLkyU9DjYmKUyrEqxg/RIcSW14hw
hxIj00MHfgmMyHMDjZMw4l0nQbGCac8CqhRL1hctE0Hwt7uAqL6iVChVPFi6yEymxImUORVF8iJD
FcOpVXGBIUgtFiKKTLoLaYDVlgq7CwkKRXbtgVjHB0cThyJjj9k6k/nUDORKzGbkhiom7G2kw6Tw
dbjKPGF2mUsgaHkRPaRYZNQcV2MolDnTy1WtTisfIpnCRVfcIfAuj61Q30NgWnXIxWTFTRYYxD8r
hjPWUrY1kJmaIqChiRmMhiZa7xYqPTR0K5PrMIQvL+44ML2MdOYDXsrHoefV5mRKCcUc31N3klRB
kcS1pHNK9pn4cledRV7jeUFBojpJZ8ubljCY4Ibhuc4cN6UsEkpg9RcyGddvhUS4OvMEQ6hZyo6D
gOInbPMMHML8ypHE0JDi9d9idJeWblWRB+z5bPFeupIbfcZop0GFwv2fPnZaCGmdcjoOowkksoDh
BTtJHJDX5QMY/3QngYpyR7SXF7zVrcM235xyMd45NPXvRVEMcDRgreZTIMUUU3YcSNJYMNUMyW3o
+25rtpj+CuK6HuuwZrVXe/maIS8pO6XAhnJ4yZ4nhlh7DVzJPVT/Mfg2J4x+SVMaocj8oFfGmQ8N
WWhlc5K2yAc5UiawziJgJenZs2MGFdSAJ37rUxpO8VQ81lx48N9omW+3lgrYFtzi60E0Xm4zAPh8
mgSiNODtLWionM6XXYK25pbkdQ8kAsWQmaoK5H8+1u6PKZ79kUUqpBgYJI2gZKi2DPUypLzTtyv8
+AyGTCYYFRyWgLtutjEXJGZbJg9272ZXNI57WxN1MGuj+eVKlgVrG3HerrlAuA9HLQsFyYU6XQdg
rZQZhLWReDIGfZAeIbm7kjgBGoFBkMt5cMFpk8iXMC8+oToklud0iRwCRelyYI8t2Usg1dllVv4Q
ZLrrlCV5gv1hdXWPSi5bKdrO8zrNsAaEi4HHZorFZd06L2pV1XHfRktUu6jkCiodMG9QjBmpInkG
9JCN1c/HlrqExQWmsB0qbNKnNAEWs5pOlf2w14LfwrpiQRiQzZxuvNj6xzqBkNJMr3VQMOLk4ioa
+ubguJJPC1bHJykykcbzaKAGp6dRHrdfI5WmtIHhdHxplLtaXckNZ83Lio9BKhJKX2IMhjfW9aow
1n7bAswQdBdyRThQkHqbd2o=

Attachment: signature.asc
Description: OpenPGP digital signature

-- 
bzr-gtk mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.canonical.com/mailman/listinfo/bzr-gtk

Reply via email to