def reopen(self):
        reopen = False
        # if we've never had an inode, we can simply open
        if not self.inode:
            reopen = True
        else:
            try:
                sb = os.stat(self.path)
                inode = (sb.st_dev, sb.st_ino)
                if inode != self.inode:
                    reopen = True
            except __HOLE__:
                reopen = True
        # if we don't need to re-open the log file, return now
        if not reopen:
            return
        # otherwise, re-open the log file
        if self.readOnly:
            self.fobj = open(self.path, 'rb')
        else:
            self.fobj = open(self.path, 'a+')
        # record the inode of the log file
        sb = os.stat(self.path)
        self.inode = (sb.st_dev, sb.st_ino)
dataset/ETHPy150Open sassoftware/conary/conary/repository/calllog.py/AbstractCallLogger.reopen