Esempio n. 1
0
    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
Esempio n. 2
0
    def getWallpaperByName(self, name):
        """

        """
        try:
            db = Bdd().connexion("wallpaper")
        except:
            return 1500
        return db.find_one({"name": name})
Esempio n. 3
0
    def getWallpaperById(self, id):
        """

        """
        try:
            db = Bdd().connexion("wallpaper")
        except:
            return 1500
        return db.find_one({"_id": db.ObjectId(id)})
Esempio n. 4
0
    def getComments(self, idWallpaper):
        """

        """
        try:
            col = Bdd().connexion("comment");
        except:
            return 1500 # faudra faire une bonne gestion d'erreurs avec des logs
        result = json.loads(dumps(col.find({"idWallpaper": idWallpaper})))
        return result
Esempio n. 5
0
 def userExistByEmail(self, email):
     """
     Test si un email existe dans la BDD
     """
     col = Bdd().connexion("user")                # nom BDD (si elle existe pas elle est crée toute seule)
     result = json.loads(dumps(col.find_one({"email": email}))) # recherche dans la collection "user" si le email existe
     if not result: # si result est vide
         return False
     else:
         return True
Esempio n. 6
0
 def userExistByUsername(self, username):
     """
     Test si un username existe dans la BDD
     """
     col = Bdd().connexion("user")                # nom BDD (si elle existe pas elle est crée toute seule)
     result = json.loads(dumps(col.find_one({"username": username}))) # recherche dans la collection "user" si le email existe
     if not result:
         return False
     else:
         return True
Esempio n. 7
0
 def addComment(self, user, message, idWallpaper):
     """
     Ajout d'un comment
     """
     try:
         col = Bdd().connexion("comment")
         col.insert({"message": message, "user": user, "idWallpaper": idWallpaper, "date":datetime.today(), "isReported": False, "notification": None})
         return 1000
     except:
         return 1500 # faudra faire une bonne gestion d'erreurs avec des logs
Esempio n. 8
0
    def deleteFavoris(self, idWallpaper, username):
        """

        """
        try:
            colu = Bdd().connexion("user")                # nom BDD (si elle existe pas elle est crée toute seule)
            user = json.loads(dumps(colu.find_one({"username": username})))
        except:
            return 1500
        colu.upadate({"username": username}, {"$pull": {"favoris": "idWallpaper"}})
        return 1000
Esempio n. 9
0
    def deleteComment(self, comment):
        """
            Supprimer un comment
        """

        try:
            col = Bdd().connexion("comment");
            col.remove(comment);
            return 1000
        except:
            return 1500 # faudra faire une bonne gestion d'erreurs avec des logs
Esempio n. 10
0
 def getCategoriesWithLimit(self, min, max):
     """
     retourne une partie des catégories délimité par min et max
     """
     try:
         col = Bdd().connexion("category")
     except:
         return 1500
     result = json.loads(dumps(col.find().limit(max).skip(min)))
     for line in result:
         line["_id"] = str(line["_id"]["$oid"])  # On converti le ObjectId ($oid) en string
     return result  # on dump le curseur de la BDD et on converti en JSON
Esempio n. 11
0
 def getCategories(self):
     """
     retourne toutes les catégories
     """
     try:
         col = Bdd().connexion("category")
     except:
         return 1500
     result = json.loads(dumps(col.find()))
     for line in result:
         line["_id"] = str(line["_id"]["$oid"])  # On converti le ObjectId ($oid) en string
     return result  # on dump le curseur de la BDD et on converti en JSON
Esempio n. 12
0
 def getUserByEmail(self, email):
     """
     """
     try:
         col = Bdd().connexion("user")                # nom BDD (si elle existe pas elle est crée toute seule)
         result = json.loads(dumps(col.find_one({"email":email}))) # recherche dans la collection "user" si le email existe
         if not result:
             return 1541 # pas de user pour ce email
         else:
             return result
     except:
         return 1500
Esempio n. 13
0
    def categoryExist(self, name):
        """

        """
        try:
            col = Bdd().connexion("category")
        except:
            return 1500
        result = col.find_one({"name": name})
        if not result:
            return False
        else:
            return True
Esempio n. 14
0
    def addCategory(self, name, description):
        """

        """
        try:
            col = Bdd().connexion("category")
        except:
            return 1500
        if self.categoryExist(name):
            return 1520  # la catégorie existe déjà
        else:
            col.insert({"name": name, "description": description})
            return 1000  # ok
Esempio n. 15
0
    def getCategoryByName(self, name):
        """
        retourne la catégorie spécifiée par son nom
        """

        if self.categoryExist(name):
            try:
                col = Bdd().connexion("category")
            except:
                return 1500
            return col.find_one({"name: name"})
        else:
            return 1521  # la catégorie n'existe pas
Esempio n. 16
0
 def addUser(self, username, email, passHash):
     """
     Ajout d'un utilisateur
     """
     print("*******************************Ajout d'un user : "******"user")
         col.insert({"username": username, "email": email, "passHash": passHash, "dateInscription": datetime.datetime.utcnow()})
         print("*******************************Success ajout d'un user : "******"*******************************Fail ajout d'un user : "+ username)
         return 1500 # faudra faire une bonne gestion d'erreurs avec des logs
Esempio n. 17
0
    def isFavoris(self, idWallpaper, username):
        """

        """
        try:
            colu = Bdd().connexion("user")                # nom BDD (si elle existe pas elle est crée toute seule)
            user = json.loads(dumps(colu.find_one({"username": username})))
        except:
            return 1500
        for ele in user['favoris']:
            if ele['idWallpaper'] == idWallpaper:
                return True
            else:
                return False
        return False
Esempio n. 18
0
    def getFavoris(self, username):
        """

        """
        try:
            colu = Bdd().connexion("user")
            colw = Bdd().connexion("wallpaper")
        except:
            return 1500
        result = json.loads(dumps(colu.find_one({"username": username})))
        ret = []
        for favori in result['favoris']:
            fav = json.loads(dumps(colw.find_one({"_id": favori})))
            if fav:
                ret.append(fav)
        return result # on dump le curseur de la BDD et on converti en JSON
Esempio n. 19
0
    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
Esempio n. 20
0
 def getWallpaperAccueil(self):
     """
     Retourne un seul wallpaper
     """
     try:
         col = Bdd().connexion("wallpaper")
     except:
         return 1500
     ran = random.randint(0, col.count()-1)
     result = json.loads(dumps(col.find().limit(1).skip(ran))) # On cherche une ligne random de la collection de wallpapers
     print(result)
     print(ran)
     for line in result:
         line["_id"] = str(line["_id"]["$oid"]) # On converti le ObjectId ($oid) en string
     if not result:
         return 1500
     return result
Esempio n. 21
0
    def checkToken(self, cookie):
        """

        """
        #cookie = HttpRequest.COOKIES
        username = cookie.get('nameormail')
        print(username)
        token = cookie.get('token')
        print(token)
        if not token:
            token = 0
        col = Bdd().connexion("user")                # nom BDD (si elle existe pas elle est crée toute seule)
        result = json.loads(dumps(col.find_one({"username": username}))) # recherche dans la collection "user" si le email existe
        if result:
            if token == 1000:
                return True
            try:
                if result["token"]:
                    if result["token"] == token:
                        return True
            except:
                print("Pas de token associé au user")
                return False
        return False
Esempio n. 22
0
    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