Changeset 1330
- Timestamp:
- 07/24/09 09:30:49 (12 months ago)
- Files:
-
- 1 modified
-
Rtree/trunk/rtree/index.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
Rtree/trunk/rtree/index.py
r1327 r1330 20 20 21 21 class Index(object): 22 def __init__(self, filename=None, 23 properties=None, 24 owned = True, 25 pagesize = None): 26 if properties: 27 self.properties = properties 22 def __init__(self, *args, **kwargs): 23 24 try: 25 self.properties = kwargs['properties'] 26 except KeyError: 27 self.properties = Property() 28 29 if args: 30 basename = args[0] 28 31 else: 29 self.properties = Property() 30 31 if filename: 32 self.properties.filename = filename 32 basename = None 33 34 if basename: 35 self.properties.storage = RT_Disk 36 self.properties.filename = basename 37 38 # check we can read the file 39 p = os.path.abspath(basename) 40 d = os.path.dirname(p) 41 if not os.access(d, os.W_OK): 42 message = "Unable to open file '%s' for index storage"%basename 43 raise IOError(message) 33 44 else: 34 45 self.properties.storage = RT_Memory 35 if pagesize: 36 self.properties.pagesize = pagesize 46 47 if basename: 48 self.properties.filename = basename 49 else: 50 self.properties.storage = RT_Memory 51 52 try: 53 self.properties.pagesize = int(kwargs['pagesize']) 54 except KeyError: 55 pass 56 57 try: 58 self.properties.overwrite = bool(kwargs['overwrite']) 59 except KeyError: 60 pass 37 61 38 62 self.handle = core.rt.Index_Create(self.properties.handle) … … 268 292 def __init__(self, *args, **kwargs): 269 293 270 if args: 271 basename = args[0] 272 else: 273 basename = None 274 275 self.properties = Property() 276 277 if basename: 278 self.properties.storage = RT_Disk 279 self.properties.filename = basename 280 281 # check we can read the file 282 p = os.path.abspath(basename) 283 d = os.path.dirname(p) 284 if not os.access(d, os.W_OK): 285 message = "Unable to open file '%s' for index storage"%basename 286 raise IOError(message) 287 288 else: 289 self.properties.storage = RT_Memory 290 291 try: 292 self.properties.pagesize = int(kwargs['pagesize']) 293 except KeyError: 294 pass 295 296 try: 297 self.properties.overwrite = bool(kwargs['overwrite']) 298 except KeyError: 299 pass 300 301 302 self.handle = core.rt.Index_Create(self.properties.handle) 303 self.owned = True 294 super(Rtree, self).__init__(*args, **kwargs) 295 304 296 305 297 class Item(object):
