コード例 #1
0
ファイル: application.py プロジェクト: richgieg/ItemCatalog
def new_item(category_id):
    if not standard_rights():
        return redirect(url_for('show_items', category_id=category_id))
    category = get_category_or_abort(category_id)
    if request.method == 'POST':
        if not validate_new_item_form():
            flash("Form fields cannot be blank")
            return redirect(url_for('new_item', category_id=category_id))
        item_name = request.form['name']
        item_id = slugify(item_name)
        item_desc = request.form['description']
        item_short_desc = request.form['short_description']
        item_price = request.form['price']
        item = Item(id=item_id, name=item_name, description=item_desc,
                    short_description=item_short_desc,
                    price=item_price, category_id=category.id,
                    user_id=session['user_id'])
        item.save_image(request.files['image_file'])
        catalog.add(item)
        catalog.commit()
        flash("Item created: %s" % item.name)
        return redirect(url_for('show_item', category_id=category.id,
                                item_id=item_id))
    else:
        return render_template('new_item.html', category=category)
コード例 #2
0
ファイル: application.py プロジェクト: mjcook/ItemCatalog
def newItem(category_id):
    if (not checkLoggedIn()):
        flash("Must login to access this functionality")
        return redirect('/login')
    if (not checkTokenValid()):
        flash("Login session expired")
        return redirect(url_for('logout'))
    category = session.query(Category).filter_by(id=category_id).first()
    if (category.user_id != login_session['id']):
        flash("Insufficient Priviledges")
        return redirect(url_for('getCategory', category_id=category_id))
    if (request.method == 'GET'):
        return render_template('newitem.html', category=category)
    if (request.method == 'POST'):
        newItemTitle = request.form['title']
        newItemDesc = request.form['description']
        if ((newItemTitle is None) or (newItemTitle == '')):
            flash("New item must have a valid title")
            return redirect(url_for('newItem', category_id=category_id))
        else:
            newItem = Item(title=newItemTitle,
                           description=newItemDesc,
                           category=category,
                           user_id=login_session['id'])
            session.add(newItem)
            session.commit()
            flash(newItemTitle + " item has been created")
            return redirect(url_for('getCategory', category_id=category_id))
コード例 #3
0
ファイル: project.py プロジェクト: timwiesner/catalog
def createItem():
    """
    All user can create a new item.
    """
    if not userLoggedIn():
        flash('Must be logged in to Create Item')
        return redirect(url_for('showCatalog'))
    categories = session.query(Category).all()
    if request.method == 'POST':
        user = session.query(User).filter(
            User.email == login_session['email']).one()
        image = request.files['image']
        imagepath = None
        if image and allowed_file(image.filename):
            filename = secure_filename(image.filename)
            filename = unquieName(filename)
            imagepath = os.path.join(app.config['UPLOAD_FOLDER'], filename)
            image.save(imagepath)
        newItem = Item(name=request.form['name'],
                       description=request.form['description'],
                       price=request.form['price'],
                       category_id=request.form['category_id'],
                       user_id=user.id,
                       image=imagepath)
        session.add(newItem)
        session.flush()
        session.commit()
        flash(newItem.name + ' Successfully created')
        return redirect(
            url_for('showItem',
                    category_name=newItem.category.name,
                    item=newItem.id))
    return render_template('update.html', categories=categories, new=True)
コード例 #4
0
ファイル: application.py プロジェクト: jessehoffmann/Catalog
def addItem():
    categories = session.query(Category.name)
    if request.method == 'GET':
        # check if a user is logged in
        if 'username' not in login_session:
            return redirect(url_for('showCatalog'))
        return render_template('addItem.html', categories=categories)
    else:
        title = request.form['title']
        description = request.form['description']
        category = request.form['category']
        # only allows item to be added if all forms have been filled out
        if title is None or description is None or category is None:
            return redirect(url_for('showCatalog'))
        else:
            # create new item from name
            item = Item(name=title)
            # add description and cateogory to item
            item.description = description
            item.category_name = category
            session.add(item)
            session.commit()
            return redirect(url_for('showCatalog'))
