# Prepare.py

import sys

ratingLevel = 3.0 
csvRatings = "ratings.csv"
datRatings = "ratings.dat"
movieInfo = "movies.csv"

def loadData(fileName):
    try:    
        fData = open(fileName, 'r')
    except:
        return []
    out = []
    for line in fData:
        line = line[:-1]  # remove \n
        if len(line) == 0:  # empty line
            continue
        li = [i for i in line.split(",")]
        out.append(li)
    fData.close()
    return out

fInp = open(csvRatings, 'r')
fOut = open(datRatings, "w")
idMin = sys.maxint
idMax = 0
count = 0
for line in fInp:
    line = line[:-1]  # remove \n
    if len(line) == 0:  # empty line
        continue
    li = line.split(",")
    try:
        if float(li[2]) >= ratingLevel:
            sample = li[0] + "," + li[1] + "\n"
        else:
            continue
    except:
        continue
    fOut.write(sample)
    count += 1
    if int(li[1]) < idMin:
        idMin = int(li[1])
    if int(li[1]) > idMax:
        idMax = int(li[1])    
fInp.close()
fOut.close()
print "Data reduction finished.\nNumber of records:", count, \
      ". Film ids in range:", idMin, "...", idMax

