postSetupHandler = null launch = (tmp) -> postSetupHandler = tmp log.log "" log.log "PodProxy Starting..." filesystem.readFile 'db/config.json', loadConfigFile # We let these functions block since everything we do needs configuration and feeds loadConfigFile = (err, data) -> log.log "Reading Global Config File..." if err log.log 'db/config.json not found. starting new one..' else for key, val of JSON.parse data if config[key] != undefined then config[key] = val log.log "Loaded." log.log "" filesystem.readFile 'db/feeds.json', loadFeedsFile loadFeedsFile = (err, data) -> log.log "Reading feeds from file..." if err log.log 'db/data.json not found. starting new one..' return for feed in JSON.parse data items = [] for i in feed.items items.push = new FeedItem(i) feed.items = items feed.config = new FeedConfig(feed.config) feeds.push new Feed(feed) log.log "Loaded #{feeds.length} feeds" log.log "" postSetupHandler()