コード例 #1
0
from web.responder import Html
from web.auth import SimpleAuth
from db.mongodb.connection import Connection
from sweetscomplete.domain.customer import CustomerService
from sweetscomplete.entity.customer import Customer
from sweetscomplete.domain.product import ProductService
from sweetscomplete.entity.product import Product
from sweetscomplete.entity.product_purchased import ProductPurchased
from sweetscomplete.domain.purchase import PurchaseService
from sweetscomplete.entity.purchase import Purchase

# create CustomerService instance
cust_conn = Connection('localhost', 27017, Customer)
cust_service = CustomerService(cust_conn, 'sweetscomplete')
prod_conn = Connection('localhost', 27017, Product)
prod_service = ProductService(prod_conn, 'sweetscomplete')
purch_conn = Connection('localhost', 27017, Purchase)
purch_service = PurchaseService(purch_conn, 'sweetscomplete')

# init vars
sess_storage = os.path.realpath("../data")
auth = SimpleAuth(cust_service, sess_storage)
cust = auth.getIdentity()
html_out = Html('templates/purchase.html')

# go to login page if not authenticated
if not cust:
    print("Location: /chapter_05/index.py\r\n")
    print()
    quit()
コード例 #2
0
# sweetscomplete.entity.product.Product read/add/edit/delete

# tell python where to find module source code
import os,sys
sys.path.append(os.path.realpath("src"))

import pprint
import db.mongodb.connection

from datetime import date
from sweetscomplete.entity.product import Product
from sweetscomplete.domain.product import ProductService

# setting up the connection + collection
conn = db.mongodb.connection.Connection('localhost',27017,Product)
service = ProductService(conn, 'sweetscomplete')

