def display(self, templateFile, params={}): path = os.path.join( os.path.dirname(__file__) + '/../templates/', templateFile) user = users.get_current_user() if user: isAdmin = user.email() == "*****@*****.**" else: isAdmin = False # Add some default parameters params['status'] = self.status params['APP_URL'] = 'http://joel.poloney.com/galleria' params['user'] = user params['isAdmin'] = isAdmin # Get 5 most recent albums params['recentAlbums'] = Album.gql("ORDER BY created DESC LIMIT 5") # Get All categories params['categories'] = Category.all() # Get information for stats section params['numAlbums'] = Album.all().count() params['numPhotos'] = Photo.all().count() self.response.out.write(template.render(path, params))
def display(self,templateFile,params={}): path=os.path.join(os.path.dirname(__file__) + '/../templates/', templateFile) user=users.get_current_user() if user: isAdmin=user.email() == "*****@*****.**" else: isAdmin=False # Add some default parameters params['status']=self.status params['APP_URL']='http://joel.poloney.com/galleria' params['user']=user params['isAdmin']=isAdmin # Get 5 most recent albums params['recentAlbums']=Album.gql("ORDER BY created DESC LIMIT 5") # Get All categories params['categories']=Category.all() # Get information for stats section params['numAlbums']=Album.all().count() params['numPhotos']=Photo.all().count() self.response.out.write(template.render(path, params))
def get(self): categories = Category.gql("ORDER BY created DESC") params={ 'categories':categories } self.display('index.html', params)
def get(self, resource): catId = int(urllib.unquote(resource)) category = Category.get_by_id(catId) params={ 'category':category, 'title':category.name } self.display('category.html', params)
def add_entry(): if not session.get('login_in'): abort(401) title = request.form['title'] content = request.form['text'] category = Category(title,content) db.session.add(category) db.session.commit() flash('New entry was successfully posted') return redirect(url_for('show_entries'))
def addarticle(): try: data = str(request.values) # print data parent_title = request.form.get('parent_title') level = request.form.get('level') title = request.form.get('title',"null") body = request.form.get('body') author = request.form.get('author') createtime = request.form.get('createtime') article = Article(title,body,author,createtime,level,parent_title) category = Category(name =title,level =level) db.session.add(article) db.session.add(category) db.session.commit() flash('New article was successfully posted') return redirect(url_for('test')) except IOError: print IOError
def __updateSolvedCategories(self, id): if 'categories' in cherrypy.request.json: if not isinstance(cherrypy.request.json['categories'], list): raise ValidationException('`categories´ must be an instance of list.') number_of_valid_categories = len(cherrypy.request.json['categories']) for category in cherrypy.request.json['categories']: if Category().find(category): number_of_valid_categories -= 1 else: raise ValidationException("A category with the given `categories´ list (ID: " + str( category) + ") does not exist.") if number_of_valid_categories == 0: all_bug_categories = BugCategories().all({'bug_id': int(id)}) for existing_bug_categories in all_bug_categories: BugCategories().delete(existing_bug_categories['id']) for category in cherrypy.request.json['categories']: BugCategories().create({'bug_id': int(id), 'category_id': int(category)}) return True
def get(self): categories = Category.gql("ORDER BY created DESC") params = {'categories': categories} self.display('index.html', params)
def new(self, view: View): return view.render("posts/new", {"categories": Category.get().all()})
def _setupRESTfulModels(self): return Category()
def redirect_new_paper(): authors = Author().getAllAuthors() categories = Category().getAllCategories() subcategories = Subcategory().getAllSubcategories() return render_template("new-paper.html", authors=authors, categories=categories, subcategories=subcategories)
def edit(self, view: View, request: Request): post = Post.find(request.params.get('id')) return view.render("posts/edit", { "categories": Category.get().all(), "post": post })
def setUp(self): """Initializes test for user Class""" self.category = Category() self.category.category = {}
class TestForClassCategory(unittest.TestCase): """Test for category class""" def setUp(self): """Initializes test for user Class""" self.category = Category() self.category.category = {} def test_for_add_category_with_invalid_characters(self): """Tests for successfull creation of a category""" image = os.path.dirname(os.path.realpath(__file__)) + "/test.jpg" img = Image.open(image) response = self.category.create_category(' ', ' ', ' ', img) self.assertEqual( { "message": { 'type': '', 'msg': "Input cannot be empty" }, 'status': 'error' }, response) def test_for_adding_existing_category(self): image = os.path.dirname(os.path.realpath(__file__)) + "/test.jpg" img = Image.open(image) self.category.create_category('name', 'desc', 'user_id', img) response = self.category.create_category('name', 'desc', 'user_id', img) self.assertEqual( { "message": { 'type': 'name_error', 'msg': "Category already exists" }, 'status': 'error' }, response) def test_update_category_without_image(self): image = os.path.dirname(os.path.realpath(__file__)) + "/test.jpg" img = Image.open(image) self.category.create_category('name', 'desc', 'user_id', img) response = self.category.update_category(1, 'new name', 'new desc', 'user_id', '') self.assertEqual('Category updated successfully', response['message']) def test_update_category_with_image(self): image = os.path.dirname(os.path.realpath(__file__)) + "/test.jpg" img = Image.open(image) self.category.create_category('name', 'desc', 'user_id', img) response = self.category.update_category(1, 'new name', 'new desc', 'user_id', img) self.assertEqual('Category updated successfully', response['message']) def test_update_existing_category(self): image = os.path.dirname(os.path.realpath(__file__)) + "/test.jpg" img = Image.open(image) self.category.create_category('name', 'desc', 'user_id', img) self.category.create_category('name 1', 'desc 1', 'user_id 1', img) response = self.category.update_category(2, 'name', 'desc', 'user_id', img) self.assertEqual( { 'msg': 'Category already exists', 'type': 'name_error' }, response['message']) def test_update_category_with_invalid_input(self): image = os.path.dirname(os.path.realpath(__file__)) + "/test.jpg" img = Image.open(image) self.category.create_category('name', 'desc', 'user_id', img) response = self.category.update_category(1, ' ', ' ', ' ', img) self.assertEqual({ 'msg': 'Input cannot be empty', 'type': '' }, response['message']) def test_delete_category(self): image = os.path.dirname(os.path.realpath(__file__)) + "/test.jpg" img = Image.open(image) self.category.create_category('name', 'desc', 'user_id', img) self.category.update_category(1, 'new name', 'new desc', 'user_id', img) response = self.category.delete_category(1) self.assertEqual( { "message": "Category deleted successfully", "status": "success" }, response) def test_delete_non_existing_category(self): response = self.category.delete_category(1) self.assertEqual( { "message": "Sorry, Category does not exist", "status": "error" }, response) def test_get_all_categories(self): image = os.path.dirname(os.path.realpath(__file__)) + "/test.jpg" img = Image.open(image) self.category.create_category('name', 'desc', 'user_id', img) self.category.create_category('new name', 'new desc', 'user_id', img) response = self.category.all_categories('user_id') self.assertEqual(self.category.category, response) def test_get_single_category(self): image = os.path.dirname(os.path.realpath(__file__)) + "/test.jpg" img = Image.open(image) self.category.create_category('name', 'desc', 'user_id', img) response = self.category.single_category(1) self.assertEqual("success", response['status']) def test_get_single_non_existing_category(self): response = self.category.single_category(1) self.assertEqual( { "message": "Category not available", "status": "error" }, response) def test_corrent_assign_id(self): res = self.category.assign_id() self.assertEqual(1, res) def test_check_if_category_exists(self): image = os.path.dirname(os.path.realpath(__file__)) + "/test.jpg" img = Image.open(image) self.category.create_category('name', 'desc', 'user_id', img) self.assertTrue(self.category.check_if_exists(1)) def test_for_empty_fields(self): """Test for empty fields""" result = self.category.create_category('', '', '', '') self.assertEqual( { "status": "error", "message": { 'type': '', 'msg': "Fill all the fields" } }, result) def test_for_empty_name_field(self): """Test for empty name field""" result = self.category.create_category('', 'after dinner', 1, 'file.png') self.assertEqual( { "status": "error", "message": { 'type': '', 'msg': "Fill all the fields" } }, result) def test_for_empty_description_field(self): """Test for empty description field""" result = self.category.create_category('dessert', '', 1, 'file.png') self.assertEqual( { "status": "error", "message": { 'type': '', 'msg': "Fill all the fields" } }, result) def test_for_non_existing_category(self): """Test for non-existing category""" self.category.single_category(1) result = self.category.single_category(2) self.assertEqual( { "status": "error", 'message': 'Category not available', 'status': 'error' }, result) def test_for_missing_update_category(self): """Test for non-existing update category""" self.category.update_category(1, 'Appetizers', 'a desc', 1, 'file.png') result = self.category.update_category(2, 'App', 'available before', 1, 'file.png') self.assertEqual( { "status": "error", "message": { 'type': 'name_error', 'msg': "Category does not exist" } }, result) def test_for_delete_missing_category(self): """Test for non-existing delete category""" self.category.delete_category(2) result = self.category.delete_category(0) self.assertEqual( { "status": "error", "message": "Sorry, Category does not exist" }, result) def test_for_display_single_non_existing_category(self): """Test for non-existing display single category""" self.category.single_category(0) result = self.category.single_category(2) self.assertEqual( { "status": "error", "message": "Category not available" }, result)
def handleAction(self): self.verifyLogin() action = self.request.get('action') params = { 'action':action } if action == 'addphoto': albums = Album.gql("ORDER BY created DESC") if albums.count() > 0: params['uploadUrl'] = blobstore.create_upload_url('/upload') params['albums'] = albums elif action == 'addalbum': params['categories'] = Category.all() if self.request.get('submit'): album = Album() album.name = self.request.get('name') album.description = self.request.get('description') album.catId = int(self.request.get('catId')) album.modified = datetime.datetime.now() album.put() self.setStatus('Added new album') params['action'] = False elif action == 'editphoto': photoId = int(self.request.get('id')) photo = Photo.get_by_id(photoId) params['photo'] = photo params['albums'] = Album.gql("ORDER BY created DESC") if self.request.get('submit'): photo.name = self.request.get('name') photo.description = self.request.get('description') photo.albumId = int(self.request.get('albumId')) photo.regenerateThumbnail() photo.put() self.redirect(photo.getPermLink()) elif action == 'delphoto': photoId = int(self.request.get('id')) photo = Photo.get_by_id(photoId) photo.delete() self.setStatus('Photo has been deleted') params['action'] = False elif action == 'editalbum': albumId = int(self.request.get('id')) album = Album.get_by_id(albumId) params['album'] = album params['categories'] = Category.all() if self.request.get('submit'): album.name = self.request.get('name') album.description = self.request.get('description') album.catId = int(self.request.get('catId')) album.modified = datetime.datetime.now() album.put() self.redirect(album.getPermLink()) elif action == 'delalbum': albumId = int(self.request.get('id')) album = Album.get_by_id(albumId) album.delete() self.setStatus('Album has been deleted') params['action'] = False elif action == 'addcategory': if self.request.get('submit'): category = Category() category.name = self.request.get('name') category.description = self.request.get('description') category.put() self.setStatus('Added new category') params['action'] = False elif action == 'editcategory': catId = int(self.request.get('id')) category = Category.get_by_id(catId) params['category'] = category if self.request.get('submit'): category.name = self.request.get('name') category.description = self.request.get('description') category.put() self.redirect(category.getPermLink()) elif action == 'delcategory': catId = int(self.request.get('id')) category = Category.get_by_id(catId) category.delete() self.setStatus('Category has been deleted') params['action'] = False self.display('admin.html', params)
def getCategory(self): from app.models.Category import Category return Category.get_by_id(self.catId)
def get(self, resource): catId = int(urllib.unquote(resource)) category = Category.get_by_id(catId) params = {'category': category, 'title': category.name} self.display('category.html', params)