.ora files no longer open, 'Programming error detected'

Hello! I love MyPaint a lot and have been having a lot of fun with 1.1 on Linux Mint Cinnamon 17.1. However, I have been working on a webcomic as an Open Raster file and for some reason today, when I went to pull the file up, I got a programming error message. Please help! It would really suck to lose all that work I have been pouring into this wecomic! I am pasting the details of the error message below, any help or tips anyone can give are welcome and much appreciated, thank you!

P.S.- I have tried opening the .Ora file in GiMP as well to no avail.

Programming error message details:

Traceback (most recent call last):
  File "/usr/share/mypaint/gui/filehandling.py", line 665, open_recent_cb(self=<gui.filehandling.FileHandler object>, action=<gtk.RecentAction object at 0x7f05127d7cd0 (GtkRecentAction at 0x262e9f0)>)
            fn = helpers.uri2filename(uri)
            self.open_file(fn)
  variables: {'self.open_file': ('local', <bound method FileHandler.wrapper of <gui.filehandling.FileHandler object at 0x7f0512732310>>), 'fn': ('local', u'/home/sedit/Documents/SMU/SMUWC01.ora')}
  File "/usr/share/mypaint/gui/drawwindow.py", line 60, wrapper(self=<gui.filehandling.FileHandler object>, *args=(u'/home/sedit/Documents/SMU/SMUWC01.ora',), **kwargs={})
            try:
                func(self, *args, **kwargs)
                # gtk main loop may be called in here...
  variables: {'self': ('local', <gui.filehandling.FileHandler object at 0x7f0512732310>), 'args': ('local', (u'/home/sedit/Documents/SMU/SMUWC01.ora',)), 'func': ('local', <function open_file at 0x7f052fca9f50>), 'kwargs': ('local', {})}
  File "/usr/share/mypaint/gui/filehandling.py", line 231, open_file(self=<gui.filehandling.FileHandler object>, filename=u'/home/sedit/Documents/SMU/SMUWC01.ora')
            try:
                self.doc.model.load(filename, feedback_cb=self.gtk_main_tick)
            except document.SaveLoadError, e:
  variables: {'self.doc.model.load': ('local', <bound method Document.load of <lib.document.Document instance at 0x7f052fc5bef0>>), 'feedback_cb': (None, []), 'self.gtk_main_tick': ('local', <function gtk_main_tick at 0x7f052fca9ed8>), 'filename': ('local', u'/home/sedit/Documents/SMU/SMUWC01.ora')}
  File "/usr/share/mypaint/lib/document.py", line 544, load(self=<lib.document.Document instance>, filename=u'/home/sedit/Documents/SMU/SMUWC01.ora', **kwargs={'feedback_cb': <function gtk_main_tick>})
            try:
                load(filename, **kwargs)
            except gobject.GError, e:
  variables: {'load': ('local', <bound method Document.load_ora of <lib.document.Document instance at 0x7f052fc5bef0>>), 'kwargs': ('local', {'feedback_cb': <function gtk_main_tick at 0x7f052fca9ed8>}), 'filename': ('local', u'/home/sedit/Documents/SMU/SMUWC01.ora')}
  File "/usr/share/mypaint/lib/document.py", line 772, load_ora(self=<lib.document.Document instance>, filename=u'/home/sedit/Documents/SMU/SMUWC01.ora', feedback_cb=<function gtk_main_tick>)
                tempdir = tempdir.decode(sys.getfilesystemencoding())
            z = zipfile.ZipFile(filename)
            print 'mimetype:', z.read('mimetype').strip()
  variables: {'zipfile.ZipFile': ('global', <class 'zipfile.ZipFile'>), 'z': (None, []), 'filename': ('local', u'/home/sedit/Documents/SMU/SMUWC01.ora')}
  File "/usr/lib/python2.7/zipfile.py", line 770, __init__(self=<zipfile.ZipFile object>, file=u'/home/sedit/Documents/SMU/SMUWC01.ora', mode='r', compression=0, allowZip64=False)
                if key == 'r':
                    self._RealGetContents()
                elif key == 'w':
  variables: {'self._RealGetContents': ('local', <bound method ZipFile._RealGetContents of <zipfile.ZipFile object at 0x7f05105dbc10>>)}
  File "/usr/lib/python2.7/zipfile.py", line 811, _RealGetContents(self=<zipfile.ZipFile object>)
            if not endrec:
                raise BadZipfile, "File is not a zip file"
            if self.debug > 1:
  variables: {'BadZipfile': ('global', <class 'zipfile.BadZipfile'>)}
BadZipfile: File is not a zip file

ORA files are really ZIP files containing a number of PNG files and an XML file with information about how the PNG files should be layered.

So the “BadZipfile: File is not a zip file” is not a good sign.

The command line command ‘zip’ can try to repair broken zip files with the -F flag like this:

zip -F Corrupted.ora --out New.ora

This will scan the corrupted zip archive and make a new one eliminating the errors.

If it doesn’t work you can try -FF instead of -F. That will make zip try harder.

It might possibly be that you have to rename your ORA file from file.ora to file.zip, but I don’t think that will be necessary.