Просмотр исходного кода

add -inc to word count

use -inc to word count included files

also moved private function to bottom
Henry Oswald 11 лет назад
Родитель
Сommit
ec338f8c10

+ 1 - 1
services/clsi/app/coffee/CompileController.coffee

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

+ 12 - 12
services/clsi/app/coffee/CompileManager.coffee

@@ -111,6 +111,18 @@ module.exports = CompileManager =
 				}
 		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) ->
 		results = {
 			encode: ""
@@ -140,16 +152,4 @@ module.exports = CompileManager =
 				results['mathInline'] = parseInt(info, 10)
 			if data.indexOf("displayed") > -1
 				results['mathDisplay'] = parseInt(info, 10)
-
 		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)

+ 1 - 1
services/clsi/test/unit/coffee/CompileManagerTests.coffee

@@ -191,7 +191,7 @@ describe "CompileManager", ->
 		it "should run the texcount command", ->
 			@directory = "#{@Settings.path.compilesDir}/#{@project_id}"
 			@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
 				.calledWith(@project_id, @command, @directory, @timeout)