Use type(xxx) in stead of except TypeError.

This commit is contained in:
Sjoerd Mullender 1993-03-29 10:50:29 +00:00
parent 8562c4cee6
commit 04321d1e47
2 changed files with 102 additions and 106 deletions

View file

@ -5,21 +5,21 @@
Error = 'Readcd.Error' Error = 'Readcd.Error'
_Stop = 'Readcd.Stop' _Stop = 'Readcd.Stop'
def _doatime(self, type, data): def _doatime(self, cb_type, data):
if ((data[0] * 60) + data[1]) * 75 + data[2] > self.end: if ((data[0] * 60) + data[1]) * 75 + data[2] > self.end:
## print 'done with list entry',`self.listindex` ## print 'done with list entry',`self.listindex`
raise _Stop raise _Stop
func, arg = self.callbacks[type] func, arg = self.callbacks[cb_type]
if func: if func:
func(arg, type, data) func(arg, cb_type, data)
def _dopnum(self, type, data): def _dopnum(self, cb_type, data):
if data > self.end: if data > self.end:
## print 'done with list entry',`self.listindex` ## print 'done with list entry',`self.listindex`
raise _Stop raise _Stop
func, arg = self.callbacks[type] func, arg = self.callbacks[cb_type]
if func: if func:
func(arg, type, data) func(arg, cb_type, data)
class Readcd(): class Readcd():
def init(self, *arg): def init(self, *arg):
@ -82,7 +82,10 @@ def appendstretch(self, start, end):
start = 1 start = 1
if not end: if not end:
end = self.status[6] end = self.status[6]
try: if type(end) == type(0):
if end < self.status[5] or end > self.status[6]:
raise Error, 'range error'
else:
l = len(end) l = len(end)
if l == 4: if l == 4:
prog, min, sec, frame = end prog, min, sec, frame = end
@ -91,10 +94,16 @@ def appendstretch(self, start, end):
end = self.pmsf2msf(prog, min, sec, frame) end = self.pmsf2msf(prog, min, sec, frame)
elif l <> 3: elif l <> 3:
raise Error, 'syntax error' raise Error, 'syntax error'
except TypeError: if type(start) == type(0):
if end < self.status[5] or end > self.status[6]: if start < self.status[5] or start > self.status[6]:
raise Error, 'range error' raise Error, 'range error'
try: if len(self.list) > 0:
s, e = self.list[-1]
if type(e) == type(0):
if start == e+1:
start = s
del self.list[-1]
else:
l = len(start) l = len(start)
if l == 4: if l == 4:
prog, min, sec, frame = start prog, min, sec, frame = start
@ -103,17 +112,6 @@ def appendstretch(self, start, end):
start = self.pmsf2msf(prog, min, sec, frame) start = self.pmsf2msf(prog, min, sec, frame)
elif l <> 3: elif l <> 3:
raise Error, 'syntax error' raise Error, 'syntax error'
except TypeError:
if start < self.status[5] or start > self.status[6]:
raise Error, 'range error'
if len(self.list) > 0:
s, e = self.list[-1]
try:
l = len(e)
except TypeError:
if start == e+1:
start = s
del self.list[-1]
self.list.append((start, end)) self.list.append((start, end))
def settracks(self, list): def settracks(self, list):
@ -121,31 +119,31 @@ def settracks(self, list):
for track in list: for track in list:
self.appendtrack(track) self.appendtrack(track)
def setcallback(self, type, func, arg): def setcallback(self, cb_type, func, arg):
if type < 0 or type >= 8: if cb_type < 0 or cb_type >= 8:
raise Error, 'type out of range' raise Error, 'type out of range'
self.callbacks[type] = (func, arg) self.callbacks[cb_type] = (func, arg)
if self.playing: if self.playing:
try: start, end = self.list[self.listindex]
l = len(end) if type(end) == type(0):
if type <> CD.ATIME: if cb_type <> CD.PNUM:
self.parser.setcallback(type, func, arg) self.parser.setcallback(cb_type, func, arg)
except TypeError: else:
if type <> CD.PNUM: if cb_type <> CD.ATIME:
self.parser.setcallback(type, func, arg) self.parser.setcallback(cb_type, func, arg)
def removecallback(self, type): def removecallback(self, cb_type):
if type < 0 or type >= 8: if cb_type < 0 or cb_type >= 8:
raise Error, 'type out of range' raise Error, 'type out of range'
self.callbacks[type] = (None, None) self.callbacks[cb_type] = (None, None)
if self.playing: if self.playing:
try: start, end = self.list[self.listindex]
l = len(end) if type(end) == type(0):
if type <> CD.ATIME: if cb_type <> CD.PNUM:
self.parser.removecallback(type) self.parser.removecallback(cb_type)
except TypeError: else:
if type <> CD.PNUM: if cb_type <> CD.ATIME:
self.parser.removecallback(type) self.parser.removecallback(cb_type)
def gettrackinfo(self, *arg): def gettrackinfo(self, *arg):
if not self.status: if not self.status:
@ -200,12 +198,20 @@ def play(self):
return return
start, end = self.list[self.listindex] start, end = self.list[self.listindex]
## print 'starting with',`(start, end)` ## print 'starting with',`(start, end)`
try: if type(start) == type(0):
dummy = self.player.seektrack(start)
else:
min, sec, frame = start min, sec, frame = start
dummy = self.player.seek(min, sec, frame) dummy = self.player.seek(min, sec, frame)
except TypeError: if type(end) == type(0):
dummy = self.player.seektrack(start) self.parser.setcallback(CD.PNUM, _dopnum, self)
try: self.end = end
func, arg = self.callbacks[CD.ATIME]
if func:
self.parser.setcallback(CD.ATIME, func, arg)
else:
self.parser.removecallback(CD.ATIME)
else:
min, sec, frame = end min, sec, frame = end
self.parser.setcallback(CD.ATIME, _doatime, self) self.parser.setcallback(CD.ATIME, _doatime, self)
self.end = (min * 60 + sec) * 75 + frame self.end = (min * 60 + sec) * 75 + frame
@ -214,14 +220,6 @@ def play(self):
self.parser.setcallback(CD.PNUM, func, arg) self.parser.setcallback(CD.PNUM, func, arg)
else: else:
self.parser.removecallback(CD.PNUM) self.parser.removecallback(CD.PNUM)
except TypeError:
self.parser.setcallback(CD.PNUM, _dopnum, self)
self.end = end
func, arg = self.callbacks[CD.ATIME]
if func:
self.parser.setcallback(CD.ATIME, func, arg)
else:
self.parser.removecallback(CD.ATIME)
self.playing = 1 self.playing = 1
data = self.player.readda(size) data = self.player.readda(size)
if data == '': if data == '':

