示例#1
0
    def __load_data__(self):
        """Query the user data"""
        email = self.__user.email
        measurements = Measurement.query.filter_by(email=email).all()
        tSTART = DateUtil.date_to_datetime(config.DT_STRT)
        tSTOP = DateUtil.date_to_datetime(config.DT_STOP)

        measurements = [
            m for m in Measurement.query.filter_by(email=email).all()
            if m.timestamp >= tSTART and m.timestamp <= tSTOP
        ]
        weights = np.array([])
        dates = np.array([])
        if len(measurements):
            dates = np.array([m.timestamp for m in measurements])
            weights = np.array([m.weight for m in measurements])

            weights = np.array([x for _, x in sorted(zip(dates, weights))])
            dates = DateUtil.convert_datetimes(np.array(sorted(dates)),
                                               convert_to_date=True)

            days = np.array(
                [td.total_seconds() / 3600. / 24. for td in dates - dates[0]])

            self.__x_dates = dates
            self.__x_days = days
            self.__y_data = weights

            yerr = getattr(config, 'WT_ERROR', None)

            if yerr is not None:
                self.__y_err = np.ones_like(self.__y_data) * yerr
            else:
                self.do_errors = False
示例#2
0
def user(username):

    tSTART = DateUtil.date_to_datetime(cfg.DT_STRT)
    tSTOP = DateUtil.date_to_datetime(cfg.DT_STOP)

    measurements = [
        m for m in Measurement.query.filter_by(email=current_user.email).all()
        if m.timestamp >= tSTART and m.timestamp <= tSTOP
    ]

    ianauser = ana.AnaData(current_user)

    fname = plot_user("{}-plot.png".format(current_user.first_name.lower()),
                      ianauser)

    date = cfg.DT_STOP
    proj_weight, proj_weight_err = ianauser.get_projected_weight(date)
    return render_template('user.html',
                           measurements=measurements,
                           title="{}'s Page".format(current_user.first_name),
                           fname=fname,
                           user=ianauser,
                           date=date,
                           proj_weight=proj_weight,
                           proj_weight_err=proj_weight_err,
                           image=get_image())