QGIS/python/core/auto_generated/qgsfileutils.sip.in
Nyall Dawson 3f6b490218 Sipify
2025-04-02 11:11:10 +10:00

244 lines
8.4 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsfileutils.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsFileUtils
{
%Docstring(signature="appended")
Contains utilities for working with files.
%End
%TypeHeaderCode
#include "qgsfileutils.h"
%End
public:
static QString representFileSize( qint64 bytes );
%Docstring
Returns the human size from bytes
%End
static QStringList extensionsFromFilter( const QString &filter );
%Docstring
Returns a list of the extensions contained within a file ``filter``
string. E.g. a ``filter`` of ``GeoTIFF Files (*.tiff *.tif)`` would
return a list containing ``tiff``, ``tif``. The initial '.' is stripped
off the extension.
.. seealso:: :py:func:`ensureFileNameHasExtension`
.. seealso:: :py:func:`addExtensionFromFilter`
%End
static QString wildcardsFromFilter( const QString &filter );
%Docstring
Given a ``filter`` string like ``GeoTIFF Files (*.tiff *.tif)``,
extracts the wildcard portion of this filter (i.e. ``*.tiff *.tif``).
.. versionadded:: 3.18
%End
static bool fileMatchesFilter( const QString &fileName, const QString &filter );
%Docstring
Returns ``True`` if the given ``fileName`` matches a file ``filter``
string.
E.g a filter of ``GeoTIFF Files (*.tiff *.tif)`` would return ``True``
for a ``fileName`` of ``/home/test.tif``, or ``False`` for
``/home/test.jpg``.
.. versionadded:: 3.18
%End
static QString ensureFileNameHasExtension( const QString &fileName, const QStringList &extensions );
%Docstring
Ensures that a ``fileName`` ends with an extension from the provided
list of ``extensions``.
E.g. if extensions contains ``tif`` and ``tiff``, then a ``fileName`` of
``d:/my_file`` will return ``d:/my_file.tif``. A ``fileName`` of
``d:/my_file.TIFF`` or ``d:/my_file.TIF`` will be returned unchanged.
.. seealso:: :py:func:`extensionsFromFilter`
.. seealso:: :py:func:`addExtensionFromFilter`
%End
static QString addExtensionFromFilter( const QString &fileName, const QString &filter );
%Docstring
Ensures that a ``fileName`` ends with an extension from the specified
``filter`` string.
E.g. a ``fileName`` of ``d:/my_file`` with a filter of ``GeoTIFF Files
(*.tiff *.tif)`` will return ``d:/my_file.tif``, where as ``fileName``
of ``d:/my_file.TIFF`` or ``d:/my_file.TIF`` will be returned unchanged.
.. seealso:: :py:func:`extensionsFromFilter`
.. seealso:: :py:func:`ensureFileNameHasExtension`
%End
static QString stringToSafeFilename( const QString &string );
%Docstring
Converts a ``string`` to a safe filename, replacing characters which are
not safe for filenames with an '_' character.
.. warning::
This method strips slashes from the filename, so it is safe to call with file names only, not complete paths.
%End
static QString findClosestExistingPath( const QString &path );
%Docstring
Returns the top-most existing folder from ``path``. E.g. if ``path`` is
``/home/user/projects/2018/P4343`` and ``/home/user/projects`` exists
but no ``2018`` subfolder exists, then the function will return
``/home/user/projects``.
.. versionadded:: 3.2
%End
static QStringList findFile( const QString &file, const QString &basepath = QString(), int maxClimbs = 4, int searchCeiling = 4, const QString &currentDir = QString() );
%Docstring
Will check ``basepath`` in an outward spiral up to ``maxClimbs`` levels
to check if ``file`` exists.
:param file: Name or full path of the file to find
:param basepath: current basepath of the file, needed if only the name
is specified in file
:param maxClimbs: limit the number of time the search can move up from
the basepath
:param searchCeiling: limits where in the folder hierarchy the search
can be performed, 1 = root/drive, 2 = first folder
level, 3 = sub folders ( Unix: /usr/bin, Win:
C:/Users/Admin ), etc.
:param currentDir: alternative default directory to override the actual
current directory during the search
:return: List of strings of the first matching path in unix format.
.. versionadded:: 3.12
%End
static Qgis::DriveType driveType( const QString &path ) throw( QgsNotSupportedException );
%Docstring
Returns the drive type for the given ``path``.
:raises QgsNotSupportedException: if determining the drive type is not
supported on the current platform.
.. versionadded:: 3.20
%End
static bool pathIsSlowDevice( const QString &path );
%Docstring
Returns ``True`` if the specified ``path`` is assumed to reside on a
slow device, e.g. a remote network drive or other non-fixed device.
.. versionadded:: 3.20
%End
static QSet< QString > sidecarFilesForPath( const QString &path );
%Docstring
Returns a list of the sidecar files which exist for the dataset a the
specified ``path``.
In this context a sidecar file is defined as a file which shares the
same base filename as a dataset, but which differs in file extension. It
defines the list of additional files which must be renamed or deleted
alongside the main file associated with the dataset in order to
completely rename/delete the dataset.
For instance, if ``path`` specified a .shp file then the corresponding
.dbf, .idx and .prj files would be returned (amongst others).
.. note::
QGIS metadata files (.qmd) and map layer styling files (.qml) are NOT included
in the returned list.
.. versionadded:: 3.22
%End
static bool renameDataset( const QString &oldPath, const QString &newPath, QString &error /Out/, Qgis::FileOperationFlags flags = Qgis::FileOperationFlag::IncludeMetadataFile | Qgis::FileOperationFlag::IncludeStyleFile );
%Docstring
Renames the dataset at ``oldPath`` to ``newPath``, renaming both the
file at ``oldPath`` and all associated sidecar files which exist for it.
For instance, if ``oldPath`` specified a .shp file then the
corresponding .dbf, .idx and .prj files would be renamed (amongst
others).
The destination directory must already exist.
The optional ``flags`` argument can be used to control whether QMD
metadata files and QML styling files should also be renamed accordingly.
By default these will be renamed, but manually specifying a different
set of flags allows callers to avoid this when desired.
:param oldPath: original path to dataset
:param newPath: new path for dataset
:param flags: optional flags to control file operation behavior
:return: - ``True`` if the dataset was successfully renamed, or
``False`` if an error occurred
- error: a descriptive error message if the rename operation
fails
.. versionadded:: 3.22
%End
static QStringList splitPathToComponents( const QString &path );
%Docstring
Given a file ``path``, returns a list of all the components leading to
that path.
E.g. if ``path`` is ``/home/user/Pictures/test.png``, the returned list
will contain ``/`` , ``home``, ``user``, ``Pictures``, ``test.png``.
.. versionadded:: 3.28
%End
static QString uniquePath( const QString &path );
%Docstring
Creates a unique file path name from a desired path by appending
``_<n>`` (where ``<n>`` is an integer number) before the file suffix.
E.g. if ``/path/my_image.png`` already exists ``/path/my_image_2.png``
(and ``_3`, ``_4`` etc.) will be checked until a file path that does not
already exist is found.
:param path: the desired path.
:return: the unmodified path if path is already unique or the new path
with ``_<n>`` (where ``<n>`` is an integer number) appended to
the file name before the suffix.
.. note::
This function does not make any check on path validity and write permissions.
.. versionadded:: 3.30
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsfileutils.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/