KTempDir Class Reference
from PyKDE4.kdecore import *
Detailed Description
\class KTempDir ktempdir.h <KTempDir>
Create a unique directory for temporary use.
The KTempDir class creates a unique directory for temporary use.
This is especially useful if you need to create a directory in a world writable directory like /tmp without being vulnerable to so called symlink attacks.
KDE applications, however, shouldn't create files or directories in /tmp in the first place but use the "tmp" resource instead. The standard KTempDir constructor will do that by default.
To create a temporary directory that starts with a certain name in the "tmp" resource, one should use: KTempDir(KStandardDirs.locateLocal("tmp", prefix));
KTempDir does not create any missing directories, but KStandardDirs.locateLocal() does.
- See also:
- KStandardDirs
- See also:
- KTemporaryFile
Methods | |
__init__ (self, QString directoryPrefix=QString(), int mode=0700) | |
__init__ (self, KTempDir a0) | |
bool | autoRemove (self) |
bool | create (self, QString directoryPrefix, int mode) |
bool | exists (self) |
QString | name (self) |
setAutoRemove (self, bool autoRemove) | |
int | status (self) |
unlink (self) | |
Static Methods | |
bool | removeDir (QString path) |
Method Documentation
__init__ | ( | self, | ||
QString | directoryPrefix=QString(), | |||
int | mode=0700 | |||
) |
Creates a temporary directory with the name: \<directoryPrefix\>\<six letters>
The default directoryPrefix is "$KDEHOME/tmp-$HOST/appname", i.e. as returned by KStandardDirs.locateLocal("tmp", KGlobal.mainComponent().componentName())
- Parameters:
-
directoryPrefix the prefix of the file name, or QString() for the default value mode the file permissions, almost always in octal. The first digit selects permissions for the user who owns the file: read (4), write (2), and execute (1); the second selects permissions for other users in the file's group, with the same values; and the third for other users not in the file's group, with the same values.
__init__ | ( | self, | ||
KTempDir | a0 | |||
) |
bool autoRemove | ( | self ) |
- Returns:
- whether auto remove is active
- See also:
- setAutoRemove
bool create | ( | self, | ||
QString | directoryPrefix, | |||
int | mode | |||
) |
Creates a "random" directory with specified mode
- Parameters:
-
directoryPrefix to use when creating temp directory (the rest is generated randomly) mode directory permissions
- Returns:
- true upon success
bool exists | ( | self ) |
Returns true if a temporary directory has successfully been created and has not been unlinked yet.
QString name | ( | self ) |
Returns the full path and name of the directory, including a trailing '/'.
- Returns:
- The name of the directory, or QString() if creating the directory has failed or the directory has been unlinked
setAutoRemove | ( | self, | ||
bool | autoRemove | |||
) |
Turn automatic deletion of the directory on or off. Automatic deletion is on by default.
- Parameters:
-
autoRemove toggle automatic deletion on or off
int status | ( | self ) |
Returns the status of the directory creation based on errno. (see errno.h)
- Note:
- You should check the status after object creation to check whether the directory could be created.
- Returns:
- the errno status, 0 means ok
unlink | ( | self ) |
Deletes the directory recursively
Static Method Documentation
bool removeDir | ( | QString | path | |
) |
Remove a directory and all its contents
Remove recursively a directory, even if it is not empty or contains other directories.
However the function works too when the path given is a non-directory file. In that case it simply remove that file.
The function stops on the first error.
- Note:
- This function is more meant for removing a directory not created by the user. For user-created directories, using KIO.NetAccess.del is recommended instead, especially as it has user feedback for long operations.
- Parameters:
-
path Path of the directory to delete
- Returns:
- true if successful, otherwise false (Use errno for more details about the error.)