# Get twitter status for given account (or for the default one, "PhantomJS")

page = require('webpage').create()
system = require 'system'
twitterId = 'PhantomJS' #< default value

# Route "console.log()" calls from within the Page context to the main Phantom context (i.e. current "this")
page.onConsoleMessage = (msg) ->
    console.log msg

# Print usage message, if no twitter ID is passed
if system.args.length < 2
    console.log 'Usage: tweets.coffee [twitter ID]'
else
    twitterId = system.args[1]

# Heading
console.log "*** Latest tweets from @#{twitterId} ***\n"

# Open Twitter Mobile and, onPageLoad, do...
page.open encodeURI("http://mobile.twitter.com/#{twitterId}"), (status) ->
    # Check for page load success
    if status isnt 'success'
        console.log 'Unable to access network'
    else
        # Execute some DOM inspection within the page context
        page.evaluate ->
            list = document.querySelectorAll 'div.tweet-text'
            for i, j in list
                console.log "#{j + 1}: #{i.innerText}"
    phantom.exit()
