print "easycfg setup ..." import easycfg easycfg.setup(userdir + "/client.cfg", globals(), ["localDev"]) if not localDev: pubCryptKey,privCryptKey = binstruct.genkeypair() pubSignKey,privSignKey = binstruct.genkeypair() localDev.publicKeys = binstruct.Dict({"crypt": pubCryptKey, "sign": pubSignKey}) localDev.privateKeys = binstruct.Dict({"crypt": privCryptKey, "sign": privSignKey}) easycfg.save() localDev.type = "RemoteControlClient" localDev.appInfo = {"appId":appid, "version":version} print "fscomm setup ..." import fscomm fscomm.setup(appid, localDev) print "register local dev ..." localDev = fscomm.registerDev(localDev) serverDev = None for d in fscomm.devices(): if d.type != "RemoteControlServer": continue print "found server:", d serverDev = d def pushDataFile(fn): # TODO check change-time if needed... serverDev.storeData(localDev, fn, open(mydir + "/../pydata/" + fn).read()) def execRemotePy(conn, pythonCmd, wait=False):
localDev = binstruct.Dict() import easycfg easycfg.setup(userdir + "/server.cfg", globals(), ["knownClientDevices", "localDev"]) if not localDev: pubCryptKey,privCryptKey = binstruct.genkeypair() pubSignKey,privSignKey = binstruct.genkeypair() localDev.publicKeys = binstruct.Dict({"crypt": pubCryptKey, "sign": pubSignKey}) localDev.privateKeys = binstruct.Dict({"crypt": privCryptKey, "sign": privSignKey}) easycfg.save() localDev.type = "RemoteControlServer" localDev.appInfo = {"appId":appid, "version":version} import fscomm fscomm.setup(appid, localDev, useDropboxOnline=False) localDev = fscomm.registerDev(localDev) evalScopes = {} # dev -> dict import gui def main(): while True: for d in fscomm.devices(): if d.type != "RemoteControlClient": continue if d.publicKeys.sign not in knownClientDevices: answer = gui.ask( "A new device was found:\n\n" + d.user_string() +