簡単な回避策は、サーバーにある種のファイル(たとえば、program.txt)を配置し、その中に最新バージョンに関する基本情報を配置することです。次に、プログラムとともにダウンロードする同様のtxtファイル(たとえばversion.txt)があり、コードに関数を入れてversion.txtとprogram.txtを比較します。それらが同じである場合、プログラムは最新です。そうでない場合は、ネットに接続して最新バージョンをダウンロードする必要があります。
Python関数:
import Tkinter
import urllib
def updateCheck(self):
update = False
updateWindow = Tkinter.Toplevel()
updateWindow.title(string="Update Checker")
updateWindow.resizable(False, False)
#Gets downloaded version
versionSource = open('version.txt', 'r')
versionContents = versionSource.read()
#gets newest version
updateSource = urllib.urlopen("http://www.suturesoft.com/Updates/craftbook.txt")
updateContents = updateSource.read()
#checks for updates
for i in range(0,20):
if updateContents[i] != versionContents[i]:
dataLabel = Tkinter.Label(updateWindow,text="\n\nThere are data updates availible.\n\n")
dataLabel.pack()
update = True
break
for i in range(22,42):
if updateContents[i] != versionContents[i]:
versionLabel = Tkinter.Label(updateWindow,text="\n\nThere are version updates availible.\n\n")
versionLabel.pack()
update = True
break
if update == False:
versionLabel = Tkinter.Label(updateWindow,text="\n\nYou are already running the most up to date version.\n\n")
versionLabel.pack()
proram.txtおよびversion.txt:
data_version:10.11.12
exec_version:10.11.12
この場合、プログラムはプログラムが最新であることを通知します。