Пример #1
0
def fund_nav_str_view(request, p_fund_id, p_year):
    try:
        t_fund = FundClearInfoModel.get_fund(p_fund_id)
        t_fdata = FundClearDataModel.get_by_key_name(
            FundClearDataModel.compose_key_name(p_fund_id, p_year), t_fund)
        nav_dict = t_fdata._get_nav_dict()
        nav_dict = collections.OrderedDict(sorted(nav_dict.items()))
        nav_info = ''
        for t_key, t_entry in nav_dict.items():
            nav_info += '{}:{}<br>\n'.format(t_key, t_entry)
        next_year = int(p_year) - 1
        t_fdata = FundClearDataModel.get_by_key_name(
            FundClearDataModel.compose_key_name(p_fund_id, next_year), t_fund)
        if t_fdata is None or len(t_fdata._get_nav_dict()) == 0:
            next_year_link = 'NAV End'
        else:
            next_year_link = '<a href="/mf/fc/nav_str/{}/{}/">{}</a>'.format(
                p_fund_id, next_year, 'next')
        args = {
            'tpl_section_title':
            'fund {} year {}, {}'.format(p_fund_id, p_year, next_year_link),
            'tpl_info':
            nav_info,
        }
        return render_to_response('mf_simple_info.tpl.html', args)

    except Exception, e:
        err_msg = 'fund_nav_str_view ERROR: {}'.format(e)
        logging.error(err_msg)
        args = {
            'tpl_info': err_msg,
        }
        return render_to_response('mf_simple_info.tpl.html', args)
Пример #2
0
    def get(self, request, p_fund_id, p_year, *args, **kwargs):

        t_fund = FundClearInfoModel.get_fund(p_fund_id)
        t_fdata = FundClearDataModel.get_by_key_name(
            FundClearDataModel.compose_key_name(p_fund_id, p_year), t_fund)
        nav_dict = t_fdata._get_nav_dict()
        nav_dict = collections.OrderedDict(sorted(nav_dict.items()))
        json_nav = [[key, nav_dict[key][1]] for key in nav_dict]

        return HttpResponse(json.dumps(json_nav, indent=2))