[Top][All Lists]
[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' => \§ion,
+ },
+
+ 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;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qsos-commits] qsos/tools qsos2mediawiki,
Goneri Le Bouder <=