KTempDir

KDE 4.5 PyKDE API Reference

- KDE's Python API

# 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

Author:
  Joseph Wenninger <jowenn@kde.org>

## 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.)

To do: decide how and where this function should be defined in KDE4