コード例 #1
0
 def page(self, url_title):
     results = docstore.get(
         settings.DOCSTORE_HOSTS, settings.DOCSTORE_INDEX, 'articles',
         url_title
     )
     if not results:
         return None
     page = Page()
     for key,val in results['_source'].iteritems():
         setattr(page, key, val)
     # remove page elements for internal editorial use only
     categories = [
         category
         for category in page.categories
         if category not in settings.MEDIAWIKI_HIDDEN_CATEGORIES
     ]
     page.categories = categories
     # sources
     #sources = []
     #results = docstore.mget(
     #    settings.DOCSTORE_HOSTS, settings.DOCSTORE_INDEX, 'sources',
     #    page.sources
     #)
     #for doc in results['docs']:
     #    source = Source()
     #    for key,val in doc['_source'].iteritems():
     #        setattr(source, key, val)
     #    sources.append(source)
     #page.sources = sources
     return page
コード例 #2
0
 def source(self, encyclopedia_id):
     results = docstore.get(
         settings.DOCSTORE_HOSTS, settings.DOCSTORE_INDEX, 'sources',
         encyclopedia_id
     )
     source = Source()
     for key,val in results['_source'].iteritems():
         setattr(source, key, val)
     return source
コード例 #3
0
 def author(self, url_title):
     results = docstore.get(
         settings.DOCSTORE_HOSTS, settings.DOCSTORE_INDEX, 'authors',
         url_title
     )
     author = Author()
     for key,val in results['_source'].iteritems():
         setattr(author, key, val)
     return author
コード例 #4
0
 def topics(self):
     terms = []
     results = docstore.get(
         settings.DOCSTORE_HOSTS, settings.DOCSTORE_INDEX, 'vocab',
         'topics'
     )
     if results['_source']['terms']:
         terms = [
             {
                 'id': term['id'],
                 'title': term['title'],
                 '_title': term['_title'],
                 'encyc_urls': term['encyc_urls'],
             }
             for term in results['_source']['terms']
         ]
     return terms