コード例 #5
0
def new_item():
    """Create a new item in the database via a form and return a webpage."""
    # Find categories
    categories = session.query(Category).all()
    # If user submits form to create new item
    if request.method == 'POST':
        # Check that user doesn't enter an empty string
        if request.form['newItemName'] == '':
            # Give an error message
            flash("The item wasn't added! You need to type a name!")
            # Return to new item page
            return render_template('item-new.html', categories=categories)
        # Check if user selected "New Category" in dropdown
        if request.form['categoryName'] == 'newCategory':
            # Create new category in database from user input
            categoryName = request.form['newCat']
            newCategory = Category(name=categoryName)
            session.add(newCategory)
            session.commit()
        else:
            categoryName = request.form['categoryName']
        # Get category id for new item
        cat_id = (session.query(Category)
                         .filter_by(name=categoryName).first().id)
        newItem = Item(name=request.form['newItemName'],
                       description=request.form['newItemDesc'],
                       date_added=date.today(),
                       image=request.form['newItemURL'],
                       category_id=cat_id)
        session.add(newItem)
        session.commit()
        # Go back to main page
        return redirect(url_for('item', item_name=request.form['newItemName'],
                                category_name=categoryName))
    # Present new item form
    else:
        return render_template('item-new.html', categories=categories)
コード例 #6
0
    "chess", "archery", "roulette", "water polo"
}

user = User(name="admin", email="*****@*****.**", admin=True)
session.add(user)
session.commit()

for sport in sports:
    category = Category(name=sport)
    session.add(category)
    session.commit()
    for i in range(random.randint(1, 20)):
        name = sport + ' item ' + str(i + 1)
        price = random.randint(1, 100)
        item = Item(
            name=name,
            description=
            "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi cursus luctus dapibus. Aenean ut quam eu sapien malesuada porta ut non quam. Etiam cursus maximus eros eu pharetra. Fusce finibus turpis ipsum, quis vehicula libero molestie sed. Aenean cursus viverra nulla, vel venenatis dui vulputate in. Morbi et aliquet erat. Duis eget lacus quis lorem iaculis ornare ut quis dui. Vivamus euismod, sapien nec varius sodales, justo lacus mattis erat, non pellentesque arcu nulla ut neque. Aenean sagittis consectetur sem eu tristique. Donec consectetur turpis tincidunt risus euismod tincidunt. Sed lacus turpis, iaculis nec nulla eget, varius pretium magna. Aliquam vitae magna vitae elit eleifend suscipit eget eu arcu. Nunc dolor ex, bibendum id purus quis, tempus bibendum augue. Praesent consequat sapien risus, quis fermentum velit tincidunt imperdiet. Cras lacinia tempus libero, sed mollis ante tincidunt non.",
            price=price + .99,
            category=category,
            user=user)
        session.add(item)
        session.commit()

item = session.query(Item).first()
item.image = "images/test_image.jpg"
session.add(item)
session.commit()

print "Added items!"
コード例 #7
0
from catalog import Item
from catalog import Catalog

item1 = Item("12 Angry Men", "Drama")
item2 = Item("The Godfather", "Crime")
item3 = Item("Schindler's List", "Biography")
item4 = Item("Pulp Fiction", "Crime")
catalog = Catalog('Films')
catalog.add(item1)
catalog.add(item2)
catalog.add(item3)
catalog.add(item4)
#print(catalog)

assert catalog.__str__() == "Catalog Films:\n\tName: 12 Angry Men, Category: Drama\n\tName: The Godfather, Category: Crime\n\tName: Schindler's List, Category: Biography\n\tName: Pulp Fiction, Category: Crime"
print('Complete')
コード例 #8
0
ファイル: fakeitems.py プロジェクト: Sesshoumaru404/catalog
sports = {"soccer", "basketball", "tennis", "polo", "track", "swimming",
          "racing", "football", "baseball", "golf", "skydiving", "poker",
          "video games", "chess", "archery", "roulette", "water polo"}

user = User(name="admin", email="*****@*****.**", admin=True)
session.add(user)
session.commit()

