Updates to transpile script and updated aetherOptions

This commit is contained in:
Michael Schmatz 2014-05-14 10:14:18 -07:00
parent ab37646cb6
commit 9f9d651b3b
2 changed files with 22 additions and 27 deletions
app/lib/simulator
scripts

View file

@ -269,7 +269,8 @@ module.exports = class Simulator extends CocoClass
if spellTeam not in playerTeams then useProtectAPI = false
@spells[spellKey].thangs[thang.id].aether = @createAether @spells[spellKey].name, method, useProtectAPI
transpileSpell: (thang, spellKey, methodName) ->
transpileSpell: (thang, spellKey, methodName) ->
slugifiedThangID = _.string.slugify thang.id
source = @currentUserCodeMap[[slugifiedThangID,methodName].join '/'] ? ""
aether = @spells[spellKey].thangs[thang.id].aether
@ -284,7 +285,7 @@ module.exports = class Simulator extends CocoClass
functionName: methodName
protectAPI: useProtectAPI
includeFlow: false
yieldConditionally: false
yieldConditionally: methodName is "plan"
globals: ['Vector', '_']
problems:
jshint_W040: {level: "ignore"}

View file

@ -13,18 +13,16 @@ Aether.addGlobal 'Vector', require '../app/lib/world/vector'
Aether.addGlobal '_', _
transpileLevelSession = (sessionID, cb) ->
query = LevelSession
.findOne("_id": sessionID)
.select("submittedCode")
.lean()
query = LevelSession.findOne("_id": sessionID).select("submittedCode").lean()
query.exec (err, session) ->
if err then return cb err
submittedCode = session.submittedCode
transpiledCode = {}
console.log "Updating session #{sessionID}"
for thang, spells of submittedCode
transpiledCode[thang] = {}
for spellID, spell of spells
aetherOptions =
problems: {}
language: "javascript"
@ -34,15 +32,18 @@ transpileLevelSession = (sessionID, cb) ->
globals: ['Vector', '_']
protectAPI: true
includeFlow: false
if spellID is "hear" then aetherOptions["functionParameters"] = ["speaker","message","data"]
aether = new Aether aetherOptions
transpiledCode[thang][spellID] = aether.transpile spell
cb null
conditions =
"_id": sessionID
update =
"transpiledCode"
query = LevelSession
.update("_id")
"transpiledCode": transpiledCode
"submittedCodeLanguage": "javascript"
query = LevelSession.update(conditions,update)
query.exec (err, numUpdated) -> cb err
findLadderLevelSessions = (levelID, cb) ->
queryParameters =
@ -50,18 +51,14 @@ findLadderLevelSessions = (levelID, cb) ->
submitted: true
selectString = "_id"
query = LevelSession
.find(queryParameters)
.select(selectString)
.lean()
query = LevelSession.find(queryParameters).select(selectString).lean()
query.exec (err, levelSessions) ->
if err then return cb err
levelSessionIDs = _.pluck levelSessions, "_id"
transpileLevelSession levelSessionIDs[0], (err) ->
throw err if err
#async.each levelSessionIDs, transpileLevelSession, (err) ->
# if err then return cb err
# cb null
async.eachSeries levelSessionIDs, transpileLevelSession, (err) ->
if err then return cb err
cb null
transpileLadderSessions = ->
@ -70,17 +67,14 @@ transpileLadderSessions = ->
"version.isLatestMajor": true
"version.isLatestMinor": true
selectString = "original"
query = Level
.find(queryParameters)
.select(selectString)
.lean()
query = Level.find(queryParameters).select(selectString).lean()
query.exec (err, ladderLevels) ->
throw err if err
ladderLevels = _.pluck ladderLevels, "original"
findLadderLevelSessions ladderLevels[3], (err) ->
async.eachSeries ladderLevels, findLadderLevelSessions, (err) ->
throw err if err
#async.each ladderLevels, findLadderLevelSessions, (err) ->
# throw err if err
serverSetup.connectToDatabase()
transpileLadderSessions()