add -inc to word count

use -inc to word count included files

also moved private function to bottom
This commit is contained in:
Henry Oswald
2015-09-09 12:43:32 +01:00
parent caef254b80
commit 561eaa0d66
3 changed files with 14 additions and 14 deletions

View File

@@ -68,7 +68,7 @@ module.exports = CompileController =
} }
wordcount: (req, res, next = (error) ->) -> wordcount: (req, res, next = (error) ->) ->
file = req.query.file file = req.query.file || "main.tex"
project_id = req.params.project_id project_id = req.params.project_id
CompileManager.wordcount project_id, file, (error, result) -> CompileManager.wordcount project_id, file, (error, result) ->

View File

@@ -111,6 +111,18 @@ module.exports = CompileManager =
} }
return results return results
wordcount: (project_id, file_name, callback = (error, pdfPositions) ->) ->
logger.log project_id:project_id, file_name:file_name, "running wordcount"
file_path = "$COMPILE_DIR/" + file_name
command = [ "texcount", '-inc', file_path, "-out=" + file_path + ".wc"]
directory = Path.join(Settings.path.compilesDir, project_id)
timeout = 10 * 1000
CommandRunner.run project_id, command, directory, timeout, (error) ->
return callback(error) if error?
stdout = fs.readFileSync(directory + "/" + file_name + ".wc", "utf-8")
callback null, CompileManager._parseWordcountFromOutput(stdout)
_parseWordcountFromOutput: (output) -> _parseWordcountFromOutput: (output) ->
results = { results = {
encode: "" encode: ""
@@ -140,16 +152,4 @@ module.exports = CompileManager =
results['mathInline'] = parseInt(info, 10) results['mathInline'] = parseInt(info, 10)
if data.indexOf("displayed") > -1 if data.indexOf("displayed") > -1
results['mathDisplay'] = parseInt(info, 10) results['mathDisplay'] = parseInt(info, 10)
return results return results
wordcount: (project_id, file_name, callback = (error, pdfPositions) ->) ->
file_path = "$COMPILE_DIR/" + file_name
command = [ "texcount", file_path, "-out=" + file_path + ".wc"]
directory = Path.join(Settings.path.compilesDir, project_id)
timeout = 10 * 1000
CommandRunner.run project_id, command, directory, timeout, (error) ->
return callback(error) if error?
stdout = fs.readFileSync(directory + "/" + file_name + ".wc", "utf-8")
callback null, CompileManager._parseWordcountFromOutput(stdout)

View File

@@ -191,7 +191,7 @@ describe "CompileManager", ->
it "should run the texcount command", -> it "should run the texcount command", ->
@directory = "#{@Settings.path.compilesDir}/#{@project_id}" @directory = "#{@Settings.path.compilesDir}/#{@project_id}"
@file_path = "$COMPILE_DIR/#{@file_name}" @file_path = "$COMPILE_DIR/#{@file_name}"
@command =[ "texcount", @file_path, "-out=" + @file_path + ".wc"] @command =[ "texcount", '-inc', @file_path, "-out=" + @file_path + ".wc"]
@CommandRunner.run @CommandRunner.run
.calledWith(@project_id, @command, @directory, @timeout) .calledWith(@project_id, @command, @directory, @timeout)