for sport in sports:
    category = Category(name=sport)
    session.add(category)
    session.commit()
    for i in range(random.randint(1, 20)):
        name = sport + ' item ' + str(i+1)
        price = random.randint(1, 100)
        item = Item(name=name,
                    description="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi cursus luctus dapibus. Aenean ut quam eu sapien malesuada porta ut non quam. Etiam cursus maximus eros eu pharetra. Fusce finibus turpis ipsum, quis vehicula libero molestie sed. Aenean cursus viverra nulla, vel venenatis dui vulputate in. Morbi et aliquet erat. Duis eget lacus quis lorem iaculis ornare ut quis dui. Vivamus euismod, sapien nec varius sodales, justo lacus mattis erat, non pellentesque arcu nulla ut neque. Aenean sagittis consectetur sem eu tristique. Donec consectetur turpis tincidunt risus euismod tincidunt. Sed lacus turpis, iaculis nec nulla eget, varius pretium magna. Aliquam vitae magna vitae elit eleifend suscipit eget eu arcu. Nunc dolor ex, bibendum id purus quis, tempus bibendum augue. Praesent consequat sapien risus, quis fermentum velit tincidunt imperdiet. Cras lacinia tempus libero, sed mollis ante tincidunt non.",
                    price=price + .99,
                    category=category,
                    user=user)
        session.add(item)
        session.commit()

item = session.query(Item).first()
item.image = "images/test_image.jpg"
session.add(item)
session.commit()

print "Added items!"
コード例 #9
0
from catalog import Item
from catalog import Catalog

# Main program starts here
item1 = Item("Green Book", "Biography")
print(item1)

item2 = Item("The God", "Crime")
print(item2)
item2.set_name("The Godfather")
print(item2)

item3 = Item("Schindler's List", "Biography")
print(item3)
item3.set_category("Drama")
print(item3)

catalog = Catalog('Films')
catalog.add(item1)
catalog.add(item2)
catalog.add(item3)
print(catalog)

catalog.remove(item2)
print(catalog)

catalog.set_name("Favorite Movies")
print(catalog)

print(catalog.find_item_by_name("Green Book"))
print(catalog.find_item_by_name("The Godfather"))
コード例 #10
0
from catalog import Item
from catalog import Catalog

# Main program starts here
item1 = Item("12 Angry Men", "Blabla")
item1.set_category("Drama")
print(item1)

item2 = Item("The God", "Crime")
print(item2)
item2.set_name("The Godfather")
print(item2)

item3 = Item("Schindler's List", "Biography")
print(item3)

item4 = Item("Pulp Fiction", "Crime")
print(item4)
catalog = Catalog('Films')
catalog.add(item1)
catalog.add(item2)
catalog.add(item3)
catalog.add(item4)
print(catalog)

catalog.remove(item3)
catalog.set_name("My Favorites")
print(catalog)

print(catalog.find_item_by_name("Green Book"))
print(catalog.find_item_by_name("The Godfather"))
コード例 #11
0
 'Bat']
categories = [ soccer,soccer,soccer,snowboarding,snowboarding,hockey,baseball]
itemsWithCategories = zip(items,categories):

images = {'Shinguards':"http://ep.yimg.com/ay/yhst-96316601417599/nike-usa-mercurial-lite-shinguards-royal-5.jpg",
'Jersey':"http://image.made-in-china.com/4f0j00JMetfqWlCVog/2012-New-Style-Football-Jersey-Sport-Jersey-Soccer-Shirt.jpg",
'Soccer Cleats':"https://s-media-cache-ak0.pinimg.com/236x/66/0e/61/660e61232c8f3ac243a56ad013087b50.jpg",
'Goggles':"http://www.gooutdoors.co.uk/Lib/Img/ski-goggles.jpg",
'Snowboard':"",
'Stick':"",
'Bat':""
}

def CreateDescription(nameStr,categoryEntry):
    categoryStr = categoryEntry.name
    descriptionStr = "%s: used in the sport of %s" %(nameStr,categoryStr)
    return descriptionStr

def CreateRandomDate():
	today = datetime.date.today()
	days_ago = randint(0,540)
	date = today - datetime.timedelta(days = days_ago)
	return date


for i,c in itemsWithCategories:
    new_item = Item( name = i, category_id = c.id, image=images[i],
     description = CreateDescription(i,c), date_added = CreateRandomDate() )
    session.add(new_item)
    session.commit()