def suitetask_details(sid):
    from chemistry.tasks import has_temperature
    suitetask = get_object_or_404(SuiteTask, sid=sid)
    single_lists = SingleTask.objects.filter(sid=sid, is_hide=False)

    for s in single_lists:
        if not has_temperature(s.model.desc):
            s.temperature = '--'
        s.result_value, s.hi, s.hx, s.degrade = get_singletask_area(s.results)

    return dict(suitetask=suitetask,
                single_lists=single_lists)
def singletask_details(pid):
    from chemistry.tasks import has_temperature
    single_task = get_object_or_404(SingleTask, pid=pid)
    if not has_temperature(single_task.model.desc):
        single_task.temperature = '--'
    single_task.result_value, single_task.hi, single_task.hx, single_task.degrade = get_singletask_area(single_task.results)
    try:
        local_search_id = single_task.file_obj.local_search_id
        if local_search_id:
            local_search = ChemInfoLocal.objects.get(id=local_search_id)
        else:
            local_search = None
    except Exception:
        chemistry_logger.exception('failed to get cheminfo by local_search_id')
        local_search = None

    return dict(singletask=single_task,
                search_engine=local_search)