Alpha
This commit is contained in:
45
app_fb/models/product.py
Normal file
45
app_fb/models/product.py
Normal file
@@ -0,0 +1,45 @@
|
||||
from pymongo import MongoClient
|
||||
import json
|
||||
import re
|
||||
from bson import ObjectId
|
||||
|
||||
class Product:
|
||||
def __init__(self, id, name, description, price):
|
||||
self.id = id
|
||||
self.name = name
|
||||
self.description = description
|
||||
self.price = price
|
||||
|
||||
|
||||
class MongoProductDao:
|
||||
def __init__(self):
|
||||
config = json.load(open('./config.json', 'r'))
|
||||
client = MongoClient(config['mongo_host'], config['mongo_port'])
|
||||
self.db = client[config['db_name']]
|
||||
|
||||
def save(self, product):
|
||||
self.db.products.insert_one(product)
|
||||
|
||||
def search_by_name(self, name):
|
||||
result_cursor = self.db.products.find({'name': re.compile(name, re.IGNORECASE)})
|
||||
matches = []
|
||||
for prod in result_cursor:
|
||||
matches.append(prod)
|
||||
return matches
|
||||
|
||||
def delete_by_id(self, _id):
|
||||
self.db.products.delete_one({'_id': ObjectId(_id)})
|
||||
|
||||
def update_by_id(self, _id, prod):
|
||||
self.db.products.update_one({'_id': ObjectId(_id)}, {'$set': prod})
|
||||
|
||||
def list_all_products(self):
|
||||
return self.db.products.find()
|
||||
|
||||
def add_stuff(self):
|
||||
for i in range(10):
|
||||
product = dict()
|
||||
product['name'] = "name" + str(i)
|
||||
product['description'] = "description" + str(i)
|
||||
product['price'] = "price" + str(i)
|
||||
self.db.products.insert_one(product)
|
||||
Reference in New Issue
Block a user