File indexing completed on 2024-05-19 07:43:31

0001 # SPDX-FileCopyrightText: 2021 Volker Krause <vkrause@kde.org>
0002 # SPDX-License-Identifier: LGPL-2.0-or-later
0003 
0004 import os
0005 import qgis
0006 from LayerTasks import *
0007 from SpatialIndexTasks import *
0008 from TimezoneTableTasks import *
0009 from config import *
0010 
0011 class MainTask(QgsTask):
0012     def __init__(self, context):
0013         super().__init__('Generating geographic data for KI18N', QgsTask.CanCancel)
0014         self.context = context
0015         self.loadLayersTask = LoadLayersTask(context)
0016         self.addSubTask(self.loadLayersTask, [], QgsTask.ParentDependsOnSubTask)
0017 
0018         self.tzStringTableTask = TimezoneStringTableTask(context)
0019         self.addSubTask(self.tzStringTableTask, [self.loadLayersTask], QgsTask.ParentDependsOnSubTask)
0020         self.regionToTzMapTask = RegionToTimezoneMapTask(context)
0021         self.addSubTask(self.regionToTzMapTask, [self.loadLayersTask], QgsTask.ParentDependsOnSubTask)
0022 
0023         self.spatialIndexTask = SpatialIndexerTask(context, self.loadLayersTask)
0024         self.addSubTask(self.spatialIndexTask, [self.loadLayersTask, self.regionToTzMapTask], QgsTask.ParentDependsOnSubTask)
0025 
0026     def run(self):
0027         QgsMessageLog.logMessage('Generation completed.', LOG_CATEGORY, Qgis.Info)
0028         return True
0029 
0030 # main
0031 os.chdir(os.path.join(os.path.dirname(QgsProject.instance().fileName()), 'data'))
0032 context = {}
0033 task = MainTask(context)
0034 QgsApplication.taskManager().addTask(task)