本文整理汇总了Python中qgis.PyQt.QtCore.QTemporaryFile.close方法的典型用法代码示例。如果您正苦于以下问题:Python QTemporaryFile.close方法的具体用法?Python QTemporaryFile.close怎么用?Python QTemporaryFile.close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.PyQt.QtCore.QTemporaryFile
的用法示例。
在下文中一共展示了QTemporaryFile.close方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testSaveRestoreFromProject
# 需要导入模块: from qgis.PyQt.QtCore import QTemporaryFile [as 别名]
# 或者: from qgis.PyQt.QtCore.QTemporaryFile import close [as 别名]
def testSaveRestoreFromProject(self):
p = QgsProject()
provider = ProjectProvider(p)
# add some algorithms
alg = QgsProcessingModelAlgorithm('test name', 'test group')
provider.add_model(alg)
alg2 = QgsProcessingModelAlgorithm('test name2', 'test group2')
provider.add_model(alg2)
self.assertEqual(len(provider.algorithms()), 2)
tmp_file = QTemporaryFile()
tmp_file.open() # fileName is no available until open
temp_path = tmp_file.fileName()
tmp_file.close()
self.assertTrue(p.write(temp_path))
# restore project
p2 = QgsProject()
provider2 = ProjectProvider(p2)
self.assertTrue(p2.read(temp_path))
self.assertEqual(len(provider2.model_definitions), 2)
self.assertEqual(len(provider2.algorithms()), 2)
self.assertEqual(provider2.algorithms()[0].name(), 'test name')
self.assertEqual(provider2.algorithms()[0].group(), 'test group')
self.assertEqual(provider2.algorithms()[1].name(), 'test name2')
self.assertEqual(provider2.algorithms()[1].group(), 'test group2')
# clear project should remove algorithms
p2.clear()
self.assertFalse(provider2.algorithms())
示例2: get_temp_filename
# 需要导入模块: from qgis.PyQt.QtCore import QTemporaryFile [as 别名]
# 或者: from qgis.PyQt.QtCore.QTemporaryFile import close [as 别名]
def get_temp_filename(self):
tmpFile = QTemporaryFile()
tmpFile.open() # fileName is no available until open
tmpName = tmpFile.fileName()
tmpFile.close()
tmpFile.setAutoRemove(False)
return tmpName
示例3: fetch_online_directories
# 需要导入模块: from qgis.PyQt.QtCore import QTemporaryFile [as 别名]
# 或者: from qgis.PyQt.QtCore.QTemporaryFile import close [as 别名]
def fetch_online_directories(self):
"""Fetch online directory of repositories."""
downloader = NetworkManager(self.DIRECTORY_URL)
status, _ = downloader.fetch()
if status:
directory_file = QTemporaryFile()
if directory_file.open():
directory_file.write(downloader.content)
directory_file.close()
with open(directory_file.fileName()) as csv_file:
reader = csv.DictReader(csv_file, fieldnames=('name', 'url'))
for row in reader:
self._online_directories[row['name']] = row['url'].strip()
# Save it to cache
settings = QSettings()
settings.beginGroup(repo_settings_group())
settings.setValue('online_directories', self._online_directories)
settings.endGroup()
else:
# Just use cache from previous use
settings = QSettings()
settings.beginGroup(repo_settings_group())
self._online_directories = settings.value('online_directories', {})
settings.endGroup()
示例4: __init__
# 需要导入模块: from qgis.PyQt.QtCore import QTemporaryFile [as 别名]
# 或者: from qgis.PyQt.QtCore.QTemporaryFile import close [as 别名]
def __init__(self, url):
"""Constructor of query.
:param url:Full URL of OverPass Query with the query encoded in it.
:type url:str
"""
self._url = QUrl(url)
temporary = QTemporaryFile(
os.path.join(QDir.tempPath(), 'request-XXXXXX.osm'))
temporary.open()
self.result_path = temporary.fileName()
temporary.close()
示例5: __init__
# 需要导入模块: from qgis.PyQt.QtCore import QTemporaryFile [as 别名]
# 或者: from qgis.PyQt.QtCore.QTemporaryFile import close [as 别名]
def __init__(self, db, sql, parent):
super().__init__(db, sql, parent)
tf = QTemporaryFile()
tf.open()
path = tf.fileName()
tf.close()
df = QgsVirtualLayerDefinition()
df.setFilePath(path)
df.setQuery(sql)
self.subtask = QgsVirtualLayerTask(df)
self.addSubTask(self.subtask, [], QgsTask.ParentDependsOnSubTask)
示例6: test_zip_file_yet_exist
# 需要导入模块: from qgis.PyQt.QtCore import QTemporaryFile [as 别名]
# 或者: from qgis.PyQt.QtCore.QTemporaryFile import close [as 别名]
def test_zip_file_yet_exist(self):
zip = QTemporaryFile()
zip.open()
zip.close()
os.remove(zip.fileName())
f0 = os.path.join(unitTestDataPath(), 'multipoint.shp')
f1 = os.path.join(unitTestDataPath(), 'lines.shp')
f2 = os.path.join(unitTestDataPath(), 'joins.qgs')
rc = QgsZipUtils.zip(zip.fileName(), [f0, f1, f2])
self.assertTrue(rc)
rc = QgsZipUtils.zip(zip.fileName(), [f0, f1, f2])
self.assertFalse(rc)
示例7: _get_cursor_columns
# 需要导入模块: from qgis.PyQt.QtCore import QTemporaryFile [as 别名]
# 或者: from qgis.PyQt.QtCore.QTemporaryFile import close [as 别名]
def _get_cursor_columns(self, c):
tf = QTemporaryFile()
tf.open()
tmp = tf.fileName()
tf.close()
q = QUrl.toPercentEncoding(c.sql)
p = QgsVectorLayer("%s?query=%s" % (QUrl.fromLocalFile(tmp).toString(), q), "vv", "virtual")
if not p.isValid():
return []
f = [f.name() for f in p.fields()]
if p.geometryType() != Qgis.WKBNoGeometry:
gn = getQueryGeometryName(tmp)
if gn:
f += [gn]
return f
示例8: _get_cursor_columns
# 需要导入模块: from qgis.PyQt.QtCore import QTemporaryFile [as 别名]
# 或者: from qgis.PyQt.QtCore.QTemporaryFile import close [as 别名]
def _get_cursor_columns(self, c):
tf = QTemporaryFile()
tf.open()
tmp = tf.fileName()
tf.close()
df = QgsVirtualLayerDefinition()
df.setFilePath(tmp)
df.setQuery(c.sql)
p = QgsVectorLayer(df.toString(), "vv", "virtual")
if not p.isValid():
return []
f = [f.name() for f in p.fields()]
if p.geometryType() != QgsWkbTypes.NullGeometry:
gn = getQueryGeometryName(tmp)
if gn:
f += [gn]
return f
示例9: __init__
# 需要导入模块: from qgis.PyQt.QtCore import QTemporaryFile [as 别名]
# 或者: from qgis.PyQt.QtCore.QTemporaryFile import close [as 别名]
def __init__(self, db, sql, parent=None):
# create a virtual layer with non-geometry results
t = QTime()
t.start()
tf = QTemporaryFile()
tf.open()
tmp = tf.fileName()
tf.close()
df = QgsVirtualLayerDefinition()
df.setFilePath(tmp)
df.setQuery(sql)
p = QgsVectorLayer(df.toString(), "vv", "virtual")
self._secs = t.elapsed() / 1000.0
if not p.isValid():
data = []
header = []
raise DbError(p.dataProvider().error().summary(), sql)
else:
header = [f.name() for f in p.fields()]
has_geometry = False
if p.geometryType() != QgsWkbTypes.NullGeometry:
gn = getQueryGeometryName(tmp)
if gn:
has_geometry = True
header += [gn]
data = []
for f in p.getFeatures():
a = f.attributes()
if has_geometry:
if f.hasGeometry():
a += [f.geometry().exportToWkt()]
else:
a += [None]
data += [a]
self._secs = 0
self._affectedRows = len(data)
BaseTableModel.__init__(self, header, data, parent)
示例10: testTagging
# 需要导入模块: from qgis.PyQt.QtCore import QTemporaryFile [as 别名]
# 或者: from qgis.PyQt.QtCore.QTemporaryFile import close [as 别名]
def testTagging(self):
self.assertFalse(QgsExifTools.geoTagImage('', QgsPointXY(1, 2)))
self.assertFalse(QgsExifTools.geoTagImage('not a path', QgsPointXY(1, 2)))
src_photo = os.path.join(TEST_DATA_DIR, 'photos', 'notags.JPG')
tmpFile = QTemporaryFile()
tmpFile.open()
tmpName = tmpFile.fileName()
tmpFile.close()
shutil.copy(src_photo, tmpName)
self.assertTrue(QgsExifTools.geoTagImage(tmpName, QgsPointXY(1.1, 3.3)))
tag, ok = QgsExifTools.getGeoTag(tmpName)
self.assertTrue(ok)
self.assertEqual(tag.asWkt(6), 'Point (1.1 3.3)')
os.remove(tmpName)
shutil.copy(src_photo, tmpName)
self.assertTrue(QgsExifTools.geoTagImage(tmpName, QgsPointXY(-1.1, -3.3)))
tag, ok = QgsExifTools.getGeoTag(tmpName)
self.assertTrue(ok)
self.assertEqual(tag.asWkt(6), 'Point (-1.1 -3.3)')
os.remove(tmpName)
shutil.copy(src_photo, tmpName)
deets = QgsExifTools.GeoTagDetails()
deets.elevation = 110.1
self.assertTrue(QgsExifTools.geoTagImage(tmpName, QgsPointXY(1.1, 3.3), deets))
tag, ok = QgsExifTools.getGeoTag(tmpName)
self.assertTrue(ok)
self.assertEqual(tag.asWkt(6), 'PointZ (1.1 3.3 110.1)')
os.remove(tmpName)
shutil.copy(src_photo, tmpName)
deets = QgsExifTools.GeoTagDetails()
deets.elevation = -110.1
self.assertTrue(QgsExifTools.geoTagImage(tmpName, QgsPointXY(1.1, 3.3), deets))
tag, ok = QgsExifTools.getGeoTag(tmpName)
self.assertTrue(ok)
self.assertEqual(tag.asWkt(6), 'PointZ (1.1 3.3 -110.1)')
os.remove(tmpName)
示例11: __init__
# 需要导入模块: from qgis.PyQt.QtCore import QTemporaryFile [as 别名]
# 或者: from qgis.PyQt.QtCore.QTemporaryFile import close [as 别名]
def __init__(self, db, sql, parent=None):
# create a virtual layer with non-geometry results
q = QUrl.toPercentEncoding(sql)
t = QTime()
t.start()
tf = QTemporaryFile()
tf.open()
tmp = tf.fileName()
tf.close()
p = QgsVectorLayer("%s?query=%s" % (QUrl.fromLocalFile(tmp).toString(), q), "vv", "virtual")
self._secs = t.elapsed() / 1000.0
if not p.isValid():
data = []
header = []
raise DbError(p.dataProvider().error().summary(), sql)
else:
header = [f.name() for f in p.fields()]
has_geometry = False
if p.geometryType() != QGis.WKBNoGeometry:
gn = getQueryGeometryName(tmp)
if gn:
has_geometry = True
header += [gn]
data = []
for f in p.getFeatures():
a = f.attributes()
if has_geometry:
if f.geometry():
a += [f.geometry().exportToWkt()]
else:
a += [None]
data += [a]
self._secs = 0
self._affectedRows = len(data)
BaseTableModel.__init__(self, header, data, parent)