Exemplo n.º 1
0
def retriveResponse(year=DEFAULT_YearDivide,is_training=True):
    """ Given the year dividing training and test sets, return the list of 
        all movies and the SuccessMetric """

    if is_training:
        comp_symbol = '<'
    else:
        comp_symbol = '>'

    statement1 = 'select title,released,ifnull(totalgross,0),'+\
                 'ifnull(budget,0)'+\
                 ' from boxoffice where boxoffice.released'+\
                 ' %s \"%s\" order by released asc;' % (comp_symbol,year)
    
    results = mysqlfuncs.db_execute_and_fetch(statement1)
    title = mysqlfuncs.results_to_list(results,index=0)
    released = mysqlfuncs.results_to_list(results,index=1)
    releaseYears = [long(misc.getYear(x.strftime("%Y-%m-%d"))) for x in released]

    totalGross = num.array(mysqlfuncs.results_to_list(results,index=2),\
                            dtype=float)
    budget = num.array(mysqlfuncs.results_to_list(results,index=3),dtype=float)
    SuccessMetric = misc.returnSuccessMetric(totalGross,budget)

    return releaseYears,title,SuccessMetric,budget,totalGross
Exemplo n.º 2
0
def MovieComparison(movieName):
    """ Retrive actual movie gross, the predicted gross and budget
        for a given movie. """

    # setup query statement
    statement1 = 'select year,predicted,actual '
    statement1 += 'from Property001 where (title = \"%s\");' % movieName

    results = mysqlfuncs.db_execute_and_fetch(statement1)
    
    yearUnformatted = mysqlfuncs.results_to_list(results,index=0)
    year = [long(misc.getYear(x.strftime('%Y-%m-%d'))) for x in yearUnformatted]

    predictedFactor = mysqlfuncs.results_to_list(results,index=1)
    actualFactor = mysqlfuncs.results_to_list(results,index=2)
    Budget, ActualGross, PredictedGross = 0,0,0
    try:
        Budget = MovieBudget(movieName,year[0])
        ActualGross = 10**(actualFactor[0]) * Budget
        PredictedGross = 10**(predictedFactor[0]) * Budget
    except:
        pass

    # convert to currency string format for output to page
    # ActualGross =  '{:20,.0f}'.format(10**(actualFactor[0]) * budget)
    # PredictedGross = '{:20,.0f}'.format(10**(predictedFactor[0]) * budget)
    # BudgetString = '{:20,.0f}'.format(budget)
    return ActualGross, PredictedGross, Budget
Exemplo n.º 3
0
def compileMovieData(movieName):
    """ Compile printable JSON-like dictionary to print movie meta-data
        to webpage. """

    # setup statements to get info about Directors, Actors, Writers and Genre
    # for a given movie.
    statementRoot = 'select distinct(part) from movie_meta where '
    statement1 = statementRoot+'(partType = \"Director\" and title = \"%s\");'\
                % (movieName)
    statement2 = statementRoot+'(partType = \"Actors\" and title = \"%s\");'\
                % (movieName)
    statement3 = statementRoot+'(partType = \"Writer\" and title = \"%s\");'\
                % (movieName)
    statement4 = statementRoot+'(partType = \"Genre\" and title = \"%s\");'\
                % (movieName)
    
    # get results for query for directors, actors, writers and genre
    results1 = mysqlfuncs.db_execute_and_fetch(statement1)
    results2 = mysqlfuncs.db_execute_and_fetch(statement2)
    results3 = mysqlfuncs.db_execute_and_fetch(statement3)
    results4 = mysqlfuncs.db_execute_and_fetch(statement4)

    Directors = mysqlfuncs.results_to_list(results1,index=0)
    Actors = mysqlfuncs.results_to_list(results2,index=0)
    Writers = mysqlfuncs.results_to_list(results3,index=0)
    Genre = mysqlfuncs.results_to_list(results4,index=0)

    outDict =  {'Director(s)':Directors,'Actor(s)':Actors,\
            'Writer(s)':Writers,'Genre':Genre}
    return outDict
Exemplo n.º 4
0
def MovieBudget(movieName,movieYear):
    """ retrive the budget for a given movie, and the year of make """

    statement1 = 'select released,title,budget from boxoffice'
    statement1 += ' where (title = \"%s\");' % movieName

    results = mysqlfuncs.db_execute_and_fetch(statement1)
    yearUnformatted = mysqlfuncs.results_to_list(results,index=0)
    yearReleased = num.array([long(misc.getYear(x.strftime("%Y-%m-%d"))) \
                    for x in yearUnformatted])

    titles = mysqlfuncs.results_to_list(results,index=1)
    budgets = num.array(mysqlfuncs.results_to_list(results,index=2))

    # remove title ambiguiities by matching the release year
    if len(yearReleased) > 1:
        idx = num.where(yearReleased = movieYear)[0]
    else:
        idx = 0

    return budgets[idx]
Exemplo n.º 5
0
def get_FeatureSet(partTypes=None):
    """ return a given FeatureSet/part(s) 
        keyword option partTypes is either None or a list
        of partTypes 
    """

    if partTypes == None:
        appendStatement = ''
    else:
        appendStatement = 'where( '
        appendStatement += \
        ' or '.join(['partType = '+'\"'+x+'\"' for x in partTypes])
        appendStatement += ')'

    statement1 = 'select distinct(part) from movie_meta '
    statement1 += appendStatement
    statement1 += ' order by part asc;'

    results = mysqlfuncs.db_execute_and_fetch(statement1)
    FeatureSet = mysqlfuncs.results_to_list(results,index=0)
    return FeatureSet