For anyone experiencing the following error with Alacarte, (the Gnome menu editor that almost actually lets you edit the menus):
Traceback (most recent call last):
File "/usr/bin/alacarte", line 26, in ?
main()
File "/usr/bin/alacarte", line 23, in main
GnomeFront()
File "/usr/lib/python2.4/site-packages/Alacarte/GnomeFront.py", line 72, in __init__
self.loadMenus()
File "/usr/lib/python2.4/site-packages/Alacarte/GnomeFront.py", line 201, in loadMenus
self.app_handler = MenuHandler('applications.menu', self.options)
File "/usr/lib/python2.4/site-packages/Alacarte/PyXDGMenuHandler.py", line 27, in __init__
xdg.MenuEditor.MenuEditor.__init__(
File "/usr/lib/python2.4/site-packages/xdg/MenuEditor.py", line 28, in __init__
self.parse(menu, filename, root)
File "/usr/lib/python2.4/site-packages/xdg/MenuEditor.py", line 40, in parse
self.menu = parse(menu)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 517, in parse
__parse(doc, filename, tmp["Root"])
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 538, in __parse
__parseMenu(child, filename, parent)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 692, in __parseMenu
__parse(child, filename, m)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 576, in __parse
__parseMergeFile("applications.menu", child, filename, parent)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 743, in __parseMergeFile
__mergeFile(os.path.join(p,rel_file),child,parent)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 792, in __mergeFile
__parse(child,filename,parent)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 587, in __parse
__parseDefaultMergeDirs(child, filename, parent)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 763, in __parseDefaultMergeDirs
__parseMergeDir(os.path.join(dir, "menus", basename + "-merged"), child, filename, parent)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 756, in __parseMergeDir
__mergeFile(os.path.join(value, item), child, parent)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 792, in __mergeFile
__parse(child,filename,parent)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 538, in __parse
__parseMenu(child, filename, parent)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 692, in __parseMenu
__parse(child, filename, m)
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 572, in __parse
parent.Rules.append(Rule(child.tagName, child))
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 284, in __init__
self.compile()
File "/usr/lib/python2.4/site-packages/xdg/Menu.py", line 290, in compile
exec("""
File "<string>", line 6
elif :
^
SyntaxError: invalid syntax</string>
Change line 290 of the file /usr/lib/python2.4/site-packages/xdg/Menu.py from:
elif %s:
to
elif (%s):
and you should be right as rain. I don’t know any Python, but I believe it’s picky about tab indentation (which this blog ham fistedly turns into multiple non-breaking line spaces), so watch yourself.
Popularity: 8% [?]