@@ -452,22 +452,20 @@ def sheet_names(self):
452
452
# @return true if sheet is loaded, false otherwise
453
453
# <br /> -- New in version 0.7.1
454
454
def sheet_loaded (self , sheet_name_or_index ):
455
- # using type(1) because int won't work with Python 2.1
456
- if isinstance (sheet_name_or_index , type (1 )):
455
+ if isinstance (sheet_name_or_index , int ):
457
456
sheetx = sheet_name_or_index
458
457
else :
459
458
try :
460
459
sheetx = self ._sheet_names .index (sheet_name_or_index )
461
460
except ValueError :
462
461
raise XLRDError ('No sheet named <%r>' % sheet_name_or_index )
463
- return self ._sheet_list [sheetx ] and True or False # Python 2.1 again
462
+ return bool ( self ._sheet_list [sheetx ])
464
463
465
464
##
466
465
# @param sheet_name_or_index Name or index of sheet to be unloaded.
467
466
# <br /> -- New in version 0.7.1
468
467
def unload_sheet (self , sheet_name_or_index ):
469
- # using type(1) because int won't work with Python 2.1
470
- if isinstance (sheet_name_or_index , type (1 )):
468
+ if isinstance (sheet_name_or_index , int ):
471
469
sheetx = sheet_name_or_index
472
470
else :
473
471
try :
@@ -566,43 +564,18 @@ def biff2_8_load(self, filename=None, file_contents=None,
566
564
self .ragged_rows = ragged_rows
567
565
568
566
if not file_contents :
569
- if python_version < (2 , 2 ) and self .use_mmap :
570
- # need to open for update
571
- open_mode = "r+b"
572
- else :
573
- open_mode = "rb"
574
- retry = False
575
- f = None
576
- try :
577
- try :
578
- f = open (filename , open_mode )
579
- except IOError :
580
- e , v = sys .exc_info ()[:2 ]
581
- if open_mode == "r+b" \
582
- and (v .errno == 13 or v .strerror == "Permission denied" ):
583
- # Maybe the file is read-only
584
- retry = True
585
- self .use_mmap = False
586
- else :
587
- raise
588
- if retry :
589
- f = open (filename , "rb" )
567
+ with open (filename , "rb" ) as f :
590
568
f .seek (0 , 2 ) # EOF
591
569
size = f .tell ()
592
570
f .seek (0 , 0 ) # BOF
593
571
if size == 0 :
594
572
raise XLRDError ("File size is 0 bytes" )
595
573
if self .use_mmap :
596
- if python_version < (2 , 2 ):
597
- self .filestr = mmap .mmap (f .fileno (), size )
598
- else :
599
- self .filestr = mmap .mmap (f .fileno (), size , access = mmap .ACCESS_READ )
574
+ self .filestr = mmap .mmap (f .fileno (), size , access = mmap .ACCESS_READ )
600
575
self .stream_len = size
601
576
else :
602
577
self .filestr = f .read ()
603
578
self .stream_len = len (self .filestr )
604
- finally :
605
- if f : f .close ()
606
579
else :
607
580
self .filestr = file_contents
608
581
self .stream_len = len (file_contents )
@@ -800,11 +773,10 @@ def derive_encoding(self):
800
773
# we're well & truly stuffed -- let the punter know ASAP.
801
774
try :
802
775
_unused = unicode (b'trial' , self .encoding )
803
- except :
804
- ei = sys .exc_info ()[:2 ]
776
+ except BaseException as e :
805
777
fprintf (self .logfile ,
806
778
"ERROR *** codepage %r -> encoding %r -> %s: %s\n " ,
807
- self .codepage , self .encoding , ei [ 0 ] .__name__ .split ("." )[- 1 ], ei [ 1 ] )
779
+ self .codepage , self .encoding , type ( e ) .__name__ .split ("." )[- 1 ], e )
808
780
raise
809
781
if self .raw_user_name :
810
782
strg = unpack_string (self .user_name , 0 , self .encoding , lenlen = 1 )
0 commit comments