Page Contents

OMERO

Downloads
Feature List
Licensing

Previous topic

OMERO Import Library

Next topic

Exception handling

This Page

TempFileManager

Class to be used by Working with OMERO and server components to allow a uniform creation of temporary files and folders with a best-effort guarantee of deleting the resources on exit. The manager searches three locations in order, taking the first which allows lockable write-access (See #1653):

  • The environment property setting OMERO_TEMPDIR
  • The user’s home directory, for example specified in Java via System.getProperty("user.home")
  • The system temp directory, in Java System.getProperty("java.io.tmpdir") and in Python tempfile.gettempdir()

Creating temporary files

For the user “ralph”,

from omero.util.temp_files import create_path
path = create_path("omero",".tmp")

or

import omero.util.TempFileManager
File file = TempFileManager.create_path("omero",".tmp")

both produce a file under the directory:

/tmp/omero_ralph/$PID/omero$RANDOM.tmp

where $PID is the current process id and $RANDOM is some random sequence of alphanumeric characters.

Removing files

If remove_path is called on the return value of create_path, then the temporary resources will be cleaned up immediately. Otherwise, when the Java or Python process exits, they will be deleted. This is achieved in Java through Runtime#addShutdownHook(Thread) and in Python via atexit.register().

Creating directories

If an entire directory with a unique directory is needed, pass “true” as the “folder” argument of the create_path method:

create_path("omero", ".tmp", folder = True)

and

TempFileManager.create_path("omero", ".tmp", true);

Note

All contents of the generated directory will be deleted.

See also

#1534