예제 #1
0
def downloadSave(): #TODO: test this
    MenuItems.shiftingGradient((0, 0, 'x')).draw()
    MenuItems.textLabel("Downloading Save", (1280 * 0.5, 720 * 0.5), (255, 255, 255), "Resources/Fonts/RPGSystem.ttf", int(30/640 * 1280), variable=False, centred=True).update()  
    MenuItems.screenFlip()
    
    page = urllib.request.urlopen(v.url + "accounts/")
    accounts = page.read()
    accounts = pickle.loads(accounts)
    
    for un, vals in accounts.items():
        if un == v.username:
            if v.password == vals["password"]:
                print(vals.keys())
                print(vals["xp"])
                if 'save' in vals.keys():
                    save = vals['save']
                    with open("Saves/Entities.save", "wb") as s:
                        #pickle.dump(save["Entities"], s)
                        s.write(save["Entities"])
                    with open("Saves/Inventory.save", "wb") as s:
                        #pickle.dump(save["Inventory"], s)
                        s.write(save["Inventory"])
                    with open("Saves/Variables.save", "wb") as s:
                        #pickle.dump(save["Variables"], s)
                        s.write(save["Variables"])
            else:
                return "PASSWORD"
    return "USERNAME"
 def update(self, stage=1):
     if stage == 0:
         for i in range(7, 14, 2):
             self.image = self.wizSheet.images[i]
             self.image = py.transform.scale(self.image, (self.image.get_rect().width * 2, self.image.get_rect().height * 2))
             self.rect = (0, 0, 1280, 720)
             py.draw.rect(v.screen, (0, 0, 0), self.rect)
             v.screen.blit(self.image, (640 - self.image.get_rect().width / 2, 360  - self.image.get_rect().height / 2))
             v.screen.blit(self.label, (640 - self.mod[0], 360  - self.mod[1] + 100))
             self.fade.draw()
             self.fade.opacity -= 40
             MenuItems.screenFlip()
             py.time.delay(100)
         self.time = clock()
     if stage == 1:
         self.image = self.wizSheet.images[14]
         self.image = py.transform.scale(self.image, (self.image.get_rect().width * 2, self.image.get_rect().height * 2))
         self.rect = (0, 0, 1280, 720)
         py.draw.rect(v.screen, (0, 0, 0), self.rect)
         v.screen.blit(self.image, ((1280 / 2) - self.image.get_rect().width / 2, (720 / 2)  - self.image.get_rect().height / 2))
         v.screen.blit(self.label, ((1280 / 2) - self.mod[0], (720 / 2)  - self.mod[1] + 50/640 * 1280))
     if stage == 2:
         t = self.font.render("Load Time: " + str(clock() - self.time), 1, (255, 255, 255))
         for i in range(28, 38, 2):
             py.time.delay(100)
             self.image = self.wizSheet.images[i]
             self.image = py.transform.scale(self.image, (self.image.get_rect().width * 2, self.image.get_rect().height * 2))
             self.rect = (0, 0, 1280, 720)
             py.draw.rect(v.screen, (0, 0, 0), self.rect)
             v.screen.blit(self.image, ((1280 / 2) - self.image.get_rect().width / 2, (720 / 2)  - self.image.get_rect().height / 2))
             v.screen.blit(self.label, ((1280 / 2) - self.mod[0], (720 / 2)  - self.mod[1] + 50/640 * 1280))
             v.screen.blit(t, (200/640 * 1280, 300/640 * 1280))
             self.fade.draw()
             self.fade.opacity += 40
             MenuItems.screenFlip()
예제 #3
0
def uploadSave():
    MenuItems.shiftingGradient((0, 0, 'x')).draw()
    MenuItems.textLabel("Uploading Save", (1280 * 0.5, 720 * 0.5), (255, 255, 255), "Resources/Fonts/RPGSystem.ttf", int(30/640 * 1280), variable=False, centred=True).update()  
    MenuItems.screenFlip()
    url = v.url + "senddata/"
    save = {}
    with open("Saves/Entities.save", "rb") as s:
        d = s.read()
        save["Entities"] = d
    with open("Saves/Inventory.save", "rb") as s:
        d = s.read()
        save["Inventory"] = d
    with open("Saves/Variables.save", "rb") as s:
        d = s.read()
        save["Variables"] = d
        xp = pickle.loads(d)["experience"]["Total"]
    
    payload = {'username': v.username, 'password': v.password, 'save': save, 'xp': xp}

    jpayload = json.dumps(str(payload))

    # GET
    #r = requests.get(url)

    # GET with params in URL
    #r = requests.get(url, params=payload)
    
    # POST with form-encoded data
    #r = requests.post(url, data=payload)
    
    # POST with JSON 
    
    r = requests.post(url, data=jpayload)
    
    # Response, status etc
    #print(r.text)
    print(r.status_code)