equal
deleted
inserted
replaced
2137 if exctype is not None: |
2137 if exctype is not None: |
2138 self.discard() |
2138 self.discard() |
2139 else: |
2139 else: |
2140 self.close() |
2140 self.close() |
2141 |
2141 |
2142 def unlinkpath(f, ignoremissing=False): |
2142 def unlinkpath(f, ignoremissing=False, rmdir=True): |
2143 """unlink and remove the directory if it is empty""" |
2143 """unlink and remove the directory if it is empty""" |
2144 if ignoremissing: |
2144 if ignoremissing: |
2145 tryunlink(f) |
2145 tryunlink(f) |
2146 else: |
2146 else: |
2147 unlink(f) |
2147 unlink(f) |
2148 # try removing directories that might now be empty |
2148 if rmdir: |
2149 try: |
2149 # try removing directories that might now be empty |
2150 removedirs(os.path.dirname(f)) |
2150 try: |
2151 except OSError: |
2151 removedirs(os.path.dirname(f)) |
2152 pass |
2152 except OSError: |
|
2153 pass |
2153 |
2154 |
2154 def tryunlink(f): |
2155 def tryunlink(f): |
2155 """Attempt to remove a file, ignoring ENOENT errors.""" |
2156 """Attempt to remove a file, ignoring ENOENT errors.""" |
2156 try: |
2157 try: |
2157 unlink(f) |
2158 unlink(f) |