def addWallpaper(self, file, name, username): """ Fonction appellée pour ajouter un wallpaper, retourne un nombre à utiliser pour le path ou enregistrer le wallpaper """ try: col = Bdd().connexion("wallpaper") except: return 1500 extension = os.path.splitext(file.name)[1] #if extension != ("jpg" or "JPG" or "png" or "PNG" or "JPEG" or "bmp" or "BMP" or "gif" or "GIF" or "svg" or "SVG"): #print("L'extention n'est pas une image") #return 1500 ID = col.insert({"name": name, "nbVote": 0, "visible": True, "username": username}) ID = str(ID) fd = open('%s/%s/%s.%s' % (MEDIA_ROOT, "wallpapers", ID, extension), 'wb') fd.write(file.read()) fd.close() print("wallpaper extension :" + str(extension)) BASEURL = 'http://127.0.0.1:8000/wallpapers/' path = '%s%s%s' % (BASEURL, ID, extension) col.update({"_id": ObjectId(ID)}, {"$set": {"path": path}}) print("id wallpaper: " + str(ID)) result = json.loads(dumps(col.find_one({"_id": ObjectId(ID)}))) # on dump le curseur et on converti en json result["_id"] = str(result["_id"]["$oid"]) # On converti le ObjectId ($oid) en string return result
def addFavoris(self, idWallpaper, username): """ """ wallpaper = {} try: colu = Bdd().connexion("user") # nom BDD (si elle existe pas elle est crée toute seule) colw = Bdd().connexion("wallpaper") wallpaper= json.loads(dumps(colw.find_one({"_id": idWallpaper}))) # recherche dans la collection "user" si le email existe user = json.loads(dumps(colu.find_one({"username": username}))) except: return 1500 if not wallpaper and not user: return 1500 colu.update({"username": username}, {"$set": {"favoris": [idWallpaper]}}) return
def newTokenByEmail(self, email, passHash): """ """ try: col = Bdd().connexion("user") # nom BDD (si elle existe pas elle est crée toute seule) result = json.loads(dumps(col.find_one({"username": email}))) # recherche dans la collection "user" si le email existe except: return 1500 if result: if result["passHash"] == passHash: token = "".join(random.choice(string.ascii_uppercase + string.digits + string.ascii_lowercase) for x in range(50)) try: col.update({"email": email}, {"$set": {"token": token, "dateToken": datetime.datetime.utcnow()}}) return token except: return 1500