示例#1
0
文件: root.py 项目: Sushant/quest
 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'
示例#2
0
 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))
示例#3
0
 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})
示例#4
0
 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))
示例#5
0
 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))
示例#6
0
 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})
示例#7
0
 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))
示例#8
0
 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))
示例#9
0
 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))
示例#10
0
 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))
示例#11
0
  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("/"))
示例#12
0
文件: root.py 项目: Sushant/quest
 def index(self):
   template = templates.get('index.html')
   return template.render()