123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- """
- ***************************************************************************
- py
- ---------------------
- Date : August 2012
- Copyright : (C) 2012 by Victor Olaya
- Email : volayaf at gmail dot com
- ***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************
- """
- __author__ = 'Victor Olaya'
- __date__ = 'August 2012'
- __copyright__ = '(C) 2012, Victor Olaya'
- from typing import Optional
- import os
- import time
- import sys
- import uuid
- import math
- from qgis.PyQt.QtCore import QDir
- from qgis.core import (QgsApplication,
- QgsProcessingUtils,
- QgsProcessingContext)
- numExported = 1
- def userFolder():
- userDir = os.path.join(QgsApplication.qgisSettingsDirPath(), 'processing')
- if not QDir(userDir).exists():
- QDir().mkpath(userDir)
- return str(QDir.toNativeSeparators(userDir))
- def defaultOutputFolder():
- folder = os.path.join(userFolder(), 'outputs')
- if not QDir(folder).exists():
- QDir().mkpath(folder)
- return str(QDir.toNativeSeparators(folder))
- def isWindows():
- return os.name == 'nt'
- def isMac():
- return sys.platform == 'darwin'
- def getTempFilename(ext=None, context: Optional[QgsProcessingContext] = None):
- tmpPath = QgsProcessingUtils.tempFolder(context)
- t = time.time()
- m = math.floor(t)
- uid = f'{m:8x}{int((t - m) * 1000000):05x}'
- if ext is None:
- filename = os.path.join(tmpPath, f'{uid}{getNumExportedLayers()}')
- else:
- filename = os.path.join(tmpPath, f'{uid}{getNumExportedLayers()}.{ext}')
- return filename
- def getNumExportedLayers():
- global numExported
- numExported += 1
- return numExported
- def mkdir(newdir):
- os.makedirs(newdir.strip('\n\r '), exist_ok=True)
- def tempHelpFolder():
- tmp = os.path.join(str(QDir.tempPath()), 'processing_help')
- if not QDir(tmp).exists():
- QDir().mkpath(tmp)
- return str(os.path.abspath(tmp))
- def escapeAndJoin(strList):
- """
- .. deprecated:: 3.0
- Do not use, will be removed in QGIS 4.0
- """
- from warnings import warn
- warn("processing.escapeAndJoin is deprecated and will be removed in QGIS 4.0", DeprecationWarning)
- joined = ''
- for s in strList:
- if s[0] != '-' and ' ' in s:
- escaped = '"' + s.replace('\\', '\\\\').replace('"', '\\"') \
- + '"'
- else:
- escaped = s
- joined += escaped + ' '
- return joined.strip()
|