| Line 899... |
Line 899... |
| 899 |
raise ArgumentError("Could not open local file for writing.")
|
899 |
raise ArgumentError("Could not open local file for writing.")
|
| 900 |
self.logger.info("Reading volume %s sectors %X - %X to %s..." % (volume, sector, sector + count - 1, file))
|
900 |
self.logger.info("Reading volume %s sectors %X - %X to %s..." % (volume, sector, sector + count - 1, file))
|
| 901 |
storageinfo = self.emcore.storage_get_info(volume)
|
901 |
storageinfo = self.emcore.storage_get_info(volume)
|
| 902 |
while count > 0:
|
902 |
while count > 0:
|
| 903 |
sectors = min(count, int(buffsize / storageinfo.sectorsize))
|
903 |
sectors = min(count, int(buffsize / storageinfo.sectorsize))
|
| 904 |
self.emcore.storage_read_sectors_md(volume, sector, sectors, buffsize, buffer)
|
904 |
self.emcore.storage_read_sectors_md(volume, sector, sectors, buffer, buffsize)
|
| 905 |
f.write(self.emcore.read(buffer, storageinfo.sectorsize * sectors))
|
905 |
f.write(self.emcore.read(buffer, storageinfo.sectorsize * sectors))
|
| 906 |
sector = sector + sectors
|
906 |
sector = sector + sectors
|
| 907 |
count = count - sectors
|
907 |
count = count - sectors
|
| 908 |
f.close()
|
908 |
f.close()
|
| 909 |
finally:
|
909 |
finally:
|
| Line 939... |
Line 939... |
| 939 |
bytes = storageinfo.sectorsize * sectors
|
939 |
bytes = storageinfo.sectorsize * sectors
|
| 940 |
data = f.read(bytes)
|
940 |
data = f.read(bytes)
|
| 941 |
if len(data) == 0: break
|
941 |
if len(data) == 0: break
|
| 942 |
while len(data) < bytes: data = data + f.read(bytes - len(data))
|
942 |
while len(data) < bytes: data = data + f.read(bytes - len(data))
|
| 943 |
self.emcore.write(buffer, data)
|
943 |
self.emcore.write(buffer, data)
|
| 944 |
self.emcore.storage_write_sectors_md(volume, sector, sectors, buffsize, buffer)
|
944 |
self.emcore.storage_write_sectors_md(volume, sector, sectors, buffer, buffsize)
|
| 945 |
sector = sector + sectors
|
945 |
sector = sector + sectors
|
| 946 |
count = count - sectors
|
946 |
count = count - sectors
|
| 947 |
f.close()
|
947 |
f.close()
|
| 948 |
finally:
|
948 |
finally:
|
| 949 |
if malloc == True:
|
949 |
if malloc == True:
|