class MunicipalityTableTemplateBuilder: municipalityDataAccessor = None fileHandler = None munID = None def __init__(self, munID): self.municipalityDataAccessor = MunicipalityDataAccessor(munID) self.fileHandler = FileHandler() self.munID = munID def buildSecondaryTemplates(self): def addUnsortColumn(dataType, columnName): if MunicipalityDataConfig.municipalityDataSelectiveSortingEnabled: if columnName in MunicipalityDataConfig.municipalityDataSortableColumns[dataType]: return '' else: return 'class="unsortable"' else: return '' municipalitySecondaryData = self.municipalityDataAccessor.getMunSecondaryData() for dataType in municipalitySecondaryData: wikiText = '{| class="wikitable sortable" width="95%"\n' try: numberOfColumns = len(municipalitySecondaryData[dataType][0]) except IndexError: numberOfColumns = 0 wikiText += '!colspan="' + str(numberOfColumns) + '"|' + MunicipalityDataConfig.munDataProperFinalTableTopics[dataType] + '\n|-\n' for column in MunicipalityDataConfig.munDataProperColumnNames[dataType]: wikiText += '!scope="col" ' + addUnsortColumn(dataType, column) + '| '+column + '\n' for row in municipalitySecondaryData[dataType]: wikiText += '|-\n' item_count = 0 for item in row: if item =='NULL': item = '' if item_count == 0: item = '[[' + str(item) + ']]' wikiText += '| ' + str(item) + '\n' item_count += 1 wikiText += '|-\n' wikiText += '|}' templateFile = self.fileHandler.writeWikiSourceFile(FileConfig.templateFilePath, self.munID+'_'+dataType+'_Template.txt', 'Template:'+self.munID+'-'+dataType, wikiText) PageUploadTableUpdater.addEntry(self.munID, templateFile) def buildPrimaryTemplates(self): pass def buildTableTemplates(self): self.buildSecondaryTemplates() self.buildPrimaryTemplates()
def __init__(self, munID): self.municipalityDataAccessor = MunicipalityDataAccessor(munID) self.fileHandler = FileHandler() self.munID = munID