Author: dmeyer
Date: Sat Apr 22 17:22:35 2006
New Revision: 1466

Modified:
   trunk/metadata/src/audio/eyeD3/frames.py
   trunk/metadata/src/audio/eyeD3/tag.py
   trunk/metadata/src/audio/eyed3info.py
   trunk/metadata/src/disc/CDDB.py
   trunk/metadata/src/disc/discinfo.py
   trunk/metadata/src/games/snesinfo.py
   trunk/metadata/src/image/EXIF.py
   trunk/metadata/src/image/IPTC.py
   trunk/metadata/src/image/core.py
   trunk/metadata/src/image/pnginfo.py
   trunk/metadata/src/mediainfo.py
   trunk/metadata/src/misc/dirinfo.py
   trunk/metadata/src/table.py
   trunk/metadata/src/video/mkvinfo.py
   trunk/metadata/src/video/movinfo.py
   trunk/metadata/src/video/ogminfo.py
   trunk/metadata/src/video/riffinfo.py

Log:
add exception to catch to except and if not possible, catch KeyboardInterrupt, 
SystemExit

Modified: trunk/metadata/src/audio/eyeD3/frames.py
==============================================================================
--- trunk/metadata/src/audio/eyeD3/frames.py    (original)
+++ trunk/metadata/src/audio/eyeD3/frames.py    Sat Apr 22 17:22:35 2006
@@ -1203,7 +1203,7 @@
           # character literal instead of it's byte value.
           try:
               pt = int(chr(pt));
-          except:
+          except (ValueError):
               pt = self.OTHER;
           if pt < self.MIN_TYPE or pt > self.MAX_TYPE:
               self.pictureType = self.OTHER;
@@ -1740,7 +1740,7 @@
       try:
          del self.frames[key];
          return 1;
-      except:
+      except (KeyError, IndexError, NameError):
          return 0;
 
    # Accepts both int (indexed access) and string keys (a valid frame Id).

Modified: trunk/metadata/src/audio/eyeD3/tag.py
==============================================================================
--- trunk/metadata/src/audio/eyeD3/tag.py       (original)
+++ trunk/metadata/src/audio/eyeD3/tag.py       Sat Apr 22 17:22:35 2006
@@ -1352,7 +1352,7 @@
          id = genres[name];
          # Get titled case.
          name = genres[id];
-      except:
+      except (IndexError, KeyError):
           if utils.strictID3():
               raise GenreException("Invalid genre name: " + name);
           id = None;
@@ -1381,7 +1381,7 @@
                                     "does not match " + name);
             self.id = id;
             self.name = name;
-         except:
+         except (KeyError, IndexError):
             raise GenreException("eyeD3.genres[" + str(id) + "] " +\
                                  "does not match " + name);
       

Modified: trunk/metadata/src/audio/eyed3info.py
==============================================================================
--- trunk/metadata/src/audio/eyed3info.py       (original)
+++ trunk/metadata/src/audio/eyed3info.py       Sat Apr 22 17:22:35 2006
@@ -113,11 +113,15 @@
          except eyeD3_tag.InvalidAudioFormatException:
             # File is not an MP3
             raise mediainfo.KaaMetadataParseError()
+         except (KeyboardInterrupt, SystemExit):
+            sys.exit(0)
          except:
             # The MP3 tag decoder crashed, assume the file is still
             # MP3 and try to play it anyway
             if log.level < 30:
                log.exception('mp3 tag parsing %s failed!' % file.name)
+      except (KeyboardInterrupt, SystemExit):
+         sys.exit(0)
       except:
          # The MP3 tag decoder crashed, assume the file is still
          # MP3 and try to play it anyway

Modified: trunk/metadata/src/disc/CDDB.py
==============================================================================
--- trunk/metadata/src/disc/CDDB.py     (original)
+++ trunk/metadata/src/disc/CDDB.py     Sat Apr 22 17:22:35 2006
@@ -61,8 +61,7 @@
         # kaa.metadata unicode fix
         try:
             title = unicode(header[3], encoding)
-        except:
-            print e
+        except UnicodeDecodeError:
             title = unicode(header[3], errors='replace')
        result = { 'category': header[1], 'disc_id': header[2], 'title': title }
 
@@ -83,7 +82,7 @@
 
             try:
                 title = unicode(match[2], encoding)
