equal
deleted
inserted
replaced
425 def _read(self): |
425 def _read(self): |
426 if not self.path: |
426 if not self.path: |
427 return |
427 return |
428 try: |
428 try: |
429 fp = open(self.path, 'r') |
429 fp = open(self.path, 'r') |
430 except IOError, err: |
430 except IOError as err: |
431 if err.errno != errno.ENOENT: |
431 if err.errno != errno.ENOENT: |
432 raise |
432 raise |
433 return |
433 return |
434 for i, line in enumerate(fp): |
434 for i, line in enumerate(fp): |
435 line = line.splitlines()[0].rstrip() |
435 line = line.splitlines()[0].rstrip() |
449 |
449 |
450 def __setitem__(self, key, value): |
450 def __setitem__(self, key, value): |
451 if self.fp is None: |
451 if self.fp is None: |
452 try: |
452 try: |
453 self.fp = open(self.path, 'a') |
453 self.fp = open(self.path, 'a') |
454 except IOError, err: |
454 except IOError as err: |
455 raise util.Abort(_('could not open map file %r: %s') % |
455 raise util.Abort(_('could not open map file %r: %s') % |
456 (self.path, err.strerror)) |
456 (self.path, err.strerror)) |
457 self.fp.write('%s %s\n' % (key, value)) |
457 self.fp.write('%s %s\n' % (key, value)) |
458 self.fp.flush() |
458 self.fp.flush() |
459 super(mapfile, self).__setitem__(key, value) |
459 super(mapfile, self).__setitem__(key, value) |