- if "file_worldstate" in io_db: # This file is only set up
- io_db["file_worldstate"].close() # properly when the game
- if os.access(io_db["path_worldstate"], os.F_OK): # world is active, which is
- os.remove(io_db["path_worldstate"]) # not guaranteed.
+ if "file_worldstate" in io_db: # This file's only set up
+ io_db["file_worldstate"].close() # properly when the game
+ if os.access(io_db["path_worldstate"], os.F_OK): # world is active, which
+ os.remove(io_db["path_worldstate"]) # is not guaranteed.
+
+
+def detect_atomic_leftover(path):
+ """Raise HandledException if file is found at path + "_tmp"."""
+ path_tmp = path + "_tmp"
+ msg = "Found file '" + path_tmp + "' that may be a leftover from an " \
+ "aborted previous attempt to write '" + path + "'. Aborting until " \
+ "the matter is resolved by removing it from its current path."
+ if os.access(path_tmp, os.F_OK):
+ raise HandledException(msg)
+