# initialize test data
key        = '00000000'
doc        = '''\
{
    "productKey"  : "%key%",
    "productPhoto": "TEST",
    "skuNumber"   : "TEST0000",
    "category"    : "test",
    "title"       : "Test",
    "description" : "test",
    "price"       : 1.11,
    "unit"        : "test",
    "costPerUnit" : 2.22,
    "unitsOnHand" : 333
# sweetscomplete.entity.product.Product read/add/edit/delete

# tell python where to find module source code
import os, sys
sys.path.append(os.path.realpath("src"))

import pprint
import db.mongodb.connection

from datetime import date
from sweetscomplete.entity.product import Product
from sweetscomplete.domain.product import ProductService

# setting up the connection + collection
conn = db.mongodb.connection.Connection()
service = ProductService(conn, 'sweetscomplete')

# initialize test data
key = 'test' + date.today().isoformat().replace('-', '')
doc = '''\
{
    "productKey":"%key%",
    "productPhoto":"TEST",
    "MainProductInfo": {
        "skuNumber":"TEST0000",
        "category":"test",
        "title":"Test",
        "description":"test",
        "price":"1.11"
    },
    "InventoryInfo" : {
コード例 #4
0
cgitb.enable(display=1, logdir='../data')

# custom imports
from web.responder import Html
from web.auth import SimpleAuth
from db.mongodb.connection import Connection
from sweetscomplete.domain.customer import CustomerService
from sweetscomplete.entity.customer import Customer
from sweetscomplete.domain.product import ProductService
from sweetscomplete.entity.product import Product

# create CustomerService instance
cust_conn    = Connection('localhost', 27017, Customer)
cust_service = CustomerService(cust_conn, 'sweetscomplete')
prod_conn    = Connection('localhost', 27017, Product)
prod_service = ProductService(prod_conn, 'sweetscomplete')

# init vars
sess_storage   = os.path.realpath("../data")
auth           = SimpleAuth(cust_service, sess_storage)
html_out = Html('templates/select.html')
html_out.addInsert('%message%', '<br>')

# output
cust = auth.getIdentity()
if cust :
    # display customer name
    html_out.addInsert('%name%', cust.getFullName())
    # add products to dropdown
    keysAndTitles = prod_service.fetchAllKeysAndTitlesForSelect()
    # limit purchases to 6 line items
コード例 #5
0
ファイル: details.py プロジェクト: gabrielmahia/somAI_MongoDB
# enable error display
import cgitb
cgitb.enable(display=1, logdir='../data')

# custom imports
from config.config import Config
from web.responder.html import HtmlResponder
from db.mongodb.connection import Connection
from sweetscomplete.domain.product import ProductService
from sweetscomplete.entity.product import Product

# create CustomerService instance
config = Config()
db_config = config.getConfig('db')
prod_conn = Connection(db_config['host'], db_config['port'], Product)
prod_service = ProductService(prod_conn, db_config['database'])

# HTML output
message = 'SORRY! Unable to find information on this product'
response = HtmlResponder('templates/details.html')

# check for form posting
import cgi
form = cgi.FieldStorage()

if 'product' in form:

    # get product key
    key = form['product'].value

    # lookup product
コード例 #6
0
from config.config import Config
from web.responder.html import HtmlResponder
from web.auth import SimpleAuth
from db.mongodb.connection import Connection
from sweetscomplete.domain.customer import CustomerService
from sweetscomplete.entity.customer import Customer
from sweetscomplete.domain.product import ProductService
from sweetscomplete.entity.product import Product

# create CustomerService instance
config       = Config()
db_config    = config.getConfig('db')
cust_conn    = Connection(db_config['host'], db_config['port'], Customer)
cust_service = CustomerService(cust_conn, db_config['database'])
prod_conn    = Connection(db_config['host'], db_config['port'], Product)
prod_service = ProductService(prod_conn, db_config['database'])

# init vars
auth     = SimpleAuth(cust_service, config.getConfig('session_storage'))
cust     = auth.getIdentity()

# HTML output
response = HtmlResponder('templates/select.html')
response.addInsert('%message%', '<br>')
response.addInsert('%ajax_url%', config.getConfig('ajax_url'))

# output
if cust :
    # display customer name
    response.addInsert('%name%', cust.getFullName())
else :
コード例 #7
0
ファイル: rest.py プロジェクト: gabrielmahia/somAI_MongoDB
src_path = os.path.realpath('../../chapters/06/src')
sys.path.append(src_path)

# custom imports
import cgi
from config.config import Config
from web.responder.rest import RestResponder
from db.mongodb.connection import Connection
from sweetscomplete.domain.product import ProductService
from sweetscomplete.entity.product import Product

# create CustomerService instance
config = Config()
db_config = config.getConfig('db')
prod_conn = Connection(db_config['host'], db_config['port'], Product)
prod_service = ProductService(prod_conn, db_config['database'])

# grab request info
data = None
error = None
link = '/'
status = 200
params = cgi.FieldStorage()

# determine request method
if 'REQUEST_METHOD' in os.environ:
    method = os.environ['REQUEST_METHOD']
    if method == 'GET':
        # look for product key
        if 'key' in params:
            data = prod_service.fetchOneKeyCategoryTitlePriceForRest(
コード例 #8
0
ファイル: ajax.py プロジェクト: gabrielmahia/somAI_MongoDB
#!/usr/bin/python

# tell python where to find source code
import os, sys

src_path = os.path.realpath('../../chapters/06/src')
sys.path.append(src_path)

# custom imports
from config.config import Config
from web.responder.json import JsonResponder
from web.auth import SimpleAuth
from db.mongodb.connection import Connection
from sweetscomplete.domain.product import ProductService
from sweetscomplete.entity.product import Product

# create CustomerService instance
config = Config()
db_config = config.getConfig('db')
prod_conn = Connection(db_config['host'], db_config['port'], Product)
prod_service = ProductService(prod_conn, db_config['database'])

# JSON output
response = JsonResponder()
data = prod_service.fetchAllKeysTitlesPricesForAjax()
response.addProductKeyTitlePrice('data', data)
print(response.render())