Last active
May 31, 2016 11:35
-
-
Save ianjuma/eaa6237a53be7ff8cb5e829b0b594448 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /usr/bin/env python | |
# -*- coding: utf-8 -*- | |
from app import (app, logging) | |
from flask import (render_template, make_response, request, jsonify) | |
from random import shuffle | |
from pyga.requests import Tracker, Page, Session, Visitor, Event | |
import redis | |
r = redis.StrictRedis(host='localhost', port=6379, db=0) | |
tracker = Tracker('UA-77645233-1', 'http://127.0.0.1:8000') | |
# import reverse_geocoder as rg | |
PHONE_NUMBERS = ['+254 711 082 306', '+254 711 082 514', '+254 711 082 513'] | |
@app.route('/', methods=['GET']) | |
def index(): | |
""" | |
render index page | |
:return: index template | |
""" | |
# join to another table | |
try: | |
resp = make_response(render_template('index.html')) | |
resp.cache_control.no_cache = True | |
return resp | |
except Exception, e: | |
logging.warning('Failed on -> /') | |
raise e | |
@app.route('/detail', methods=['GET']) | |
def detail(): | |
try: | |
voice_one = r.hgetall('+254711082306') | |
voice_two = r.hgetall('+254711082513') | |
voice_three = r.hgetall('+254711082514') | |
visitor = Visitor() | |
visitor.ip_address = request.remote_addr | |
session = Session() | |
page = Page('/detail') | |
event = Event('convertion', 'call') # category - action | |
tracker.track_pageview(page, session, visitor) | |
tracker.track_event(event, session, visitor) | |
data = [voice_one, voice_two, voice_three] | |
print data | |
resp = make_response(render_template('detail.html', data=data)) | |
resp.cache_control.no_cache = True | |
return resp | |
except Exception, e: | |
logging.warning('failed on detail route') | |
raise e | |
@app.route('/view/<viewId>', methods=['GET']) | |
def view(viewId): | |
try: | |
shuffle(PHONE_NUMBERS) | |
url = '/view/' + viewId | |
r.hset(url, 'phoneNumber', PHONE_NUMBERS[0]) | |
r.hset(url, 'location', 'location') | |
visitor = Visitor() | |
visitor.ip_address = request.remote_addr | |
session = Session() | |
page = Page('/view/' + viewId ) | |
event = Event('convertion', 'call-initiated') # category - action | |
tracker.track_pageview(page, session, visitor) | |
tracker.track_event(event, session, visitor) | |
resp = make_response(render_template('view.html', phoneNumber=PHONE_NUMBERS[0])) | |
resp.cache_control.no_cache = True | |
return resp | |
except Exception, e: | |
logging.warning('failed on view route') | |
raise e |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment