qsos-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qsos-commits] qsos/tools qsos2mediawiki


From: Goneri Le Bouder
Subject: [Qsos-commits] qsos/tools qsos2mediawiki
Date: Thu, 30 Nov 2006 21:35:52 +0000

CVSROOT:        /sources/qsos
Module name:    qsos
Changes by:     Goneri Le Bouder <goneri>       06/11/30 21:35:52

Added files:
        tools          : qsos2mediawiki 

Log message:
        tool to convert qsos XML sheet to mediawiki format

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qsos/tools/qsos2mediawiki?cvsroot=qsos&rev=1.1

Patches:
Index: qsos2mediawiki
===================================================================
RCS file: qsos2mediawiki
diff -N qsos2mediawiki
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ qsos2mediawiki      30 Nov 2006 21:35:52 -0000      1.1
@@ -0,0 +1,83 @@
+#!/usr/bin/perl -w
+# tool to convert QSOS sheet to mediawiki format
+
+use strict;
+
+use XML::Twig;
+
+my $file = shift;
+my $out;
+
+my $twig= new XML::Twig( start_tag_handlers => {
+    'element' => \&element,
+    'section' => \&section,
+  },
+
+  TwigHandlers => {
+    'desc' => \&desc,
+    'desc0' => \&desc0,
+    'desc1' => \&desc1,
+    'desc2' => \&desc2,
+    'score' => \&score,
+    'comment' => \&comment,
+  },
+  PrettyPrint => 'indented'
+);
+
+$twig->parsefile( $file);
+
+sub element {
+  my( $twig, $ename) = @_;
+
+  my $depth = $ename->level - 1;
+  $out .= "=" foreach(0 .. $depth);
+  $out .= $ename->{att}->{title};
+  $out .= "=" foreach(0 .. $depth);
+  $out .= "\n";
+  $twig->purge;
+}
+
+sub section {
+  my( $twig, $ename) = @_;
+
+  $out .= "=".$ename->{att}->{title}."=\n";
+  print "section\n";
+  $twig->purge;
+}
+
+sub desc {
+  my( $twig, $ename) = @_;
+  $out .= "* desc:".$ename->text."\n";
+  $twig->purge;
+}
+
+sub desc0 {
+  my( $twig, $ename) = @_;
+  $out .= "* desc0: ".$ename->text."\n";
+  $twig->purge;
+}
+
+sub desc1 {
+  my( $twig, $ename) = @_;
+  $out .= "* desc1: ".$ename->text."\n";
+  $twig->purge;
+}
+
+sub desc2 {
+  my( $twig, $ename) = @_;
+  $out .= "* desc2: ".$ename->text."\n";
+  $twig->purge;
+}
+
+sub score {
+  my( $twig, $ename) = @_;
+  $out .= "* score: '''".$ename->text."'''/2\n";
+  $twig->purge;
+}
+sub comment {
+  my( $twig, $ename) = @_;
+  $out .= "* comment: ".$ename->text."\n";
+  $twig->purge;
+}
+
+print $out;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]