コード例 #1
0
ファイル: routes.py プロジェクト: kurlova/FinancialData
def ticker(ticker_name):
    date = three_months_from_now()
    ticker = get_or_404(Ticker, name=ticker_name)
    history = History.query.filter(History.ticker_id == ticker.id,
                                   History.date >= date).all()
    history = [row.to_dict() for row in history]

    date_form = DateForm()
    if date_form.validate_on_submit():
        start_date = date_form.start_date.data
        end_date = date_form.end_date.data
        return redirect(
            url_for("analytics",
                    ticker_name=ticker_name,
                    date_from=start_date,
                    date_to=end_date))

    delta_form = DeltaForm()
    if delta_form.validate_on_submit():
        delta_val = delta_form.value.data
        delta_type = delta_form.type.data
        return redirect(
            url_for("delta",
                    ticker_name=ticker_name,
                    value=delta_val,
                    type=delta_type))

    return render_template("ticker_history.html",
                           ticker=ticker,
                           history=history,
                           date_form=date_form,
                           delta_form=delta_form)
コード例 #2
0
ファイル: routes.py プロジェクト: ktompky/sober-calculator
def get_date():
    form = DateForm()

    if form.validate_on_submit():
        #flash("Username is {}, date selected is {}".format(form.username.data, form.date.data))
        return redirect('/sobriety_date')
    return render_template('sobriety_date.html',
                           title="Get Sobriety Date",
                           form=form)
