Files
kontor/bottle/library/__init__.py
T
2025-01-09 19:28:50 +01:00

67 lines
2.7 KiB
Python

# -*- coding:utf-8 -*-
import pymongo
import bookDAO
import bottle
import cgi
__author__ = 'tpeetz'
class Plugin:
def __init__(self, app, database, sessions):
self.app = app
self.db = database
self.sessions = sessions
self.books = bookDAO.BookDAO(database)
self.routing()
def routing(self):
self.app.route('/library', 'GET', self.book_list)
self.app.route('/library/book', 'GET', self.book_list)
self.app.route('/library/book/<id>', 'GET', self.book_details)
self.app.route('/library/book/create', 'GET', self.get_book_create)
self.app.route('/library/book/create', 'POST', self.post_create_book)
def book_list(self):
cookie = bottle.request.get_cookie("session")
username = self.sessions.get_username(cookie)
l = self.books.get_books()
return bottle.template('book_list', dict(books=l, username=username))
def book_details(self, id):
cookie = bottle.request.get_cookie("session")
username = self.sessions.get_username(cookie)
book = self.books.get_book(id)
errors = ""
if book == None:
errors = "Entry not found"
return bottle.template('book_template', dict(title=book['title'],
id=book['_id'],
current_order=book['current_order'],
completed=book['completed'],
errors="",
username=username))
def get_book_create(self):
cookie = bottle.rddequest.get_cookie("session")
username = self.sessions.get_username(cookie)
return bottle.template("book_template", dict(title="",
id='newentry',
current_order=False,
completed=False,
errors="",
username=username))
def post_create_book(self):
book_id = bottle.request.forms.get("id")
book_title = bottle.request.forms.get("title")
book_order = bottle.request.forms.get("current_order")
book_completed = bottle.request.forms.get("completed")
if book_id == "newentry":
self.books.insert_entry(book_title, None, book_order, book_completed)
else:
self.comics.update_entry(book_id, book_title, None, book_order, book_completed)
bottle.redirect("/comics/comic")