From: John R. <jr...@ce...> - 2013-03-26 13:52:20
|
On Mar 26, 2013, at 5:15 AM, Enno Borgsteede <enn...@gm...> wrote: > Hi Peter, >> OK, that made it, almost. >> >> Following the Wiki page on how to start Gramps, I get a number of messages like this: >> >> Traceback (most recent call last): >> File "/home/peter/Gramps/gramps40/gramps/gen/plug/_pluginreg.py", line 1096, in scan_dir >> exec (compile(stream, full_filename, 'exec'), >> File "/home/peter/Gramps/gramps40/gramps/plugins/view/view.gpr.py", line 0 >> SyntaxError: encoding declaration in Unicode string >> >> followed by >> >> Traceback (most recent call last): >> File "/home/peter/Gramps/gramps40/gramps/gui/grampsgui.py", line 338, in __startgramps >> Gramps(argparser) >> File "/home/peter/Gramps/gramps40/gramps/gui/grampsgui.py", line 261, in __init__ >> self.vm.init_interface() >> File "/home/peter/Gramps/gramps40/gramps/gui/viewmanager.py", line 949, in init_interface >> self.goto_page(defaults[0], defaults[1]) >> File "/home/peter/Gramps/gramps40/gramps/gui/viewmanager.py", line 1198, in goto_page >> self.current_views[cat_num] = view_num >> IndexError: list assignment index out of range >> >> and Gramps quits. >> >> Line 0 in "view.gpr.py" contains: >> # encoding:utf-8 >> >> If I delete this line Gramps starts and Geography view works! > I saw similar errors in trunk a few days ago, but they were cured, and > Helge reported that the errors he saw in gramps40 were gone too. Looks > like you need an svn update. This arises from io.open()ing a file in Python2 and then submitting it to compile(). Compile raises that "encoding declararion" exception if it finds the string "coding:" in the first two lines of a unicode submitted to it. That means that file operations reading python code shouldn't be converted to io.open(); it would be good to put a comment next to them saying why. That said, there seems to be more than one place where we're reading gpr files. Why? Shouldn't all gpr processing take place in _pluginreg.py? Regards, John Ralls |