r26864 - in /trunk/libparse-mediawikidump-perl: Changes META.yml Makefile.PL debian/changelog lib/Parse/MediaWikiDump.pm

ansgar-guest at users.alioth.debian.org ansgar-guest at users.alioth.debian.org
Fri Nov 14 18:31:01 UTC 2008


Author: ansgar-guest
Date: Fri Nov 14 18:30:58 2008
New Revision: 26864

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=26864
Log:
New upstream release.

Modified:
    trunk/libparse-mediawikidump-perl/Changes
    trunk/libparse-mediawikidump-perl/META.yml
    trunk/libparse-mediawikidump-perl/Makefile.PL
    trunk/libparse-mediawikidump-perl/debian/changelog
    trunk/libparse-mediawikidump-perl/lib/Parse/MediaWikiDump.pm

Modified: trunk/libparse-mediawikidump-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libparse-mediawikidump-perl/Changes?rev=26864&op=diff
==============================================================================
--- trunk/libparse-mediawikidump-perl/Changes (original)
+++ trunk/libparse-mediawikidump-perl/Changes Fri Nov 14 18:30:58 2008
@@ -1,6 +1,10 @@
 Revision history for Parse-MediaWikiDump
 
-0.51.1  Sep 21, 2008
+0.53  Oct 29, 2008
+        * Fix for bug #38206 "Parse::MediaWikiDump XML dump file not closed on 
+          DESTROY" incorporated.
+
+0.52  Sep 21, 2008
         * Bug #31310, Makefile.PL should require perl 5.6, resolved.
         * Bug #38206, "Parse::MediaWikiDump XML dump file not closed on 
           DESTROY," logged as a known bug in the documentation. See

Modified: trunk/libparse-mediawikidump-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libparse-mediawikidump-perl/META.yml?rev=26864&op=diff
==============================================================================
--- trunk/libparse-mediawikidump-perl/META.yml (original)
+++ trunk/libparse-mediawikidump-perl/META.yml Fri Nov 14 18:30:58 2008
@@ -1,11 +1,12 @@
 # http://module-build.sourceforge.net/META-spec.html
 #XXXXXXX This is a prototype!!!  It will change in the future!!! XXXXX#
 name:         Parse-MediaWikiDump
-version:      0.52
+version:      0.53
 version_from: lib/Parse/MediaWikiDump.pm
 installdirs:  site
 requires:
     List::Util:                    0
+    Test::Memory::Cycle:           0
     Test::More:                    0
     XML::Parser:                   0
 

Modified: trunk/libparse-mediawikidump-perl/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libparse-mediawikidump-perl/Makefile.PL?rev=26864&op=diff
==============================================================================
--- trunk/libparse-mediawikidump-perl/Makefile.PL (original)
+++ trunk/libparse-mediawikidump-perl/Makefile.PL Fri Nov 14 18:30:58 2008
@@ -14,6 +14,7 @@
  	'List::Util' => 0,
         'Test::More' => 0,
 	'XML::Parser' => 0,
+        'Test::Memory::Cycle' => 0,
     },
     dist                => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
     clean               => { FILES => 'Parse-MediaWikiDump-*' },

Modified: trunk/libparse-mediawikidump-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libparse-mediawikidump-perl/debian/changelog?rev=26864&op=diff
==============================================================================
--- trunk/libparse-mediawikidump-perl/debian/changelog (original)
+++ trunk/libparse-mediawikidump-perl/debian/changelog Fri Nov 14 18:30:58 2008
@@ -1,3 +1,9 @@
+libparse-mediawikidump-perl (0.53-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Ansgar Burchardt <ansgar at 43-1.org>  Fri, 14 Nov 2008 19:30:06 +0100
+
 libparse-mediawikidump-perl (0.52-1) unstable; urgency=low
 
   * New upstream release.

Modified: trunk/libparse-mediawikidump-perl/lib/Parse/MediaWikiDump.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libparse-mediawikidump-perl/lib/Parse/MediaWikiDump.pm?rev=26864&op=diff
==============================================================================
--- trunk/libparse-mediawikidump-perl/lib/Parse/MediaWikiDump.pm (original)
+++ trunk/libparse-mediawikidump-perl/lib/Parse/MediaWikiDump.pm Fri Nov 14 18:30:58 2008
@@ -1,5 +1,5 @@
 package Parse::MediaWikiDump;
-our $VERSION = '0.52';
+our $VERSION = '0.53';
 
 #the POD is at the end of this file
 
@@ -16,6 +16,7 @@
 use warnings;
 use List::Util;
 use XML::Parser;
+use Scalar::Util qw(weaken);
 
 #tokens in the buffer are an array ref with the 0th element specifying
 #its type; these are the constants for those types. 
@@ -23,18 +24,26 @@
 sub new {
 	my ($class, $source) = @_;
 	my $self = {};
-
-	bless($self, $class);
+	my $parser_state;
+
+	bless ($self, $class);
 
 	$$self{PARSER} = XML::Parser->new(ProtocolEncoding => 'UTF-8');
 	$$self{PARSER}->setHandlers('Start', \&start_handler,
 					'End', \&end_handler);
-		$$self{EXPAT} = $$self{PARSER}->parse_start(state => $self);
+
+	$$self{GOOD_TAGS} = make_good_tags();
 	$$self{BUFFER} = []; 
 	$$self{CHUNK_SIZE} = 32768;
 	$$self{BUF_LIMIT} = 10000;
 	$$self{BYTE} = 0;
-	$$self{GOOD_TAGS} = make_good_tags();
+
+	$parser_state = { 
+		BUFFER => $$self{BUFFER}, 
+		GOOD_TAGS => $$self{GOOD_TAGS},
+	};
+
+	$$self{EXPAT} = $$self{PARSER}->parse_start(state => $parser_state);
 
 	$self->open($source);
 	$self->init;
@@ -696,10 +705,10 @@
 
 sub start_handler {
 	my ($p, $tag, %atts) = @_;	
-	my $self = $p->{state};
-	my $good_tags = $$self{GOOD_TAGS};
-
-	push @{ $$self{BUFFER} }, [$tag, \%atts];
+	my $good_tags = $p->{state}{GOOD_TAGS};
+	my $buf = $p->{state}{BUFFER};
+
+	push(@$buf, [$tag, \%atts]);
 
 	if (defined($good_tags->{$tag})) {
 		$p->setHandlers(Char => \&char_handler);
@@ -710,9 +719,9 @@
 
 sub end_handler {
 	my ($p, $tag) = @_;
-	my $self = $p->{state};
-
-	push @{ $$self{BUFFER} }, ["/$tag"];
+	my $buffer = $p->{state}{BUFFER};
+
+	push (@$buffer, ["/$tag"]);
 
 	$p->setHandlers(Char => undef);
 	
@@ -722,7 +731,7 @@
 sub char_handler {
 	my ($p, $chars) = @_;
 	my $self = $p->{state};
-	my $buffer = $$self{BUFFER};
+	my $buffer = $p->{state}{BUFFER};
 	my $curent = $$buffer[-1];
 
 	if (ref $curent eq 'SCALAR') {




More information about the Pkg-perl-cvs-commits mailing list