(self, objid)
| 194 | return |
| 195 | |
| 196 | def get_pos(self, objid): |
| 197 | offset = 0 |
| 198 | found = False |
| 199 | for objid_range in self.objid_ranges: |
| 200 | if objid >= objid_range.get_start_id() and objid <= objid_range.get_end_id(): |
| 201 | offset += objid - objid_range.get_start_id() |
| 202 | found = True |
| 203 | break |
| 204 | else: |
| 205 | offset += objid_range.get_nobjs() |
| 206 | if not found: raise KeyError(objid) |
| 207 | i = self.entlen * offset |
| 208 | ent = self.data[i:i+self.entlen] |
| 209 | f1 = nunpack(ent[:self.fl1], 1) |
| 210 | if f1 == 1: |
| 211 | pos = nunpack(ent[self.fl1:self.fl1+self.fl2]) |
| 212 | genno = nunpack(ent[self.fl1+self.fl2:]) |
| 213 | return (None, pos) |
| 214 | elif f1 == 2: |
| 215 | objid = nunpack(ent[self.fl1:self.fl1+self.fl2]) |
| 216 | index = nunpack(ent[self.fl1+self.fl2:]) |
| 217 | return (objid, index) |
| 218 | # this is a free object |
| 219 | raise KeyError(objid) |
| 220 | |
| 221 | |
| 222 | ## PDFPage |
nothing calls this directly
no test coverage detected