import sys
sys.path.append('../')
import database
import pprint
from queryconstructor import QueryConstructor
from plotconstructor import *

filename_prefix = "ping_over_carrier"
networkcountry="us"
 
filename=filename_prefix

qc = QueryConstructor()
qc.setGroupOrderSelectBy("device","networkname")
qc.addSelectMedian("ping","avg")
qc.addSelectPercentile("ping","avg",25)
qc.addSelectPercentile("ping","avg",75)
qc.addSelectField("count(*)")
qc.addWhereEqualsString("network","connectiontype","Mobile: 3G")
qc.addWhereNotEqualsString("device","networkname","sprint")
qc.addWhereNotEqualsString("device","networkname","cricket")
qc.addWhereNotEqualsString("device","networkname","US Cellular")
qc.addWhereNotEqualsString("device","networkname","T - Mobile")
qc.addWhereNotEqualsString("device","networkname","Simple Mobile")
qc.addWhereNotEqualsString("device","networkname","My Network")
qc.addWhereNotEqualsString("device","networkname","MetroPCS")
qc.addWhereNotEqualsString("device","networkname","HOME")
qc.addWhereNotEqualsString("device","networkname","")
qc.addWhereEqualsString("device","networkcountry",networkcountry)
qc.addWhereEqualsString("ping","dstip","www.google.com")
qc.applyMobileClauses()
import sys
sys.path.append('../')
import database, query, tuple_gen
import pprint
from queryconstructor import QueryConstructor
from plotconstructor import *

# EXAMPLE: warmup_avg_over_sequence  GPRS
networktype = sys.argv[1]
filename_prefix = "warmup_over_sequence_network_" + networktype
filename = filename_prefix

qc = QueryConstructor()
qc.setGroupOrderSelectBy("warmup_ping", "sequence_count")
qc.addSelectMedian("warmup_ping", "value")
qc.addSelectPercentile("warmup_ping", "value", 25)
qc.addSelectPercentile("warmup_ping", "value", 75)

qc.addSelectField("count(*)")
qc.applyMobileClauses()
qc.applyWarmupSequenceClauses()
qc.addWhereEqualsString("network", "networktype", networktype)
qc.addWhereEqualsString("device", "networkcountry", "us")
qc.addWhereEqualsString("device", "networkname", "AT&T")
#qc.addWhereGreaterThan("warmup_ping","sequence_count",10)

result = database.query(qc.toString())

pprint.pprint(result)

plot = SimpleBarPlot()
import sys
sys.path.append('../')
import database
import pprint
from queryconstructor import QueryConstructor
from plotconstructor import *

filename_prefix = "ping_over_devicedesign"
networkcountry = "us"

filename = filename_prefix

qc = QueryConstructor()
qc.setGroupOrderSelectBy("device", "devicedesign")
qc.addSelectMedian("ping", "avg")
qc.addSelectPercentile("ping", "avg", 25)
qc.addSelectPercentile("ping", "avg", 75)
qc.addSelectField("count(*)")
qc.addWhereEqualsString("device", "networkcountry", networkcountry)
qc.addWhereNotEqualsString("network", "networktype", "")
qc.addWhereEqualsString("network", "networktype", "UMTS")
qc.addWhereEqualsString("device", "networkname", "AT&T")
qc.addWhereNotEqualsString("device", "devicedesign", "t0lteatt")
qc.addWhereNotEqualsString("device", "devicedesign", "olympus")

qc.applyMobileClauses()
qc.applyLatencyClauses("www.google.com")
#qc.addWhereEqualsString("device","networkname",'AT&T')

result = database.query(qc.toString())
sys.path.append('../')
import database, query, tuple_gen
import pprint
from queryconstructor import QueryConstructor
from plotconstructor import *



# EXAMPLE: warmup_avg_over_sequence  GPRS        
networktype=sys.argv[1]
filename_prefix = "warmup_over_sequence_network_"+networktype
filename=filename_prefix

qc = QueryConstructor()
qc.setGroupOrderSelectBy("warmup_ping","sequence_count")
qc.addSelectMedian("warmup_ping","value")
qc.addSelectPercentile("warmup_ping","value",25)
qc.addSelectPercentile("warmup_ping","value",75)

qc.addSelectField("count(*)")
qc.applyMobileClauses()
qc.applyWarmupSequenceClauses()
qc.addWhereEqualsString("network","networktype",networktype)
qc.addWhereEqualsString("device","networkcountry","us")
qc.addWhereEqualsString("device","networkname","AT&T")
#qc.addWhereGreaterThan("warmup_ping","sequence_count",10)

result = database.query(qc.toString())

pprint.pprint(result)