1 __copyright__ = "Copyright (C) 2013 David Braam - Released under terms of the AGPLv3 License"
2 from __future__ import absolute_import
9 from xml.etree import cElementTree as ElementTree
11 from xml.etree import ElementTree
13 from Cura.util import resources
15 def getVersion(getGitVersion = True):
16 gitPath = os.path.abspath(os.path.join(os.path.split(os.path.abspath(__file__))[0], "../../.git"))
17 if hasattr(sys, 'frozen'):
18 versionFile = os.path.normpath(os.path.join(resources.resourceBasePath, "version"))
20 versionFile = os.path.abspath(os.path.join(os.path.split(os.path.abspath(__file__))[0], "../version"))
21 if os.path.exists(gitPath):
24 f = open(gitPath + "/refs/heads/master", "r")
25 version = f.readline()
27 return version.strip()
28 if os.path.exists(versionFile):
29 f = open(versionFile, "r")
30 version = f.readline()
32 return version.strip()
33 versionFile = os.path.abspath(os.path.join(os.path.split(os.path.abspath(__file__))[0], "../../version"))
34 if os.path.exists(versionFile):
35 f = open(versionFile, "r")
36 version = f.readline()
38 return version.strip()
42 gitPath = os.path.abspath(os.path.join(os.path.split(os.path.abspath(__file__))[0], "../../.git"))
43 return os.path.exists(gitPath)
45 def checkForNewerVersion():
49 updateBaseURL = 'http://software.ultimaker.com'
50 localVersion = map(int, getVersion(False).split('.'))
51 while len(localVersion) < 3:
53 latestFile = urllib2.urlopen("%s/latest.xml" % (updateBaseURL))
54 latestXml = latestFile.read()
56 xmlTree = ElementTree.fromstring(latestXml)
57 for release in xmlTree.iter('release'):
58 os = str(release.attrib['os'])
59 version = [int(release.attrib['major']), int(release.attrib['minor']), int(release.attrib['revision'])]
60 filename = release.find("filename").text
61 if platform.system() == os:
62 if version > localVersion:
63 return "%s/current/%s" % (updateBaseURL, filename)
69 if __name__ == '__main__':