-            except:
+            except UnicodeDecodeError:
                 title = unicode(match[2], errors='replace')
             # kaa.metadata unicode fix
            result.append({ 'category': unicode(match[0]), 'disc_id': match[1], 
'title':
@@ -136,7 +135,7 @@
                 if isinstance(value, str):
                     try:
                         reply[key] = unicode(reply[key], encoding)
-                    except:
+                    except UnicodeDecodeError:
                         reply[key] = unicode(reply[key], errors='replace')
            return [ header[0], reply ]
        else:                           # access denied. :(

Modified: trunk/metadata/src/disc/discinfo.py
==============================================================================
--- trunk/metadata/src/disc/discinfo.py (original)
+++ trunk/metadata/src/disc/discinfo.py Sat Apr 22 17:22:35 2006
@@ -79,11 +79,11 @@
                 buf = pack('BBHP', CD_MSF_FORMAT, 0, length, address)
                 s = ioctl(fd, CDIOREADTOCENTRYS, buf)
                 s = CDS_DISC_OK
-            except:
+            except (OSError, IOError):
                 s = CDS_NO_DISC
         else:
             s = ioctl(fd, CDROM_DRIVE_STATUS, CDSL_CURRENT)
-    except:
+    except (OSError, IOError):
         log.error('ERROR: no permission to read %s' % device)
         log.error('Media detection not possible, set drive to \'empty\'')
 
@@ -92,7 +92,7 @@
         # linux and don't have ioctl
         try:
             os.close(fd)
-        except:
+        except (OSError, IOError):
             pass
         return 0
 
@@ -100,7 +100,7 @@
         # no disc, error, whatever
         try:
             os.close(fd)
-        except:
+        except (OSError, IOError):
             pass
         return 0
 
@@ -159,7 +159,7 @@
     try:
         if id_cache[device][0] + 0.9 > time.time():
             return id_cache[device][1:]
-    except:
+    except (KeyError, IndexError):
         pass
 
     disc_type = cdrom_disc_status(device, handle_mix=handle_mix)

Modified: trunk/metadata/src/games/snesinfo.py
==============================================================================
--- trunk/metadata/src/games/snesinfo.py        (original)
+++ trunk/metadata/src/games/snesinfo.py        Sat Apr 22 17:22:35 2006
@@ -81,6 +81,8 @@
             romHeader = file.read(32)
             try:
                 
(romName,romHL,romMem,romROM,romSRAM,romCountry,romLic,romVer,romICHK,romCHK) = 
unpack('21scccccccHH', romHeader)
+            except (KeyboardInterrupt, SystemExit):
+                sys.exit(0)
             except:
                 raise mediainfo.KaaMetadataParseError()
             log.debug('ROM NAME: %s' % romName)
@@ -95,6 +97,8 @@
                     romHeader = file.read(32)
                 try:
                     
(romName,romHL,romMem,romROM,romSRAM,romCountry,romLic,romVer,romICHK,romCHK) = 
unpack('21scccccccHH', romHeader)
+                except (KeyboardInterrupt, SystemExit):
+                    sys.exit(0)
                 except:
                     raise mediainfo.KaaMetadataParseError()
 

Modified: trunk/metadata/src/image/EXIF.py
==============================================================================
--- trunk/metadata/src/image/EXIF.py    (original)
+++ trunk/metadata/src/image/EXIF.py    Sat Apr 22 17:22:35 2006
@@ -925,7 +925,7 @@
                                                          field_type,
                                                          values, field_offset,
                                                          count*typelen)
-            except:
+            except (AttributeError, ValueError):
                 # kaa.metadata addition: in some images this crashes
                 pass
             if self.debug:

Modified: trunk/metadata/src/image/IPTC.py
==============================================================================
--- trunk/metadata/src/image/IPTC.py    (original)
+++ trunk/metadata/src/image/IPTC.py    Sat Apr 22 17:22:35 2006
@@ -43,7 +43,7 @@
             elif len(val) == 1: list[i] = val[0]
             else: list[i] = tuple(val)
         return list
-    except:
+    except (ValueError, AttributeError, IndexError, KeyError):
         return []
 
 
@@ -83,7 +83,7 @@
        while 1:
            try:
                intro = ord(data[offset])
-           except IndexError:
+           except (ValueError, KeyError, IndexError):
                return ''
            if intro != 0x1c:
                return iptc

Modified: trunk/metadata/src/image/core.py
==============================================================================
--- trunk/metadata/src/image/core.py    (original)
+++ trunk/metadata/src/image/core.py    Sat Apr 22 17:22:35 2006
@@ -71,18 +71,13 @@
         """
         Parse external files like bins and .comments.
         """
-        try:
-            self.parse_bins(filename)
-        except (KeyboardInterrupt, SystemExit):
-            sys.exit(0)
-        except:
-            pass
-        try:
-            self.parse_dot_comment(filename)
-        except (KeyboardInterrupt, SystemExit):
-            sys.exit(0)
-        except:
-            pass
+        for func in (self.parse_bins, self.parse_dot_comment):
+            try:
+                func(filename)
+            except (KeyboardInterrupt, SystemExit):
+                sys.exit(0)
+            except:
+                pass
 
 
     def parse_bins(self, filename):

Modified: trunk/metadata/src/image/pnginfo.py
==============================================================================
--- trunk/metadata/src/image/pnginfo.py (original)
+++ trunk/metadata/src/image/pnginfo.py Sat Apr 22 17:22:35 2006
@@ -80,7 +80,7 @@
     def _readChunk(self,file):
         try:
             (length, type) = struct.unpack('>I4s', file.read(8))
-        except:
+        except (OSError, IOError):
             return 0
         if ( type == 'tEXt' ):
           log.debug('latin-1 Text found.')

Modified: trunk/metadata/src/mediainfo.py
==============================================================================
--- trunk/metadata/src/mediainfo.py     (original)
+++ trunk/metadata/src/mediainfo.py     Sat Apr 22 17:22:35 2006
@@ -192,6 +192,8 @@
                 log.error("Unknown key: %s" % item)
         except KeyError:
             pass
+        except (KeyboardInterrupt, SystemExit):
+            sys.exit(0)
         except:
             if log.level < 30:
                 log.exception('setkey')
@@ -245,6 +247,8 @@
         """
         try:
             del self.__dict__[key]
+        except (KeyboardInterrupt, SystemExit):
+            sys.exit(0)
         except:
             pass
         if hasattr(self, key):
@@ -283,6 +287,8 @@
                 # XXX Why is this needed anyway?
                 if int(self['trackno']) < 10:
                     self['trackno'] = '0%s' % int(self['trackno'])
+            except (KeyboardInterrupt, SystemExit):
+                sys.exit(0)
             except:
                 pass
 

Modified: trunk/metadata/src/misc/dirinfo.py
==============================================================================
--- trunk/metadata/src/misc/dirinfo.py  (original)
+++ trunk/metadata/src/misc/dirinfo.py  Sat Apr 22 17:22:35 2006
@@ -54,14 +54,13 @@
         MediaInfo.__init__(self)
 
         self.media = 'directory'
-        try:
-            self.parse_dot_directory(directory)
-        except:
-            log.exception('parse_dot_directory')
-        try:
-            self.parse_bins(directory)
-        except:
-            log.exception('parse_bins')
+        for func in (self.parse_dot_directory, self.parse_bins):
+            try:
+                func(directory)
+            except (KeyboardInterrupt, SystemExit):
+                sys.exit(0)
+            except:
+                log.exception('%s', func)
 
 
     def parse_dot_directory(self, directory):

Modified: trunk/metadata/src/table.py
==============================================================================
--- trunk/metadata/src/table.py (original)
+++ trunk/metadata/src/table.py Sat Apr 22 17:22:35 2006
@@ -45,6 +45,8 @@
         self.i18ndir = os.path.join(LOCALEDIR, name.lower())
         try:
             self.read_translations()
+        except (KeyboardInterrupt, SystemExit):
+            sys.exit(0)
         except:
             pass
 

Modified: trunk/metadata/src/video/mkvinfo.py
==============================================================================
--- trunk/metadata/src/video/mkvinfo.py (original)
+++ trunk/metadata/src/video/mkvinfo.py Sat Apr 22 17:22:35 2006
@@ -234,7 +234,7 @@
                 # Rescale it to the second
                 tc = seginfotab[MATROSKA_TIMECODESCALE_ID].get_value()
                 scalecode = float(tc / (1000*1000))
-            except:
+            except (ZeroDivisionError, KeyError, IndexError):
                 scalecode = 1000
             try:
                 md = seginfotab[MATROSKA_DURATION_ID].get_data()
@@ -242,13 +242,13 @@
                 duration = float(duration / scalecode)
                 # Express the time in minutes
                 self.length = int(duration/60)
-            except:
+            except (ZeroDivisionError, KeyError, IndexError):
                 pass
             try:
                 log.debug ("Searching for id : %X" % MATROSKA_TRACKS_ID)
                 entity = segtab[MATROSKA_TRACKS_ID]
                 self.process_tracks(entity)
-            except:
+            except (ZeroDivisionError, KeyError, IndexError):
                 log.debug("TRACKS ID not found !!" )
         else:
             log.debug("SEGMENT ID not found %08X" % segment.get_id() )
@@ -290,12 +290,12 @@
                 vi.codec = elem.get_data()
                 if vi.codec.startswith('V_'):
                     vi.codec = vi.codec[2:]
-            except:
+            except (ZeroDivisionError, KeyError, IndexError):
                 vi.codec = 'Unknown'
             try:
                 elem = tabelem[MATROSKA_FRAME_DURATION_ID]
                 vi.fps = 1 / (pow(10, -9) * (elem.get_value()))
-            except:
+            except (ZeroDivisionError, KeyError, IndexError):
                 vi.fps = 0
             try:
                 vinfo = tabelem[MATROSKA_VIDEO_SETTINGS_ID]
@@ -317,7 +317,7 @@
                 elem = tabelem[MATROSKA_TRACK_LANGUAGE_ID]
                 ai.language = elem.get_data()
                 ai['language'] = elem.get_data()
-            except:
+            except (KeyError, IndexError):
                 ai.language = 'en'
                 ai['language'] = 'en'
             try:
@@ -325,7 +325,7 @@
                 ai.codec = elem.get_data()
                 if ai.codec.startswith('A_'):
                     ai.codec = ai.codec[2:]
-            except:
+            except (KeyError, IndexError):
                 ai.codec = "Unknown"
             try:
                 ainfo = tabelem[MATROSKA_AUDIO_SETTINGS_ID]
@@ -333,7 +333,7 @@
                 as = audtab[MATROSKA_AUDIO_SAMPLERATE_ID].get_value()
                 ai.samplerate  = unpack('!f', as)[0]
                 ai.channels = audtab[MATROSKA_AUDIO_CHANNELS_ID].get_value()
-            except:
+            except (KeyError, IndexError):
                 log.debug("No other info about audio track !!!")
             self.audio.append(ai)
 
@@ -342,11 +342,9 @@
                 elem = tabelem[MATROSKA_TRACK_LANGUAGE_ID]
                 language = elem.get_data()
                 log.debug ("Subtitle language found : %s" % elem.get_data() )
-            except:
+            except (KeyError, IndexError):
                 language = "en" # By default
             self.subtitles.append(language)
 
 
-
-factory.register( 'application/mkv', ('mkv', 'mka',),
-                  mediainfo.TYPE_AV, MkvInfo )
+factory.register( 'application/mkv', ('mkv', 'mka',), mediainfo.TYPE_AV, 
MkvInfo )

Modified: trunk/metadata/src/video/movinfo.py
==============================================================================
--- trunk/metadata/src/video/movinfo.py (original)
+++ trunk/metadata/src/video/movinfo.py Sat Apr 22 17:22:35 2006
@@ -81,13 +81,11 @@
             size = unpack('>Q', file.read(8))
         while self._readatom(file):
             pass
-        try:
-            info = self.gettable('QTUDTA', 'en')
-            self.setitem('title', info, 'nam')
-            self.setitem('artist', info, 'aut')
-            self.setitem('copyright', info, 'cpy')
-        except:
-            pass
+
+        info = self.gettable('QTUDTA', 'en')
+        self.setitem('title', info, 'nam')
+        self.setitem('artist', info, 'aut')
+        self.setitem('copyright', info, 'cpy')
 
         if self.references:
             self.keys.append('references')

Modified: trunk/metadata/src/video/ogminfo.py
==============================================================================
--- trunk/metadata/src/video/ogminfo.py (original)
+++ trunk/metadata/src/video/ogminfo.py Sat Apr 22 17:22:35 2006
@@ -291,7 +291,7 @@
                 # XXX length, bitrate are very wrong
                 try:
                     vi.codec = fourcc.RIFFCODEC[type]
-                except:
+                except (KeyError, IndexError):
                     vi.codec = 'Unknown (%s)' % type
                 vi.fps = 10000000 / timeunit
                 self.video.append(vi)
@@ -323,7 +323,7 @@
         len = struct.unpack( '<I', header[:4] )[0]
         try:
             return (len+4,unicode(header[4:4+len], 'utf-8'))
-        except:
+        except (KeyError, IndexError, UnicodeDecodeError):
             return (len+4,None)
 
 

Modified: trunk/metadata/src/video/riffinfo.py
==============================================================================
--- trunk/metadata/src/video/riffinfo.py        (original)
+++ trunk/metadata/src/video/riffinfo.py        Sat Apr 22 17:22:35 2006
@@ -172,7 +172,7 @@
                   retval['rcFrame'], ) = v
                 self.delay = float(retval['dwStart']) / \
                              (float(retval['dwRate']) / retval['dwScale'])
-            except:
+            except (KeyError, IndexError, ValueError, ZeroDivisionError):
                 pass
 
         return retval
@@ -200,7 +200,7 @@
             # ai.language = strh['wLanguage']
             try:
                 ai.codec = fourcc.RIFFWAVE[retval['wFormatTag']]
-            except:
+            except (KeyError, IndexError):
                 ai.codec = "Unknown"
             self.audio.append(ai)
         elif fccType == 'vids':
@@ -220,7 +220,7 @@
             vi = mediainfo.VideoInfo()
             try:
                 vi.codec = fourcc.RIFFCODEC[t[16:20]]
-            except:
+            except (KeyError, IndexError):
                 vi.codec = "Unknown"
             vi.width = retval['biWidth']
             vi.height = retval['biHeight']


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to