def SiftZone(zonename):
    from mud.world.zone import Zone
    from mud.world.dialog import Dialog
    from missionsifter import SiftMission

    zone = Zone.byName(zonename)
    
    print "Sifting zone file: ",zone.missionFile
    spawngroups,dtriggers = SiftMission(zone.missionFile)
    
    #SPAWNS
    spawns = []
    for sg in zone.spawnGroups:
        #if sg.groupName.upper() in spawngroups: #only do the ones we are actually using
        for si in sg.spawninfos:
            if si.spawn not in spawns:
                spawns.append(si.spawn)
    
    map(SiftSpawn,spawns)
    
    #ZONE DIALOG
    for d in dtriggers:
        d = d.replace(r"\'","'")
        dlg = Dialog.byName(d)
        SiftDialog(dlg)
def CreateQuestPages(spawnQuests):
    quests = [d for d in Dialog.select(orderBy = "name") if len(d.actions)]
    
    indexPage = '%META:TOPICINFO{author="JoshRitter" date="1121799107" format="1.0" version="1.1"}%\n'
    indexPage += "---+ Quest Index\n\n"
    
    for q in quests:
        page = QuestPage
        
        TWIKINAME = "Quest"+GetTWikiName(q.name)
        indexPage+="\t* [[%s][%s]]\n"%(TWIKINAME,q.name)
        
        SPAWNTEXT = GenSpawnText(q,spawnQuests)
        
        REQUIRETEXT = GenRequireText(q)
        REWARDTEXT = GenRewardText(q)
        
        page=page.replace("^^QUESTNAME^^",q.name)
        page=page.replace("^^SPAWNTEXT^^",SPAWNTEXT)
        page=page.replace("^^REQUIRETEXT^^",REQUIRETEXT)
        page=page.replace("^^REWARDTEXT^^",REWARDTEXT)
        
        f = file("./distrib/twiki/data/MoMWorld/%s.txt"%TWIKINAME,"w")
        f.write(page)
        f.close()
    
    f = file("./distrib/twiki/data/MoMWorld/QuestIndex.txt","w")
    f.write(indexPage)
    f.close()
    
    return QUESTITEMS, QUESTFACTIONS
def SiftZone(zonename):
    from mud.world.zone import Zone
    from mud.world.dialog import Dialog
    from missionsifter import SiftMission

    zone = Zone.byName(zonename)

    print "Sifting zone file: ", zone.missionFile
    spawngroups, dtriggers = SiftMission(zone.missionFile)

    #SPAWNS
    spawns = []
    for sg in zone.spawnGroups:
        #if sg.groupName.upper() in spawngroups: #only do the ones we are actually using
        for si in sg.spawninfos:
            if si.spawn not in spawns:
                spawns.append(si.spawn)

    map(SiftSpawn, spawns)

    #ZONE DIALOG
    for d in dtriggers:
        d = d.replace(r"\'", "'")
        dlg = Dialog.byName(d)
        SiftDialog(dlg)