View file

@ -5,21 +5,21 @@
Error = 'Readcd.Error' Error = 'Readcd.Error'
_Stop = 'Readcd.Stop' _Stop = 'Readcd.Stop'
def _doatime(self, type, data): def _doatime(self, cb_type, data):
if ((data[0] * 60) + data[1]) * 75 + data[2] > self.end: if ((data[0] * 60) + data[1]) * 75 + data[2] > self.end:
## print 'done with list entry',`self.listindex` ## print 'done with list entry',`self.listindex`
raise _Stop raise _Stop
func, arg = self.callbacks[type] func, arg = self.callbacks[cb_type]
if func: if func:
func(arg, type, data) func(arg, cb_type, data)
def _dopnum(self, type, data): def _dopnum(self, cb_type, data):
if data > self.end: if data > self.end:
## print 'done with list entry',`self.listindex` ## print 'done with list entry',`self.listindex`
raise _Stop raise _Stop
func, arg = self.callbacks[type] func, arg = self.callbacks[cb_type]
if func: if func:
func(arg, type, data) func(arg, cb_type, data)
class Readcd(): class Readcd():
def init(self, *arg): def init(self, *arg):
@ -82,7 +82,10 @@ def appendstretch(self, start, end):
start = 1 start = 1
if not end: if not end:
end = self.status[6] end = self.status[6]
try: if type(end) == type(0):
if end < self.status[5] or end > self.status[6]:
raise Error, 'range error'
else:
l = len(end) l = len(end)
if l == 4: if l == 4:
prog, min, sec, frame = end prog, min, sec, frame = end
@ -91,10 +94,16 @@ def appendstretch(self, start, end):
end = self.pmsf2msf(prog, min, sec, frame) end = self.pmsf2msf(prog, min, sec, frame)
elif l <> 3: elif l <> 3:
raise Error, 'syntax error' raise Error, 'syntax error'
except TypeError: if type(start) == type(0):
if end < self.status[5] or end > self.status[6]: if start < self.status[5] or start > self.status[6]:
raise Error, 'range error' raise Error, 'range error'
try: if len(self.list) > 0:
s, e = self.list[-1]
if type(e) == type(0):
if start == e+1:
start = s
del self.list[-1]
else:
l = len(start) l = len(start)
if l == 4: if l == 4:
prog, min, sec, frame = start prog, min, sec, frame = start
@ -103,17 +112,6 @@ def appendstretch(self, start, end):
start = self.pmsf2msf(prog, min, sec, frame) start = self.pmsf2msf(prog, min, sec, frame)
elif l <> 3: elif l <> 3:
raise Error, 'syntax error' raise Error, 'syntax error'
except TypeError:
if start < self.status[5] or start > self.status[6]:
raise Error, 'range error'
if len(self.list) > 0:
s, e = self.list[-1]
try:
l = len(e)
except TypeError:
if start == e+1:
start = s
del self.list[-1]
self.list.append((start, end)) self.list.append((start, end))
def settracks(self, list): def settracks(self, list):
@ -121,31 +119,31 @@ def settracks(self, list):
for track in list: for track in list:
self.appendtrack(track) self.appendtrack(track)
def setcallback(self, type, func, arg): def setcallback(self, cb_type, func, arg):
if type < 0 or type >= 8: if cb_type < 0 or cb_type >= 8:
raise Error, 'type out of range' raise Error, 'type out of range'
self.callbacks[type] = (func, arg) self.callbacks[cb_type] = (func, arg)
if self.playing: if self.playing:
try: start, end = self.list[self.listindex]
l = len(end) if type(end) == type(0):
if type <> CD.ATIME: if cb_type <> CD.PNUM:
self.parser.setcallback(type, func, arg) self.parser.setcallback(cb_type, func, arg)
except TypeError: else:
if type <> CD.PNUM: if cb_type <> CD.ATIME:
self.parser.setcallback(type, func, arg) self.parser.setcallback(cb_type, func, arg)
def removecallback(self, type): def removecallback(self, cb_type):
if type < 0 or type >= 8: if cb_type < 0 or cb_type >= 8:
raise Error, 'type out of range' raise Error, 'type out of range'
self.callbacks[type] = (None, None) self.callbacks[cb_type] = (None, None)
if self.playing: if self.playing:
try: start, end = self.list[self.listindex]
l = len(end) if type(end) == type(0):
if type <> CD.ATIME: if cb_type <> CD.PNUM:
self.parser.removecallback(type) self.parser.removecallback(cb_type)
except TypeError: else:
if type <> CD.PNUM: if cb_type <> CD.ATIME:
self.parser.removecallback(type) self.parser.removecallback(cb_type)
def gettrackinfo(self, *arg): def gettrackinfo(self, *arg):
if not self.status: if not self.status:
@ -200,12 +198,20 @@ def play(self):
return return
start, end = self.list[self.listindex] start, end = self.list[self.listindex]
## print 'starting with',`(start, end)` ## print 'starting with',`(start, end)`
try: if type(start) == type(0):
dummy = self.player.seektrack(start)
else:
min, sec, frame = start min, sec, frame = start
dummy = self.player.seek(min, sec, frame) dummy = self.player.seek(min, sec, frame)
except TypeError: if type(end) == type(0):
dummy = self.player.seektrack(start) self.parser.setcallback(CD.PNUM, _dopnum, self)
try: self.end = end
func, arg = self.callbacks[CD.ATIME]
if func:
self.parser.setcallback(CD.ATIME, func, arg)
else:
self.parser.removecallback(CD.ATIME)
else:
min, sec, frame = end min, sec, frame = end
self.parser.setcallback(CD.ATIME, _doatime, self) self.parser.setcallback(CD.ATIME, _doatime, self)
self.end = (min * 60 + sec) * 75 + frame self.end = (min * 60 + sec) * 75 + frame
@ -214,14 +220,6 @@ def play(self):
self.parser.setcallback(CD.PNUM, func, arg) self.parser.setcallback(CD.PNUM, func, arg)
else: else:
self.parser.removecallback(CD.PNUM) self.parser.removecallback(CD.PNUM)
except TypeError:
self.parser.setcallback(CD.PNUM, _dopnum, self)
self.end = end
func, arg = self.callbacks[CD.ATIME]
if func:
self.parser.setcallback(CD.ATIME, func, arg)
else:
self.parser.removecallback(CD.ATIME)
self.playing = 1 self.playing = 1
data = self.player.readda(size) data = self.player.readda(size)
if data == '': if data == '':