mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-11-03 20:02:47 +00:00 
			
		
		
		
	First metadata addition
This commit is contained in:
		@@ -7,6 +7,7 @@ from ..events import connected_sessions
 | 
			
		||||
from ..models import Corpus, User
 | 
			
		||||
import cqi
 | 
			
		||||
import math
 | 
			
		||||
from app import logger
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
'''
 | 
			
		||||
@@ -36,14 +37,27 @@ def corpus_analysis_get_meta_data(corpus_id):
 | 
			
		||||
    db_corpus = Corpus.query.get(corpus_id)
 | 
			
		||||
    # TODO: Check if current user is actually the creator of the corpus?
 | 
			
		||||
    metadata = {}
 | 
			
		||||
    metadata["corpus_name"] = db_corpus.title
 | 
			
		||||
    metadata["corpus_description"] = db_corpus.description
 | 
			
		||||
    metadata["corpus_creation_date"] = db_corpus.creation_date.isoformat()
 | 
			
		||||
    metadata['corpus_name'] = db_corpus.title
 | 
			
		||||
    metadata['corpus_description'] = db_corpus.description
 | 
			
		||||
    metadata['corpus_creation_date'] = db_corpus.creation_date.isoformat()
 | 
			
		||||
    metadata['corpus_last_edited_date'] = db_corpus.last_edited_date.isoformat()
 | 
			
		||||
    # get meta data from corpus in cqp server
 | 
			
		||||
    client = corpus_analysis_clients.get(request.sid)
 | 
			
		||||
    client_corpus = client.corpora.get('CORPUS')
 | 
			
		||||
    metadata["corpus_properties"] = client_corpus.attrs['properties']
 | 
			
		||||
    # metadata["corpus_properties"] = client.api.corpus_properties('CORPUS')
 | 
			
		||||
    metadata['corpus_properties'] = client_corpus.attrs['properties']
 | 
			
		||||
    metadata['corpus_size_tokens'] = client_corpus.attrs['size']
 | 
			
		||||
 | 
			
		||||
    texts = {}
 | 
			
		||||
    text_attr = client_corpus.structural_attributes.get('text')
 | 
			
		||||
    for text_id in range(0, (text_attr.attrs['size'])):
 | 
			
		||||
        texts[text_id] = {}
 | 
			
		||||
        logger.warning('Text ID: {}'.format(text_id))
 | 
			
		||||
        struct_attrs = client_corpus.structural_attributes.list(filters={'part_of': text_attr})
 | 
			
		||||
        for struct_attr in struct_attrs:
 | 
			
		||||
            logger.warning(struct_attr)
 | 
			
		||||
            for struct_id in list(range(0, struct_attr.attrs['size'])):
 | 
			
		||||
                logger.warning(struct_attr.values_by_ids([struct_id]))
 | 
			
		||||
 | 
			
		||||
    payload = metadata
 | 
			
		||||
    response = {'code': 200, 'desc': 'Corpus meta data', 'msg': 'OK', 'payload': payload}
 | 
			
		||||
    socketio.emit('corpus_analysis_send_meta_data', response, room=request.sid)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,4 @@
 | 
			
		||||
from datetime import datetime
 | 
			
		||||
from .. import db
 | 
			
		||||
from ..decorators import background
 | 
			
		||||
from ..models import Corpus, CorpusFile
 | 
			
		||||
@@ -45,6 +46,7 @@ def build_corpus(corpus_id, *args, **kwargs):
 | 
			
		||||
        master_element_tree.write(output_file, xml_declaration=True,
 | 
			
		||||
                                  encoding='utf-8')
 | 
			
		||||
        corpus.status = 'submitted'
 | 
			
		||||
        corpus.last_edited_date = datetime.utcnow()
 | 
			
		||||
        db.session.commit()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user