KDE 4.5 PyKDE API Reference
  • KDE's Python API
  • Overview
  • PyKDE Home
  • Sitemap
  • Contact Us
 

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

  • Full Index

Modules

  • akonadi
  • dnssd
  • kdecore
  • kdeui
  • khtml
  • kio
  • knewstuff
  • kparts
  • kutils
  • nepomuk
  • phonon
  • plasma
  • polkitqt
  • solid
  • soprano
This documentation is maintained by Simon Edwards.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal