330 lines
13 KiB
Diff
330 lines
13 KiB
Diff
--- libglade-convert.in (original)
|
|
+++ libglade-convert.in (refactored)
|
|
@@ -45,7 +45,7 @@
|
|
if name == 'class':
|
|
self.wclass = value
|
|
return
|
|
- if self.properties.has_key(name):
|
|
+ if name in self.properties:
|
|
self.property_names.remove(name)
|
|
del self.properties[name]
|
|
if value == 'True': value = 'yes'
|
|
@@ -53,19 +53,19 @@
|
|
self.property_names.append(name)
|
|
self.properties[name] = value
|
|
def __delitem__(self, name):
|
|
- if self.properties.has_key(name):
|
|
+ if name in self.properties:
|
|
self.property_names.remove(name)
|
|
del self.properties[name]
|
|
else:
|
|
- raise KeyError, "unknown property `%s'" % name
|
|
+ raise KeyError("unknown property `%s'" % name)
|
|
def has_prop(self, name):
|
|
- return self.properties.has_key(name)
|
|
+ return name in self.properties
|
|
def rename_prop(self, old_name, new_name):
|
|
if self.has_prop(old_name):
|
|
self[new_name] = self[old_name]
|
|
del self[old_name]
|
|
def remove_prop(self, name):
|
|
- if self.properties.has_key(name):
|
|
+ if name in self.properties:
|
|
self.property_names.remove(name)
|
|
del self.properties[name]
|
|
|
|
@@ -85,7 +85,7 @@
|
|
def __getitem__(self, name):
|
|
return self.properties[name]
|
|
def __setitem__(self, name, value):
|
|
- if self.properties.has_key(name):
|
|
+ if name in self.properties:
|
|
self.property_names.remove(name)
|
|
del self.properties[name]
|
|
if value == 'True': value = 'yes'
|
|
@@ -93,19 +93,19 @@
|
|
self.property_names.append(name)
|
|
self.properties[name] = value
|
|
def __delitem__(self, name):
|
|
- if self.properties.has_key(name):
|
|
+ if name in self.properties:
|
|
self.property_names.remove(name)
|
|
del self.properties[name]
|
|
else:
|
|
- raise KeyError, "unknown property `%s'" % name
|
|
+ raise KeyError("unknown property `%s'" % name)
|
|
def has_prop(self, name):
|
|
- return self.properties.has_key(name)
|
|
+ return name in self.properties
|
|
def rename_prop(self, old_name, new_name):
|
|
if self.has_prop(old_name):
|
|
self[new_name] = self[old_name]
|
|
del self[old_name]
|
|
def remove_prop(self, name):
|
|
- if self.properties.has_key(name):
|
|
+ if name in self.properties:
|
|
self.property_names.remove(name)
|
|
del self.properties[name]
|
|
|
|
@@ -114,27 +114,27 @@
|
|
return
|
|
|
|
if self.internal_child:
|
|
- print '%s<child internal-child="%s">' % \
|
|
- (indent, self.internal_child)
|
|
+ print('%s<child internal-child="%s">' % \
|
|
+ (indent, self.internal_child))
|
|
else:
|
|
- print '%s<child>' % indent
|
|
+ print('%s<child>' % indent)
|
|
if self.widget.wclass == 'Placeholder':
|
|
- print '%s <placeholder />' % indent
|
|
+ print('%s <placeholder />' % indent)
|
|
else:
|
|
self.widget.dump(indent + ' ')
|
|
if self.properties:
|
|
- print '%s <packing>' % indent
|
|
+ print('%s <packing>' % indent)
|
|
for name in self.property_names:
|
|
attrs = ''
|
|
if name in translatable_properties:
|
|
attrs += ' translatable="yes"'
|
|
if name[:3] == 'cxx':
|
|
attrs += ' agent="glademm"'
|
|
- print '%s <property name="%s"%s>%s</property>' % \
|
|
+ print('%s <property name="%s"%s>%s</property>' % \
|
|
(indent, name, attrs,
|
|
- self.properties[name].encode('utf-8'))
|
|
- print '%s </packing>' % indent
|
|
- print '%s</child>' % indent
|
|
+ self.properties[name].encode('utf-8')))
|
|
+ print('%s </packing>' % indent)
|
|
+ print('%s</child>' % indent)
|
|
|
|
def add_child(self, widget, internal_child=None):
|
|
child = self.ChildDef(widget, internal_child)
|
|
@@ -142,7 +142,7 @@
|
|
return child
|
|
|
|
def dump(self, indent):
|
|
- print '%s<widget class="%s" id="%s">' %(indent, self.wclass, self.name)
|
|
+ print('%s<widget class="%s" id="%s">' %(indent, self.wclass, self.name))
|
|
want_newline = 0
|
|
for name in self.property_names:
|
|
attrs = ''
|
|
@@ -154,41 +154,41 @@
|
|
attrs += ' translatable="yes"'
|
|
if name[:3] == 'cxx':
|
|
attrs += ' agent="glademm"'
|
|
- print '%s <property name="%s"%s>%s</property>' % \
|
|
- (indent, name, attrs, self.properties[name].encode('utf-8'))
|
|
+ print('%s <property name="%s"%s>%s</property>' % \
|
|
+ (indent, name, attrs, self.properties[name].encode('utf-8')))
|
|
want_newline = 1
|
|
if want_newline and (self.signals or self.accels or self.children):
|
|
- print
|
|
+ print()
|
|
|
|
want_newline = 0
|
|
for name, handler, object, after in self.signals:
|
|
- print '%s <signal name="%s" handler="%s"' % (indent, name,
|
|
- handler),
|
|
- if object: print 'object="%s"' % object,
|
|
- if after: print 'after="yes"',
|
|
- print '/>'
|
|
+ print('%s <signal name="%s" handler="%s"' % (indent, name,
|
|
+ handler), end=' ')
|
|
+ if object: print('object="%s"' % object, end=' ')
|
|
+ if after: print('after="yes"', end=' ')
|
|
+ print('/>')
|
|
want_newline = 1
|
|
- if want_newline and (self.accels or self.children): print
|
|
+ if want_newline and (self.accels or self.children): print()
|
|
|
|
want_newline = 0
|
|
for key, modifiers, signal in self.accels:
|
|
- print '%s <accelerator key="%s" modifiers="%s" signal="%s" />' % \
|
|
- (indent, key, modifiers, signal)
|
|
+ print('%s <accelerator key="%s" modifiers="%s" signal="%s" />' % \
|
|
+ (indent, key, modifiers, signal))
|
|
want_newline = 1
|
|
- if want_newline and self.children: print
|
|
+ if want_newline and self.children: print()
|
|
|
|
want_newline = 0
|
|
for child in self.children:
|
|
- if want_newline: print
|
|
+ if want_newline: print()
|
|
child.dump(indent + ' ')
|
|
want_newline = 1
|
|
- print '%s</widget>' % indent
|
|
+ print('%s</widget>' % indent)
|
|
|
|
|
|
# --- Code to parse the glade1 XML files into WidgetDef instances ---
|
|
|
|
def totext(nodelist):
|
|
- return string.join(map(lambda node: node.toxml(), nodelist), '')
|
|
+ return string.join([node.toxml() for node in nodelist], '')
|
|
|
|
def handle_signal(widget, signalnode):
|
|
name = None
|
|
@@ -414,7 +414,7 @@
|
|
global_group_map = { }
|
|
|
|
def find_parent(type):
|
|
- if parent_table.has_key(type):
|
|
+ if type in parent_table:
|
|
return parent_table[type]
|
|
return ''
|
|
|
|
@@ -585,7 +585,7 @@
|
|
'GNOMEUIINFO_MENU_GAME_TREE': (0, '_Game'),
|
|
}
|
|
def stock_menu_translate(old_name):
|
|
- if stock_menu_items.has_key(old_name):
|
|
+ if old_name in stock_menu_items:
|
|
return stock_menu_items[old_name]
|
|
else:
|
|
return (0, old_name)
|
|
@@ -598,7 +598,7 @@
|
|
def fixup_as_type(widget, type):
|
|
|
|
if verbose:
|
|
- print >> sys.stderr, 'Fixing', widget['name'], 'up as', type
|
|
+ print('Fixing', widget['name'], 'up as', type, file=sys.stderr)
|
|
|
|
# table based property removals/renames
|
|
for name in global_obsolete_props:
|
|
@@ -606,11 +606,11 @@
|
|
for old, new in global_renamed_props:
|
|
widget.rename_prop(old, new)
|
|
|
|
- if obsolete_props.has_key(type):
|
|
+ if type in obsolete_props:
|
|
for name in obsolete_props[type]:
|
|
widget.remove_prop(name)
|
|
|
|
- if renamed_props.has_key(type):
|
|
+ if type in renamed_props:
|
|
for old, new in renamed_props[type]:
|
|
widget.rename_prop(old, new)
|
|
|
|
@@ -618,12 +618,12 @@
|
|
for childdef in widget.children:
|
|
childdef.rename_prop(old, new)
|
|
|
|
- if obsolete_child_props.has_key(type):
|
|
+ if type in obsolete_child_props:
|
|
for name in obsolete_child_props[type]:
|
|
for childdef in widget.children:
|
|
childdef.remove_prop(name)
|
|
|
|
- if renamed_child_props.has_key(type):
|
|
+ if type in renamed_child_props:
|
|
for old, new in renamed_child_props[type]:
|
|
for childdef in widget.children:
|
|
childdef.rename_prop(old, new)
|
|
@@ -689,8 +689,8 @@
|
|
del childdef.widget['child_name']
|
|
childdef['type'] = 'tab'
|
|
else:
|
|
- print >> sys.stderr , 'Unknown child_name', \
|
|
- childdef.widget['child_name']
|
|
+ print('Unknown child_name', \
|
|
+ childdef.widget['child_name'], file=sys.stderr)
|
|
|
|
if type == 'GtkFileSelection':
|
|
for childdef in widget.children:
|
|
@@ -775,8 +775,7 @@
|
|
del childdef.widget['child_name']
|
|
|
|
try:
|
|
- childdef = filter(lambda x: x.widget.has_prop('child_name'),
|
|
- childdef.widget.children)[0]
|
|
+ childdef = [x for x in childdef.widget.children if x.widget.has_prop('child_name')][0]
|
|
except IndexError:
|
|
return 0
|
|
childdef.widget['class'] = 'GtkHButtonBox'
|
|
@@ -791,8 +790,7 @@
|
|
del childdef.widget['child_name']
|
|
|
|
try:
|
|
- childdef = filter(lambda x: x.widget.has_prop('child_name'),
|
|
- childdef.widget.children)[0]
|
|
+ childdef = [x for x in childdef.widget.children if x.widget.has_prop('child_name')][0]
|
|
except IndexError:
|
|
return 0
|
|
childdef.widget['class'] = 'GtkHButtonBox'
|
|
@@ -881,7 +879,7 @@
|
|
# have the glade id of the root group widget.
|
|
if type == 'GtkRadioButton' or type == 'GtkRadioMenuItem':
|
|
if widget.has_prop ('group'):
|
|
- if global_group_map.has_key (widget['group']):
|
|
+ if widget['group'] in global_group_map:
|
|
widget['group'] = global_group_map[widget['group']]
|
|
else:
|
|
global_group_map[widget['group']] = widget['name']
|
|
@@ -898,7 +896,7 @@
|
|
elif childdef.widget['class'] == 'GtkRadioButton':
|
|
childdef.widget['class'] = 'radio'
|
|
if childdef.widget.has_prop('group'):
|
|
- if global_group_map.has_key (childdef.widget['group']):
|
|
+ if childdef.widget['group'] in global_group_map:
|
|
childdef.widget['group'] = global_group_map[childdef.widget['group']]
|
|
else:
|
|
global_group_map[childdef.widget['group']] = childdef.widget['name']
|
|
@@ -1135,8 +1133,8 @@
|
|
def check_widget(widget, requirelist=[]):
|
|
try:
|
|
error = bad_widgets[widget['class']]
|
|
- print >> sys.stderr , 'widget %s of class %s is %s.' % \
|
|
- (widget['name'], widget['class'], error)
|
|
+ print('widget %s of class %s is %s.' % \
|
|
+ (widget['name'], widget['class'], error), file=sys.stderr)
|
|
if error == 'removed':
|
|
widget.mark_obsolete ()
|
|
except KeyError:
|
|
@@ -1171,21 +1169,21 @@
|
|
fixup_widget(widgetdef)
|
|
check_widget(widgetdef, requireslist)
|
|
|
|
- print '<?xml version="1.0" standalone="no"?> <!--*- mode: nxml -*-->'
|
|
- print '<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd" >'
|
|
- print
|
|
- print '<glade-interface>'
|
|
+ print('<?xml version="1.0" standalone="no"?> <!--*- mode: nxml -*-->')
|
|
+ print('<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd" >')
|
|
+ print()
|
|
+ print('<glade-interface>')
|
|
|
|
for requirement in requireslist:
|
|
- print ' <requires lib="%s" />' % requirement
|
|
+ print(' <requires lib="%s" />' % requirement)
|
|
if requireslist:
|
|
- print
|
|
+ print()
|
|
|
|
indent = ' '
|
|
for widgetdef in widgets:
|
|
widgetdef.dump(indent)
|
|
|
|
- print '</glade-interface>'
|
|
+ print('</glade-interface>')
|
|
document.unlink() # only needed for python interpreters without cyclic gc
|
|
|
|
usage = 'usage: libglade-convert [--no-upgrade] [--verbose] oldfile.glade'
|
|
@@ -1201,10 +1199,10 @@
|
|
elif opt == '--verbose':
|
|
verbose = 1
|
|
elif opt == '--help':
|
|
- print usage
|
|
+ print(usage)
|
|
sys.exit(0)
|
|
if len(args) != 1:
|
|
- print >> sys.stderr, usage
|
|
+ print(usage, file=sys.stderr)
|
|
sys.exit(1)
|
|
handle_file(args[0])
|
|
|