mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-10-30 00:07:09 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			221 lines
		
	
	
		
			8.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			221 lines
		
	
	
		
			8.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /************************************************************************
 | |
|  * This file has been generated automatically from                      *
 | |
|  *                                                                      *
 | |
|  * src/core/qgsfileutils.h                                              *
 | |
|  *                                                                      *
 | |
|  * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 | |
|  ************************************************************************/
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| class QgsFileUtils
 | |
| {
 | |
| %Docstring(signature="appended")
 | |
| Class for file utilities.
 | |
| %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 ¤tDir = 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: will be set to 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.pl again   *
 | |
|  ************************************************************************/
 |