Skip to content

Commit

Permalink
add tools used to browse images.
Browse files Browse the repository at this point in the history
  • Loading branch information
viirya committed Jun 27, 2012
1 parent 79b139d commit 38866ee
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 0 deletions.
47 changes: 47 additions & 0 deletions image.coffee
@@ -0,0 +1,47 @@

express = require('express')
stylus = require('stylus')
nib = require('nib')

lazy = require('lazy')
fs = require('fs')
cli = require('cli')

ImageLoader = require('./lib/images').ImageLoader

options = cli.parse
imgdir: ['i', 'The image path', 'string'],
photoset: ['c', 'The photo set', 'string']

console.log(options)

image_loader = new ImageLoader()

app = express.createServer()
compile = (str, path) ->
return stylus(str).set('filename', path).use(nib())

app.set('views', __dirname + '/views')
app.set('view engine', 'jade')
app.set('view options', { layout: false })
app.use(express.logger())
app.use(express.bodyParser())
app.use(express.cookieParser())
app.use(express.session(secret: "clusters"))
app.use(stylus.middleware { src: __dirname + '/public', compile: compile})
app.use(express.static(__dirname + '/public'))

app.get('/', (req, res) ->
console.log(req.session)

unless (req.session.images?)
image_loader.load_images(options, (images) ->
console.log(images)
req.session.images = images
res.render('images', { title : 'Home', images: images, imgpath: options.imgdir, photoset: options.photoset })
)
else
res.render('images', { title : 'Home', images: req.session.images, imgpath: options.imgdir, photoset: options.photoset})
)
app.listen(3000)

18 changes: 18 additions & 0 deletions lib/images.coffee
@@ -0,0 +1,18 @@

lazy = require('lazy')
fs = require('fs')

class ImageLoader

constructor: () ->

load_images: (@options, cb) ->
console.log(@options)
fs.readdir("./public/#{@options.imgdir}/#{@options.photoset}", (err, files) =>
console.log(files)
cb(files)
)


exports.ImageLoader = ImageLoader

0 comments on commit 38866ee

Please sign in to comment.