<commit_before>debug = require("debug")("ppt-server")
express = require("express")
path = require("path")
logger = require("morgan")
cookieParser = require("cookie-parser")
bodyParser = require("body-parser")
routes = require("./routes/index")
os = require("os")
app = express()

global.app = app

app.set "port", process.env.PORT or 7325

publicIPList = () ->
  ips = []
  for interfaceName, inetList of os.networkInterfaces()
    for inet in inetList
      # Not using a hash b/c we care about order as our priority.
      if !inet["internal"] && inet["family"].match(/IPv4/i) && !interfaceName.match(/bridge/i)
        ips.push [interfaceName, inet["address"]]
  return ips

app.set "ipFunc", publicIPList

# view engine setup
app.set "views", path.join(__dirname, "views")
app.set "view engine", "ejs"
app.use logger("dev")
app.use bodyParser.json()
app.use bodyParser.urlencoded()
app.use cookieParser()
app.use express.static(path.join(__dirname, "public"))
app.use "/", routes

#/ catch 404 and forwarding to error handler
app.use (req, res, next) ->
  err = new Error("Not Found")
  err.status = 404
  next err
  return


#/ error handlers

# development error handler
# will print stacktrace
if app.get("env") is "development"
  app.use (err, req, res, next) ->
    res.status err.status or 500
    res.render "error",
      message: err.message
      error: err

    return


# production error handler
# no stacktraces leaked to users
app.use (err, req, res, next) ->
  res.status err.status or 500
  res.render "error",
    message: err.message
    error: {}

  return

server = app.listen(app.get("port"), ->
  preferredIP = publicIPList().splice(0,1)[0][1]
  console.log "PebblePoint server listening on " + preferredIP + ":" + server.address().port
  return
)<commit_msg>launch the browser to show help<commit_after>debug = require("debug")("ppt-server")
express = require("express")
path = require("path")
logger = require("morgan")
cookieParser = require("cookie-parser")
bodyParser = require("body-parser")
routes = require("./routes/index")
os = require("os")
app = express()

# For launching the view
sys = require('sys')
exec = require('child_process').exec

global.app = app

app.set "port", process.env.PORT or 7325

publicIPList = () ->
  ips = []
  for interfaceName, inetList of os.networkInterfaces()
    for inet in inetList
      # Not using a hash b/c we care about order as our priority.
      if !inet["internal"] && inet["family"].match(/IPv4/i) && !interfaceName.match(/bridge/i)
        ips.push [interfaceName, inet["address"]]
  return ips

app.set "ipFunc", publicIPList

# view engine setup
app.set "views", path.join(__dirname, "views")
app.set "view engine", "ejs"
app.use logger("dev")
app.use bodyParser.json()
app.use bodyParser.urlencoded()
app.use cookieParser()
app.use express.static(path.join(__dirname, "public"))
app.use "/", routes

#/ catch 404 and forwarding to error handler
app.use (req, res, next) ->
  err = new Error("Not Found")
  err.status = 404
  next err
  return


#/ error handlers

# development error handler
# will print stacktrace
if app.get("env") is "development"
  app.use (err, req, res, next) ->
    res.status err.status or 500
    res.render "error",
      message: err.message
      error: err

    return


# production error handler
# no stacktraces leaked to users
app.use (err, req, res, next) ->
  res.status err.status or 500
  res.render "error",
    message: err.message
    error: {}

  return

server = app.listen(app.get("port"), ->
  preferredIP = publicIPList().splice(0,1)[0][1]
  serverUrl = "http://" + preferredIP + ":" + server.address().port
  console.log "PebblePoint server listening on " + serverUrl
  exec "open #{serverUrl}"

  return
)
{'fraction_non_alphanumeric': 0.1476725521669342, 'fraction_numerical': 0.011235955056179775, 'mean_word_length': 3.881201044386423, 'pattern_counts': {'":': 2, '<': 3, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5118783', 'n_tokens_mistral': 1246, 'n_tokens_neox': 1199, 'n_words': 353}