Mercurial > repos > guerler > dbkit
comparison dbkit_package/DBKit.py @ 2:81c7d4668a7e draft
"planemo upload commit bd03b7888eab0b010acfc3affd38bf4d4e2bb1ef-dirty"
author | guerler |
---|---|
date | Wed, 16 Dec 2020 12:02:48 +0000 |
parents | |
children | 03e124ff7e26 |
comparison
equal
deleted
inserted
replaced
1:987e55ea29b8 | 2:81c7d4668a7e |
---|---|
1 class DBKit: | |
2 def __init__(self, indexFile, databaseFile): | |
3 self.databaseFile = databaseFile | |
4 self.index = dict() | |
5 with open(indexFile) as file: | |
6 for line in file: | |
7 cols = line.split() | |
8 try: | |
9 identifier = cols[0] | |
10 start = int(cols[1]) | |
11 size = int(cols[2]) | |
12 self.index[identifier] = [start, size] | |
13 except Exception: | |
14 raise Exception("Invalid DBKit Index file format: %s." % line) | |
15 | |
16 def createFile(self, identifier, outputName): | |
17 if identifier in self.index: | |
18 entry = self.index[identifier] | |
19 start = entry[0] | |
20 size = entry[1] | |
21 with open(self.databaseFile) as file: | |
22 file.seek(start) | |
23 content = file.read(size) | |
24 outputFile = open(outputName, "w") | |
25 outputFile.write(content) | |
26 outputFile.close() | |
27 return True | |
28 else: | |
29 return False | |
30 | |
31 def getIndex(self): | |
32 return self.index |