def text_view(request, title): qs = QuerySet(using=ExistDB(), xpath='/tei:TEI', collection='docker/texts/', model=RocheTEI) # filter by title qs = qs.filter(title=title).order_by('chapter') max_juan = qs.count() result = "" for q in qs: result = result + q.body.xsl_transform(xsl=XSL_TRANSFORM_1).serialize() text_title = qs[0].title data = {'tei_documents': qs, 'tei_transform': result, 'text_title': text_title, 'max_juan': max_juan, } return render_to_response('browser/text_view.html', data, context_instance=RequestContext(request))
def get_query_set(self): """ Get the default :class:`eulexistdb.db.QuerySet` returned by this ``Manager``. Typically this returns a ``QuerySet`` based on the ``Manager``'s `xpath`, evaluated in the ``settings.EXISTDB_ROOT_COLLECTION`` on a default :class:`eulexistdb.db.ExistDB`. This is a convenient point for developers to customize an object's managers. Deriving a child class from Manager and overriding or extending this method is a handy way to create custom queries accessible from an :class:`~eulexistdb.models.XmlModel`. """ if hasattr(settings, 'EXISTDB_FULLTEXT_OPTIONS'): fulltext_opts = settings.EXISTDB_FULLTEXT_OPTIONS else: fulltext_opts = {} return QuerySet(model=self.model, xpath=self.xpath, using=ExistDB(), collection=settings.EXISTDB_ROOT_COLLECTION, fulltext_options=fulltext_opts)
def render(self, context): from browser.models import DDBCPlaceName try: self.place_name = self.place_name.resolve(context) except template.VariableDoesNotExist: return '' qs = QuerySet(using=ExistDB(), xpath='/tei:TEI//tei:place', collection='docker/resources/', model=DDBCPlaceName) qs = qs.filter(place_names=self.place_name) ddbc_output = u'' for q in qs: ddbc_output += '<p>' ddbc_output += 'Other names: ' + u', '.join(q.place_names) + '<br>' ddbc_output += 'District: ' + q.district + '<br>' ddbc_output += 'Notes: ' + u' '.join(q.notes) + '<br>' ddbc_output += 'Location: ' + q.geo + '<br>' ddbc_output += '</p>' return ddbc_output
# Load resources # for (dirpath, dirnames, filenames) in walk('resources'): xmldb.createCollection('docker' + '/' + dirpath, True) if filenames: for filename in filenames: with open(dirpath + '/' + filename) as f: xmldb.load(f, os.path.join('docker', dirpath, filename), True) # # Load TEI into solr # si = sunburnt.SolrInterface(SOLR_SERVER_URL + '/') qs = QuerySet(using=ExistDB(), xpath='/tei:TEI', collection='docker/texts/', model=RocheTEI) i = 0 for q in qs: print i doc = collections.defaultdict(list) for div in q.body.div: text = div.text.replace(" ", "").replace("\n", "") doc["text"].append(text) i = i + 1 doc['id'] = q.title + '/' + str(q.chapter) doc['title'] = q.title doc['author'] = q.author