[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