File indexing completed on 2024-05-12 15:40:23

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         self.tzToCountryMapTask = TimezoneToCountryMapTask(context)
0023         self.addSubTask(self.tzToCountryMapTask, [self.loadLayersTask], QgsTask.ParentDependsOnSubTask)
0024 
0025         self.spatialIndexTask = SpatialIndexerTask(context, self.loadLayersTask)
0026         self.addSubTask(self.spatialIndexTask, [self.loadLayersTask, self.regionToTzMapTask], QgsTask.ParentDependsOnSubTask)
0027 
0028     def run(self):
0029         QgsMessageLog.logMessage('Generation completed.', LOG_CATEGORY, Qgis.Info)
0030         return True
0031 
0032 # main
0033 os.chdir(os.path.join(os.path.dirname(QgsProject.instance().fileName()), 'data'))
0034 context = {}
0035 task = MainTask(context)
0036 QgsApplication.taskManager().addTask(task)