]> git.phdru.name Git - bookmarks_db.git/commitdiff
Store charset in the DB and the generated HTML.
authorOleg Broytman <phd@phdru.name>
Mon, 27 Jun 2005 13:45:44 +0000 (13:45 +0000)
committerOleg Broytman <phd@phdru.name>
Mon, 27 Jun 2005 13:45:44 +0000 (13:45 +0000)
git-svn-id: file:///home/phd/archive/SVN/bookmarks_db/trunk@59 fdd5c36f-1aea-0310-aeeb-c58d7e2b6c23

bkmk_parser.py
hotexplode.pl

index d43674138e33f4f2eccc2b577a9ff2656c725cb9..7ce99e8412447cbba334291783149f80cc2c3e46 100755 (executable)
@@ -80,6 +80,8 @@ class BkmkParser(HTMLParser):
 
 
    def start_title(self, attrs):
+      if DEFAULT_CHARSET:
+         self.accumulator += '<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=%s">\n' % DEFAULT_CHARSET
       self.accumulator += "<TITLE>"
 
    def end_title(self):
index 4ada424bdafac68ae6426ec86b0261ba53ea5da0..2273b2fec714e0bf9d4c0d4b5b26f1cc7c48c1dc 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-# hotexplode --  a program for "exploding" a xmosaic hotlist or Netscape 
+# hotexplode --  a program for "exploding" a xmosaic hotlist or Netscape
 # bookmark file into a hierarchial multi-page structure.
 # acb  60 Chs 3162
 
@@ -11,18 +11,18 @@ $date = `date`;
 
 # customise below
 
-# header:  some arbitrary HTML text which is appended below the title and 
+# header:  some arbitrary HTML text which is appended below the title and
 #          above the hotlist data
 
 $header = <<FOO;
 <hr width="50%">
 <blockquote>
-This hotlist was generated with 
+This hotlist was generated with
 <a href="http://www.zikzak.net/~acb/hacks/hotexplode.html">hotexplode</a>
 on $date.
 <p>
-<b>WARNING:</b>  The inclusion of a link to a page on 
-this hotlist is not an indication of the maintainer's 
+<b>WARNING:</b>  The inclusion of a link to a page on
+this hotlist is not an indication of the maintainer's
 approval of or agreement with its content.
 </blockquote>
 <hr width="50%">
@@ -65,7 +65,7 @@ $title = $opt_t if $opt_t;
 
 
 while (<>) {
-  if(/<UL>/) { warn "Detected xmosaic hotlist format\n" if $opt_v; 
+  if(/<UL>/) { warn "Detected xmosaic hotlist format\n" if $opt_v;
                &parse_mosaic_hotlist($outdir, $title); last; }
   if(/<DL>/) { warn "Detected Netscape bookmark format\n" if $opt_v;
                &parse_netscape_bookmarks($outdir, $title); last; }
@@ -80,11 +80,14 @@ sub parse_mosaic_hotlist {
   # we write the file at the very end, because (I think) filehandles do
   # not have local scope, and this is recursive
   local($prefix, $title) = @_;
-  local($result) = "<HTML><HEAD><TITLE>$title </TITLE></HEAD>\
-<BODY>\n<CENTER><H1>$title </H1></CENTER>\n $header \n<hr>\n<ul>";
+  local($result) = "<HTML><HEAD>\
+<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=koi8-r\">\
+<TITLE>$title</TITLE>\
+</HEAD>\
+<BODY>\n<CENTER><H1>$title</H1></CENTER>\n $header \n<hr>\n<ul>";
 
   warn "Creating $prefix...\n" if $opt_v;
-  
+
   # create the directory, if needed
   mkdir($prefix, 0755) unless -d $prefix;
 
@@ -111,7 +114,7 @@ sub parse_mosaic_hotlist {
       &parse_mosaic_hotlist("${prefix}/${filename}", "${title}:${subtitle}");
       next;
     }
-    
+
   }
 
   $result = $result . $footer . "</body></html>";
@@ -130,11 +133,14 @@ sub parse_netscape_bookmarks {
   # we write the file at the very end, because (I think) filehandles do
   # not have local scope, and this is recursive
   local($prefix, $title) = @_;
-  local($result) = "<HTML><HEAD><TITLE>$title </TITLE></HEAD>\
-<BODY>\n<CENTER><H1>$title </H1></CENTER>\n $header \n<hr>\n<dl>";
+  local($result) = "<HTML><HEAD>\
+<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=koi8-r\">\
+<TITLE>$title</TITLE>\
+</HEAD>\
+<BODY>\n<CENTER><H1>$title</H1></CENTER>\n $header \n<hr>\n<dl>";
 
   warn "Creating $prefix...\n" if $opt_v;
-  
+
   # create the directory, if needed
   mkdir($prefix, 0755) unless -d $prefix;
 
@@ -145,7 +151,7 @@ sub parse_netscape_bookmarks {
       #  a nested list
       #
       local($subtitle)=$1;
-      local($filename)=$1; 
+      local($filename)=$1;
       $filename =~ tr/0-9A-Za-z//cd;
       $filename =~ tr/A-Z/a-z/;
       # parse the description here
@@ -156,7 +162,7 @@ sub parse_netscape_bookmarks {
       }
       $result = $result . "<dt><b><a href=\"${filename}/index.html\">${subtitle}</a></b>\n";
       unless("$desc" eq "")  { $result = $result . $desc; }
-      &parse_netscape_bookmarks("${prefix}/${filename}", 
+      &parse_netscape_bookmarks("${prefix}/${filename}",
         "${title}:${subtitle}");
       next;
     }