QGIS/python/plugins/sextante/gui/RenderingStyles.py
2012-09-15 18:30:32 +03:00

50 lines
1.5 KiB
Python

from sextante.core.SextanteUtils import SextanteUtils
import os.path
class RenderingStyles():
styles = {}
@staticmethod
def addAlgStylesAndSave(algname, styles):
RenderingStyles.styles[algname] = styles
RenderingStyles.saveSettings()
@staticmethod
def configFile():
return os.path.join(SextanteUtils.userFolder(), "sextante_qgis_styles.conf")
@staticmethod
def loadStyles():
if not os.path.isfile(RenderingStyles.configFile()):
return
lines = open(RenderingStyles.configFile())
line = lines.readline().strip("\n")
while line != "":
tokens = line.split("|")
if tokens[0] in RenderingStyles.styles.keys():
RenderingStyles.styles[tokens[0]][tokens[1]] = tokens[2]
else:
alg = {}
alg[tokens[1]]=tokens[2]
RenderingStyles.styles[tokens[0]] = alg
line = lines.readline().strip("\n")
lines.close()
@staticmethod
def saveSettings():
fout = open(RenderingStyles.configFile(), "w")
for alg in RenderingStyles.styles.keys():
for out in RenderingStyles.styles[alg].keys():
fout.write(alg + "|" + out + "|" + RenderingStyles.styles[alg][out] + "\n")
fout.close()
@staticmethod
def getStyle(algname, outputname):
if algname in RenderingStyles.styles:
if outputname in RenderingStyles.styles[algname]:
return RenderingStyles.styles[algname][outputname]
return None