367 """Thesaurus extracts vocabulary""" |
367 """Thesaurus extracts vocabulary""" |
368 |
368 |
369 def __init__(self, context=None): |
369 def __init__(self, context=None): |
370 terms = [] |
370 terms = [] |
371 if context is not None: |
371 if context is not None: |
372 thesaurus = get_parent(context, IThesaurus) |
372 request = check_request() |
373 if thesaurus is None: |
373 thesaurus_name = request.headers.get('X-Thesaurus-Name') |
374 context_manager = IThesaurusContextManager(context, None) |
374 if thesaurus_name is not None: |
375 if (context_manager is not None) and context_manager.thesaurus_name: |
375 thesaurus = query_utility(IThesaurus, name=thesaurus_name) |
376 thesaurus = query_utility(IThesaurus, name=context_manager.thesaurus_name) |
376 else: |
|
377 thesaurus = get_parent(context, IThesaurus) |
|
378 if thesaurus is None: |
|
379 context_manager = IThesaurusContextManager(context, None) |
|
380 if (context_manager is not None) and context_manager.thesaurus_name: |
|
381 thesaurus = query_utility(IThesaurus, name=context_manager.thesaurus_name) |
377 if thesaurus is not None: |
382 if thesaurus is not None: |
378 extracts = IThesaurusExtracts(thesaurus) |
383 extracts = IThesaurusExtracts(thesaurus) |
379 terms = [SimpleTerm(extract.__name__, title=extract.name) for extract in extracts.values()] |
384 terms = [SimpleTerm(extract.__name__, title=extract.name) for extract in extracts.values()] |
380 terms.sort(key=lambda x: x.title) |
385 terms.sort(key=lambda x: x.title) |
381 super(ThesaurusExtractsVocabulary, self).__init__(terms) |
386 super(ThesaurusExtractsVocabulary, self).__init__(terms) |