コード例 #1
0
ファイル: GenerateSummary.py プロジェクト: Fortyseven/Synop
def main():
    print "Content-type: text/html\n\n"
    MAX_TRIES = 99

    arguments = cgi.FieldStorage()

    if arguments.has_key('dismal'):
        settings.jesters_mode = True

    if arguments.has_key('seed'):
        arg_seed = int(arguments['seed'].value)
    else:
        arg_seed = random.randint(0, sys.maxint)  #4294967295)

    if arguments.has_key('type'):
        arg_type = arguments['type'].value
    else:
        arg_type = "append"

    if not arg_type in ["conjoin", "nflix", "append"]:
        exit()

    loadStrings()

    random.seed(int(arg_seed))
    #random.seed(1116772898)

    # If generateFrankensummary() returns None, it means no words were common
    # between the chosen summaries; try again.
    for i in range(MAX_TRIES):
        out, string1, string2 = generateFrankensummary(arg_type)
        if out:
            if settings.jesters_mode:
                out = Utils.Jesterize(out)
                # Ensure plot has the Dismal cast in it
                has_actors = False
                for actor in Utils.dismal_characters:
                    if out.find(actor) > -1:
                        has_actors = True
                        break
                if has_actors:
                    break

            else:
                break

    seed_string = "\"seed\":" + json.dumps(str(arg_seed))
    type_string = "\"type\":" + json.dumps(arg_type)
    string1_string = "\"string1\":" + json.dumps(string1)
    string2_string = "\"string2\":" + json.dumps(string2)

    if not out:
        result_string = "ERROR GENERATING SPOOF"
    else:
        result_string = json.dumps(out)

    print "{ \"result\":" + result_string + ", " + seed_string + ", " + type_string + ", " + string1_string + ", " + string2_string + " }"