[LON-CAPA-cvs] cvs: loncom /homework daxeopen.pm /homework/cleanxml post_xml.pm
damieng
damieng at source.lon-capa.org
Tue Dec 15 10:01:02 EST 2015
damieng Tue Dec 15 15:01:02 2015 EDT
Modified files:
/loncom/homework daxeopen.pm
/loncom/homework/cleanxml post_xml.pm
Log:
removed dependancy to Env package
Index: loncom/homework/daxeopen.pm
diff -u loncom/homework/daxeopen.pm:1.2 loncom/homework/daxeopen.pm:1.3
--- loncom/homework/daxeopen.pm:1.2 Thu Dec 10 16:26:43 2015
+++ loncom/homework/daxeopen.pm Tue Dec 15 15:00:58 2015
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Opening converted problems and directory listings for Daxe
#
-# $Id: daxeopen.pm,v 1.2 2015/12/10 16:26:43 damieng Exp $
+# $Id: daxeopen.pm,v 1.3 2015/12/15 15:00:58 damieng Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -71,7 +71,7 @@
my $warnings = 0; # no warning printed
my $textref = &Apache::pre_xml::pre_xml($file, $warnings);
$textref = &Apache::html_to_xml::html_to_xml($textref, $warnings);
- my $text = &Apache::post_xml::post_xml($textref, $file, $warnings);
+ my $text = &Apache::post_xml::post_xml($textref, $file, $perlvar{'lonDocRoot'}, $warnings);
&Apache::loncommon::content_type($request, 'text/xml', 'utf-8');
$request->print($text);
return OK;
Index: loncom/homework/cleanxml/post_xml.pm
diff -u loncom/homework/cleanxml/post_xml.pm:1.1 loncom/homework/cleanxml/post_xml.pm:1.2
--- loncom/homework/cleanxml/post_xml.pm:1.1 Thu Dec 3 20:40:31 2015
+++ loncom/homework/cleanxml/post_xml.pm Tue Dec 15 15:01:01 2015
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Third step to clean a file.
#
-# $Id: post_xml.pm,v 1.1 2015/12/03 20:40:31 damieng Exp $
+# $Id: post_xml.pm,v 1.2 2015/12/15 15:01:01 damieng Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -42,8 +42,6 @@
use HTML::TokeParser; # used to parse sty files
use Tie::IxHash; # for ordered hashes
-use Env qw(RES_DIR); # path of res directory parent (without the / at the end)
-
no warnings 'recursion'; # yes, fix_paragraph is using heavy recursion, I know
# these are constants
@@ -77,9 +75,13 @@
# Parses the XML document and fixes many things to turn it into a document matching the schema.
-# Returns the text of the document as a byte string.
+# @param {reference} textref - reference to the text of the document
+# @param {string} file_path - path of the file being processed (we only extract the directory path from it)
+# @param {string} res_dir - path of res directory parent (without the / at the end)
+# @param {boolean} warn - 1 to print warnings, 0 otherwise
+# @returns the text of the document as a byte string.
sub post_xml {
- my ($textref, $file_path, $warn) = @_;
+ my ($textref, $file_path, $res_dir, $warn) = @_;
$warnings = $warn;
my $dom_doc = XML::LibXML->load_xml(string => $textref);
@@ -95,7 +97,7 @@
my $fix_by_hand = replace_m($root);
my @all_block = (@block_elements, @block_html);
- add_sty_blocks($file_path, $root, \@all_block); # must come before the subs using @all_block
+ add_sty_blocks($file_path, $res_dir, $root, \@all_block); # must come before the subs using @all_block
fix_block_styles($root, \@all_block);
$root->normalize();
@@ -591,8 +593,10 @@
# Use the linked sty files to guess which newly defined elements should be considered blocks.
# Also adds to @containing_styles the sty elements that contain styles.
# @param {string} fn - the file path (we only extract the directory path from it)
+# @param {string} res_dir - path of res directory parent (without the / at the end)
+# @param {Element} root - the root element
sub add_sty_blocks {
- my ($fn, $root, $all_block) = @_;
+ my ($fn, $res_dir, $root, $all_block) = @_;
my $doc = $root->ownerDocument;
my @parserlibs = $doc->getElementsByTagName('parserlib');
my @libs = ();
@@ -608,7 +612,7 @@
my ($name, $path, $suffix) = fileparse($fn);
foreach my $sty (@libs) {
if (substr($sty, 0, 1) eq '/') {
- $sty = $RES_DIR.$sty;
+ $sty = $res_dir.$sty;
} else {
$sty = $path.$sty;
}
More information about the LON-CAPA-cvs
mailing list