mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-02 09:52:27 -04:00
writeConfigXml
This commit is contained in:
parent
991d5179a3
commit
c6120c1ec1
@ -33,7 +33,7 @@ else:
|
|||||||
from direct.showbase import VFSImporter
|
from direct.showbase import VFSImporter
|
||||||
|
|
||||||
from direct.showbase.DirectObject import DirectObject
|
from direct.showbase.DirectObject import DirectObject
|
||||||
from pandac.PandaModules import VirtualFileSystem, Filename, Multifile, loadPrcFileData, unloadPrcFile, getModelPath, Thread, WindowProperties, ExecutionEnvironment, PandaSystem, Notify, StreamWriter, ConfigVariableString, initAppForGui, TiXmlDocument
|
from pandac.PandaModules import VirtualFileSystem, Filename, Multifile, loadPrcFileData, unloadPrcFile, getModelPath, Thread, WindowProperties, ExecutionEnvironment, PandaSystem, Notify, StreamWriter, ConfigVariableString, initAppForGui
|
||||||
from pandac import PandaModules
|
from pandac import PandaModules
|
||||||
from direct.stdpy import file, glob
|
from direct.stdpy import file, glob
|
||||||
from direct.task.TaskManagerGlobal import taskMgr
|
from direct.task.TaskManagerGlobal import taskMgr
|
||||||
@ -503,6 +503,7 @@ class AppRunner(DirectObject):
|
|||||||
|
|
||||||
if not hasattr(PandaModules, 'TiXmlDocument'):
|
if not hasattr(PandaModules, 'TiXmlDocument'):
|
||||||
return
|
return
|
||||||
|
from pandac.PandaModules import TiXmlDocument
|
||||||
|
|
||||||
filename = Filename(self.rootDir, self.ConfigBasename)
|
filename = Filename(self.rootDir, self.ConfigBasename)
|
||||||
doc = TiXmlDocument(filename.toOsSpecific())
|
doc = TiXmlDocument(filename.toOsSpecific())
|
||||||
@ -516,7 +517,30 @@ class AppRunner(DirectObject):
|
|||||||
self.maxDiskUsage = int(maxDiskUsage or '')
|
self.maxDiskUsage = int(maxDiskUsage or '')
|
||||||
except ValueError:
|
except ValueError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def writeConfigXml(self):
|
||||||
|
""" Rewrites the config.xml to the root directory. This isn't
|
||||||
|
called automatically; an application may call this after
|
||||||
|
adjusting some parameters (such as self.maxDiskUsage). """
|
||||||
|
|
||||||
|
from pandac.PandaModules import TiXmlDocument, TiXmlDeclaration, TiXmlElement
|
||||||
|
|
||||||
|
filename = Filename(self.rootDir, self.ConfigBasename)
|
||||||
|
doc = TiXmlDocument(filename.toOsSpecific())
|
||||||
|
decl = TiXmlDeclaration("1.0", "utf-8", "")
|
||||||
|
doc.InsertEndChild(decl)
|
||||||
|
|
||||||
|
xconfig = TiXmlElement('config')
|
||||||
|
xconfig.SetAttribute('max_disk_usage', str(self.maxDiskUsage))
|
||||||
|
doc.InsertEndChild(xconfig)
|
||||||
|
|
||||||
|
# Write the file to a temporary filename, then atomically move
|
||||||
|
# it to its actual filename, to avoid race conditions when
|
||||||
|
# updating this file.
|
||||||
|
tfile = Filename.temporary(self.rootDir.cStr(), '.xml')
|
||||||
|
if doc.SaveFile(tfile.toOsSpecific()):
|
||||||
|
tfile.renameTo(filename)
|
||||||
|
|
||||||
|
|
||||||
def checkDiskUsage(self):
|
def checkDiskUsage(self):
|
||||||
""" Checks the total disk space used by all packages, and
|
""" Checks the total disk space used by all packages, and
|
||||||
|
Loading…
x
Reference in New Issue
Block a user