def search(self, *args, **kwargs): query = kwargs.get('query', None) tag = kwargs.get('tag', None).lower() if not query: query = kwargs.get('searchTerm', None) if query: if tag == "film director": tag = "director" elif tag == "film actor": tag = "actor" elif tag in ['musical group', 'guitarist', 'musician', 'film score artist', 'alternative artist']: tag = 'Artist' elif tag in ['composition', 'cusical Recording']: tag = 'Track' elif tag in ['musical album', 'musical release']: tag = 'Album' elif not tag: try: tag = suggest.find_entity_locally(query)['tag'] except: tag = 'Untaggedentity' try: module = __import__(tag.capitalize()) _class = getattr(module, tag.capitalize()) entity = _class() results = entity.get_results(query) results['query'] = query results['tag'] = tag template = templates.get('results.html') return template.render({'results': results}) except Exception as e: print 'Error: ', e return None return 'Please specify a query'
def result(self, cat_id): template = templates.get('results_items.html') user = users.get_current_user() category = Category.get_by_id(int(cat_id)) items = category.items item_list = [] for item in items: try: percentage = item.wins * 100.0 / (item.wins + item.losses) percentage_str = '%.2f' % percentage except ZeroDivisionError: percentage = -1 percentage_str = '-' item_dict = {'id': item.key().id(), 'name': item.name, 'wins': item.wins, 'losses': item.losses, 'comments': item.comments, 'percentage': percentage, 'comment_count': item.comments.count(), 'percentage_str': percentage_str} item_list.append(item_dict) item_list = sorted(item_list, key=lambda k: k['percentage'], reverse=True) template_values = { 'user' : user.nickname(), 'logout_url': users.create_logout_url("/"), 'items': item_list, 'category': category.name } self.response.out.write(template.render(template_values))
def settings(self): template = templates.get('settings.html') try: user_feeds = self.mongo.db.user_feeds2.find_one({'_id': 1})['feeds'] except: user_feeds = None return template.render({'feeds': user_feeds})
def import_page(self): template = templates.get('import.html') user = users.get_current_user() template_values = { 'user' : user.nickname(), 'logout_url': users.create_logout_url("/") } self.response.write(template.render(template_values))
def _show_home_page(self, msg_dict): template = templates.get('index.html') user = users.get_current_user() template_values = { 'user' : user.nickname(), 'logout_url': users.create_logout_url("/"), 'message': msg_dict } self.response.write(template.render(template_values))
def index(self): template = templates.get('index.html') user_items = [] try: user_feeds = self.mongo.db.user_feeds2.find_one({'_id': 1})['feeds'] except: user_feeds = [] for feed in user_feeds: url = self.hash_url(feed) feed_items = self.mongo.db.feeds_entities.find_one({'_id': url}) if feed_items: feed_items = feed_items['items'] for item in feed_items: user_items.append(item) return template.render({'feed_items': user_items})
def show_edit(self, cat_id): category = Category.get_by_id(int(cat_id)) expires_in = (category.expiry - datetime.now()).days if expires_in < 0: expires_in = 0 template = templates.get('edit_page.html') user = users.get_current_user() template_values = { 'user' : user.nickname(), 'logout_url': users.create_logout_url("/"), 'items': category.items, 'category': category, 'expires_in': expires_in, 'item_count': category.items.count() } self.response.write(template.render(template_values))
def results(self): categories = db.GqlQuery('SELECT * from Category') template = templates.get('results_category.html') user = users.get_current_user() category_list = [] for category in categories: cat = {'name': category.name, 'date': str(category.date), 'items': category.items.count(), 'id': category.key().id(), 'owner': category.owner.nickname()} category_list.append(cat) template_values = { 'user' : user.nickname(), 'logout_url': users.create_logout_url("/"), 'categories': category_list } self.response.out.write(template.render(template_values))
def vote(self, cat_id): user = users.get_current_user() template = templates.get('vote.html') category = Category.get_by_id(int(cat_id)) items = category.items selected_items = list(random.sample(set(items), 2)) item1 = self.get_item_dict(selected_items[0]) item2 = self.get_item_dict(selected_items[1]) template_values = { 'user' : user.nickname(), 'logout_url': users.create_logout_url("/"), 'category': category.name, 'item1': item1, 'item2': item2 } self.response.out.write(template.render(template_values))
def all(self): categories = db.GqlQuery('SELECT * from Category') template = templates.get('all_category.html') user = users.get_current_user() category_list = [] for category in categories: if category.expiry < datetime.now(): expires_in = 'expired' else: expires_in = (datetime.now() - category.expiry).days cat = {'name': category.name, 'date': str(category.date), 'items': category.items.count(), 'id': category.key().id(), 'owner': category.owner.nickname(), 'expires_in': expires_in} category_list.append(cat) template_values = { 'user' : user.nickname(), 'logout_url': users.create_logout_url("/"), 'categories': category_list } self.response.out.write(template.render(template_values))
def search(self): user = users.get_current_user() if user: template = templates.get('search.html') search_term = cgi.escape(self.request.POST['searchTerm']) categories = Category.all().search(search_term, properties=['name']) entity_list = [] for category in categories: entity_list.append({'type': 'Category', 'name': category.name}) items = Item.all().search(search_term, properties=['name']) for item in items: entity_list.append({'type': 'Item', 'name': item.name}) template_values = { 'user' : user.nickname(), 'logout_url': users.create_logout_url("/"), 'entities': entity_list } self.response.write(template.render(template_values)) else: self.redirect(users.create_login_url("/"))
def index(self): template = templates.get('index.html') return template.render()