Skip to content

Instantly share code, notes, and snippets.

@ianjuma
Last active May 31, 2016 11:35
Show Gist options
  • Save ianjuma/eaa6237a53be7ff8cb5e829b0b594448 to your computer and use it in GitHub Desktop.
Save ianjuma/eaa6237a53be7ff8cb5e829b0b594448 to your computer and use it in GitHub Desktop.
#! /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