コード例 #3
0
def reviewer():
    reviews = Review.query.order_by(Review.id).filter(Review.status==1)
    print(reviews)
    form = DateForm()
    if form.validate_on_submit():
        print('+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
        print(form.date.data)
        #id = request.data
        print(form.id.data)
        print(form.submit)
        print('+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
        Review.change_status(2,form.id.data,current_user.id,User.get_name(current_user.id),form.date.data)
    return render_template('reviewer.html', reviews=reviews, form=form, rank=current_user.rank)
コード例 #4
0
def admin_page_Tdate():
    form = DateForm()
    if current_user.admin:
        if request.method == 'POST':
            date = form.date.data
            if date:
                date_str = date.strftime('%d-%m-%y')
                list2 = TimeShift.query.filter_by(Date=date_str,
                                                  Verified=True).all()
                elist = []
                plist = []
                for item in list2:
                    elist.append(einfo.query.filter_by(id=item.id).first())
                    plist.append(
                        P_Info.query.filter_by(P_id=item.P_id).first())
            return render_template('admin_page_Tdate.html',
                                   logo=logo,
                                   list2=list2,
                                   form=form,
                                   elist=elist,
                                   plist=plist)
        return render_template('admin_page_Tdate.html', logo=logo, form=form)
    else:
        logout_user()
        return redirect(url_for('login'))
コード例 #5
0
def home():
    forms = DateForm()
    if request.method == 'POST':
        id = request.form['id']
        Review.accept_review(id)
        return redirect(url_for("app.home"))
    proposed_reviews = Review.query.order_by(
        Review.id).filter(Review.status == 2).filter(
            or_(Review.requestor == current_user.id,
                Review.reviewer == current_user.id)).filter(
                    Review.last_changed == current_user.id)
    received_reviews = Review.query.order_by(
        Review.id).filter(Review.status == 2).filter(
            or_(Review.requestor == current_user.id,
                Review.reviewer == current_user.id)).filter(
                    Review.last_changed != current_user.id)
    progress_reviews = Review.query.order_by(
        Review.id).filter(Review.status == 3).filter(
            or_(Review.requestor == current_user.id,
                Review.reviewer == current_user.id))
    completed_reviews = Review.query.order_by(
        Review.id).filter(Review.status == 4).filter(
            or_(Review.requestor == current_user.id,
                Review.reviewer == current_user.id)).order_by(
                    Review.date).limit(4)
    if forms.validate_on_submit:
        print('8888888888888888888888888888888888888888888888888')

    return render_template('home.html',
                           user=current_user,
                           forms=forms,
                           proposed_reviews=proposed_reviews,
                           received_reviews=received_reviews,
                           progress_reviews=progress_reviews,
                           completed_reviews=completed_reviews)
コード例 #6
0
def databases():
    health_dict = es.cluster.health()
    stats_dict = es.cluster.stats()
    form = BasicButtonForm()
    date_form = DateForm()
    psql_dict = {
        'name': database_name,
        'tables': ['paste'],
        'paste': db.session.query(Paste).count()
    }

    if request.method == 'POST':
        if request.form['submit'] == "Yes, reindex elasticsearch":
            db_worker.q.put(('Reindex ES', None))

        elif request.form['submit'] == 'Yes, delete everything':
            db_worker.q.put(('Delete', None))
            flash("Databases are currently being erased!")

        elif request.form['submit'] == "Delete entries older than this date":
            db_worker.q.put(("Delete Date", request.form['date']))
            # date = request.form['date'] + " 00:00:00.000000"
            # old_pastes = db.session.query(Paste).filter(Paste.datetime < date)
            # for item in old_pastes:
            #     delete_from_es(item)
            #     db.session.delete(item)
            flash("Erasing entries before " + str(request.form['date']))

    return render_template('databases.html',
                           health_dict=health_dict,
                           stats_dict=stats_dict,
                           psql_dict=psql_dict,
                           form=form,
                           date_form=date_form,
                           convert_bytes_to_size=convert_bytes_to_size)
コード例 #7
0
def admin_page_ET():
    form = DateForm()
    if current_user.admin:
        list1 = einfo.query.filter_by(admin=0, visibility=True).all()
        if request.method == 'POST':
            enames = request.form.get('enames')
            date = form.date.data
            if date:
                date_str = date.strftime('%d-%m-%y')
                eid = einfo.query.filter_by(E_Name=enames).first().id
                list2 = TimeShift.query.filter_by(id=eid,
                                                  Date=date_str,
                                                  Verified=True).all()
                plist = []
                for item in list2:
                    plist.append(
                        P_Info.query.filter_by(P_id=item.P_id).first())
            return render_template('admin_page_ET.html',
                                   logo=logo,
                                   list1=list1,
                                   list2=list2,
                                   plist=plist,
                                   form=form)
        return render_template('admin_page_ET.html',
                               logo=logo,
                               list1=list1,
                               form=form)
    else:
        logout_user()
        return redirect(url_for('login'))
コード例 #8
0
def index():
    if not session.get('is_aunthenticate'):
        return redirect('/')
    form = DateForm()
    nombre = session.get('user_type')
    cursor = mysql.connection.cursor()
    date = datetime.now().strftime("%Y-%m-%d")
    if form.validate_on_submit():
        date = form.fecha.data
    cursor.execute(
        "SELECT p.cedula,p.nombre,p.apellido,u1.usuario,u2.usuario,ri.hora_entrada,ri.hora_salida,ri.equipo FROM registroinformacion AS ri JOIN persona AS p ON ri.id_persona = p.id JOIN usuarios AS u1 ON ri.id_usuario_entrada = u1.id JOIN usuarios AS u2 on ri.id_usuario_salida = u2.id WHERE ri.fecha_entrada = %s;",
        [
            date,
        ])
    history = cursor.fetchall()
    return render_template('index.html',
                           user=nombre,
                           history=history,
                           date=date,
                           form=form)
コード例 #9
0
def view_guest():
    if not session.get('is_aunthenticate'):
        return redirect('/')
    form = DateForm()
    nombre = session.get('user_type')
    cursor = mysql.connection.cursor()
    date = datetime.now().strftime("%Y-%m-%d")
    if form.validate_on_submit():
        date = form.fecha.data
    cursor.execute(
        "SELECT  nr.cedula, nr.nombre, nr.apellido, nr.motivo, nr.equipo, u.usuario, p.cedula, p.nombre, p.apellido, nr.hora_entrada, nr.hora_salida, nr.fecha_salida FROM noregistrado AS nr JOIN usuarios AS u ON nr.id_usuario = u.id JOIN persona AS p ON nr.id_persona = p.id WHERE nr.fecha_entrada = %s;",
        [
            date,
        ])
    history = cursor.fetchall()
    # select p.nombre, p.apellido, p.cedula,  u1.usuario as Entrada, u2.usuario as Salida, ri.fecha_entrada, ri.hora_entrada, ri.fecha_salida, ri.hora_salida, ri.equipo  from registroinformacion as ri join persona as p on ri.id_persona = p.id join usuarios as u1  on ri.id_usuario_entrada = u1.id join usuarios as u2 on ri.id_usuario_salida = u2.id;
    return render_template('view_guest.html',
                           user=nombre,
                           history=history,
                           date=date,
                           form=form)
コード例 #10
0
def admin_page_TDelete():
    form = DateForm()
    if current_user.admin:
        if request.method == 'GET':
            global date
            if date != 1:
                date_str = date.strftime('%d-%m-%y')
                list2 = TimeShift.query.filter_by(Date=date_str,
                                                  Verified=True).all()
                elist = []
                plist = []
                for item in list2:
                    elist.append(einfo.query.filter_by(id=item.id).first())
                    plist.append(
                        P_Info.query.filter_by(P_id=item.P_id).first())
                return render_template('admin_page_TDelete.html',
                                       logo=logo,
                                       list2=list2,
                                       form=form,
                                       elist=elist,
                                       plist=plist)

        if request.method == 'POST':
            search = request.form.get('action')
            if search == 'search':
                date = form.date.data
                date_str = date.strftime('%d-%m-%y')
                list2 = TimeShift.query.filter_by(Date=date_str,
                                                  Verified=True).all()
                elist = []
                plist = []
                for item in list2:
                    elist.append(einfo.query.filter_by(id=item.id).first())
                    plist.append(
                        P_Info.query.filter_by(P_id=item.P_id).first())
                return render_template('admin_page_TDelete.html',
                                       logo=logo,
                                       list2=list2,
                                       form=form,
                                       elist=elist,
                                       plist=plist)
            else:
                tid = request.form['tid']
                timeshift = TimeShift.query.filter_by(T_id=tid).first()
                db.session.delete(timeshift)
                db.session.commit()
                return redirect(url_for('admin_page_TDelete'))

        return render_template('admin_page_TDelete.html', logo=logo, form=form)
    else:
        logout_user()
        return redirect(url_for('login'))
コード例 #11
0
def home(): 
    forms = DateForm()
    if request.method== 'POST':
        id = request.form['id']
        Review.accept_review(id)
    proposed_reviews = Review.query.order_by(Review.id).filter(Review.status==2).filter(or_(Review.requestor == current_user.id, Review.reviewer == current_user.id)).filter(Review.last_changed == current_user.id)
    received_reviews = Review.query.order_by(Review.id).filter(Review.status==2).filter(or_(Review.requestor == current_user.id, Review.reviewer == current_user.id)).filter(Review.last_changed != current_user.id)
    progress_reviews = Review.query.order_by(Review.id).filter(Review.status==3).filter(or_(Review.requestor == current_user.id, Review.reviewer == current_user.id))
    if forms.validate_on_submit:
        print('8888888888888888888888888888888888888888888888888')
    user = {'first_name': current_user.first_name, 'email': current_user.email, 'profile_pic': current_user.profile_pic}
  
   
    return render_template('home.html', user=user, forms=forms,proposed_reviews=proposed_reviews, received_reviews=received_reviews, progress_reviews=progress_reviews)
コード例 #12
0
ファイル: views.py プロジェクト: JohannaMW/tracking
def route(request, id):
    app = "app"
    model = "vehicle"
    vehicle = Vehicle.objects.get(id=id)
    if request.method == 'POST':
        form = DateForm(request.POST)
        if form.is_valid():
            from_date = form.cleaned_data['from_date']
            to_date = form.cleaned_data['to_date']
            return HttpResponseRedirect('/position/{}/{}/{}'.format(vehicle.id, from_date, to_date))
    else:
        form = DateForm()
    all_positions = []
    try:
        positions = Position.objects.filter(vehicle=vehicle.id)
        latest_position = Position.objects.filter(vehicle=vehicle.id).latest("id")
        latest_position_long = latest_position.long
        latest_position_lat = latest_position.lat
        for position in positions:
            position_array = [position.lat, position.long]
            all_positions.append(position_array)
        print all_positions
    except Position.DoesNotExist:
        latest_position_long = None
        latest_position_lat = None
        positions = None
    return render(request, "route.html", {
        'name': vehicle.name,
        'positions': positions,
        'all_positions': all_positions,
        'latest_position_long': latest_position_long,
        'latest_position_lat': latest_position_lat,
        'form': form,
        'app': app,
        'model': model
    })
コード例 #13
0
ファイル: views.py プロジェクト: JohannaMW/tracking
def position_list(request, vehicle, from_date, to_date):
    """
    Retrieve Positions for selectes time frame
    """
    vehicle = Vehicle.objects.get(pk=vehicle)
    all_positions = []
    if request.method == 'POST':
        form = DateForm(request.POST)
        if form.is_valid():
            from_date = form.cleaned_data['from_date']
            to_date = form.cleaned_data['to_date']
            return HttpResponseRedirect('/position/{}/{}/{}'.format(vehicle.id, from_date, to_date))
    else:
        form = DateForm()
    try:
        positions = Position.objects.filter(vehicle=vehicle, date__range=(from_date, to_date))
        latest_position = positions.latest("id")
        latest_position_long = latest_position.long
        latest_position_lat = latest_position.lat
        print positions
        for position in positions:
            position_array = [position.lat, position.long]
            all_positions.append(position_array)
        print all_positions
    except Position.DoesNotExist:
        positions = None
        latest_position_long = None
        latest_position_lat = None
    return render(request, "route.html", {
        'form': form,
        'name': vehicle.name,
        'positions': positions,
        'all_positions': all_positions,
        'latest_position_long': latest_position_long,
        'latest_position_lat': latest_position_lat
    })
コード例 #14
0
def records(teller):
    form_date = DateForm(request.form)
    form_Id = IdForm(request.form)

    if form_Id.validate_on_submit():
        records = Transaction.query.filter_by(ref_id=form_Id.ref_id.data).all()
        return render_template('report.html', records=records, form=form_Id)
    if form_date.fromm.data and form_date.to.data:
        records = Transaction.query.filter(
            Transaction.date.between(form_date.fromm.data, form_date.to.data))
        return render_template('report.html', records=records, form=form_Id)
    if teller != 'all':
        records = Transaction.query.filter_by(user_id=teller).all()
    else:
        records = Transaction.query.all()
    return render_template('report.html', records=records, form=form_Id)
コード例 #15
0
def user_page_TS():
    form = DateForm()
    if current_user.admin == 0:
        if request.method == "POST":
            date = form.date.data
            if date:
                date_str = date.strftime('%d-%m-%y')
                liste = TimeShift.query.filter_by(Date=date_str,
                                                  Verified=True).all()
                listp_name = []
                for item in liste:
                    listp_name.append(
                        P_Info.query.filter_by(P_id=item.P_id).first())
            return render_template('user_page_TS.html',
                                   logo=logo,
                                   liste=liste,
                                   listp_name=listp_name,
                                   form=form)
        return render_template('user_page_TS.html', logo=logo, form=form)
    else:
        logout_user()
        return redirect(url_for('login'))
コード例 #16
0
def picture_search(dic=None, hits=None, form=None, path=None):
    global es_index, old
    if request.method == 'POST':
        if dic and hits and form:
            return render_template('picture.html',
                                   title='Bird Pictures',
                                   form=old['form'],
                                   res=old['dic'],
                                   hits=old['hits'])
        if path:
            print(path)
            pass

    form = DateForm()
    dic = {}

    if form.is_submitted():

        ts = request.form['date'] + 'T' + request.form['time']
        te = request.form['date2'] + 'T' + request.form['time2']
        date_object = time.strptime(ts, '%Y-%m-%dT%H:%M')
        date2_object = time.strptime(te, '%Y-%m-%dT%H:%M')
        date_utc = time.strftime("%Y-%m-%dT%H:%M:%S",
                                 time.gmtime(time.mktime(date_object)))
        date2_utc = time.strftime("%Y-%m-%dT%H:%M:%S",
                                  time.gmtime(time.mktime(date2_object)))

        body = {
            "size": 1000,
            # "_source": ["timestamp", "orginal_image", "found.bird", "dayofweek_text", "processing_time"],
            "sort": [{
                "timestamp": {
                    "order": "asc"
                }
            }]
        }
        body['query'] = {
            "range": {
                "timestamp": {
                    'gte': date_utc,
                    "lte": date2_utc,
                    "time_zone": "+07:00"
                }
            }
        }

        # body['query'] = {
        #         "bool": {
        #           "must": {
        #                 "exists": {
        #                     "field": "birds_count.bird"
        #                 }
        #             },
        #             "filter": {
        #               "range":{
        #                 "timestamp":{
        #                   "gte":"06 26 2019 @ 05:00:00",
        #                   "format": "MM dd yyyy @ HH:mm:SS",
        #                   "time_zone": "+07:00"
        #
        #                 }
        #               }
        #             }
        #         }
        #     }
        res = es.search(index=es_index,
                        doc_type='_doc',
                        body=body,
                        scroll='1m')

        hits = res['hits']['total']['value']
        res = res['hits']['hits']
        print(hits)

        for e, i in enumerate(res):
            t_ = i['_source']['timestamp']

            dt = parse(t_)

            try:
                new_time = datetime.strptime(t_, '%Y-%m-%dT%H:%M:%S')
            except:
                try:
                    new_time = datetime.strptime(t_, '%Y-%m-%dT%H:%M:%S+07:00')
                except:
                    new_time = datetime.strptime(t_,
                                                 '%Y-%m-%dT%H:%M:%S.%f+07:00')

            central = datetime(year=new_time.year,
                               month=new_time.month,
                               day=new_time.day,
                               hour=new_time.hour,
                               minute=new_time.minute,
                               second=new_time.second)
            # print(new_time, central)'

            try:

                numdetect = i['_source']['birds_count']['bird']
                data_body = {
                    'time':
                    central,
                    'numDetect':
                    numdetect,
                    'index':
                    e + 1,
                    'dayofweek':
                    i['_source']['dayofweek_text'],
                    'processing_time':
                    "{:.4f}".format(i['_source']['processing_time'])
                }

                dic[i['_id']] = data_body
            except Exception as e:
                print(e)

            # print(i['_id'], new_time, central)
            old['dic'] = dic
            old['hits'] = hits
            old['form'] = form

        return render_template('picture.html',
                               title='Bird Pictures',
                               form=form,
                               res=dic,
                               hits=hits)
    return render_template('picture.html',
                           title='Bird Pictures',
                           form=form,
                           res=dic)
コード例 #17
0
def picture_search(dic=None, hits=None, form=None):
    global es_index, old
    if request.method == 'POST':
        if dic and hits and form:
            return render_template('picture.html',
                                   title='Bird Pictures',
                                   form=old['form'],
                                   res=old['dic'],
                                   hits=old['hits'])

    form = DateForm()
    dic = {}

    if form.is_submitted():

        ts = request.form['date'] + 'T' + request.form['time']
        te = request.form['date2'] + 'T' + request.form['time2']
        date_object = time.strptime(ts, '%Y-%m-%dT%H:%M')
        date2_object = time.strptime(te, '%Y-%m-%dT%H:%M')
        date_utc = time.strftime("%Y-%m-%dT%H:%M:%S",
                                 time.gmtime(time.mktime(date_object)))
        date2_utc = time.strftime("%Y-%m-%dT%H:%M:%S",
                                  time.gmtime(time.mktime(date2_object)))

        body = {
            "size":
            1000,
            "_source":
            ["timestamp", "orginal_image", "found.bird", "dayofweek_text"],
            "query": {
                "range": {
                    "timestamp": {
                        'gte': date_utc,
                        "lte": date2_utc
                    }
                }
            },
            "sort": [{
                "timestamp": {
                    "order": "asc"
                }
            }]
        }
        res = es.search(index=es_index,
                        doc_type='_doc',
                        body=body,
                        scroll='1m')
        # for i in res['hits']['total']:
        #     print(i)
        # print(res['hits']['total']['value'])
        hits = res['hits']['total']['value']
        res = res['hits']['hits']

        for e, i in enumerate(res):
            # print(i['_source']['timestamp'])
            try:
                new_time = datetime.strptime(i['_source']['timestamp'],
                                             '%Y-%m-%dT%H:%M:%S')
            except:
                try:
                    new_time = datetime.strptime(i['_source']['timestamp'],
                                                 '%Y-%m-%dT%H:%M:%S+07:00')
                except:
                    new_time = datetime.strptime(i['_source']['timestamp'],
                                                 '%Y-%m-%dT%H:%M:%S.%f+07:00')

            from_zone = tz.gettz('UTC')
            to_zone = tz.gettz('Asia/Bangkok')
            utc = new_time.replace(tzinfo=from_zone)
            central = utc.astimezone(to_zone)
            central = str(central)[:str(central).index('+')]
            # print(new_time, central)
            try:
                dic[i['_id']] = {
                    'time': central,
                    'numDetect': i['_source']['found']['bird'],
                    'index': e + 1,
                    'dayofweek': i['_source']['dayofweek_text']
                }
            except:
                pass

            # print(i['_id'], new_time, central)
            old['dic'] = dic
            old['hits'] = hits
            old['form'] = form

        return render_template('picture.html',
                               title='Bird Pictures',
                               form=form,
                               res=dic,
                               hits=hits)
    return render_template('picture.html',
                           title='Bird Pictures',
                           form=form,
                           res=dic)
コード例 #18
0
def choose_date():
	form = DateForm()
	if form.validate_on_submit():
		return redirect(url_for('game_select', year=form.dt.data.year, month=form.dt.data.month, day=form.dt.data.day))
	return render_template('choosedate.html', form=form)