Renseignez les infos liées aux bases et lancez le script via
perl moulinette_v1.pl
Modules requis :
- DBI
- DBD::mysql
Installation
sudo apt-get install perl-dbi perl-dbd-mysql
Modification, redistribution, utilisation : conforme à la WTFPL
Renseignez les infos liées aux bases et lancez le script via
perl moulinette_v1.pl
Modules requis :
Installation
sudo apt-get install perl-dbi perl-dbd-mysql
Modification, redistribution, utilisation : conforme à la WTFPL
| DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | |
| Version 2, December 2004 | |
| Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> | |
| Everyone is permitted to copy and distribute verbatim or modified | |
| copies of this license document, and changing it is allowed as long | |
| as the name is changed. | |
| DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | |
| TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | |
| 0. You just DO WHAT THE FUCK YOU WANT TO. | |
| #!/usr/bin/env perl | |
| use strict; | |
| use warnings; | |
| use IO::File; | |
| use Text::CSV; | |
| use DBI; | |
| # Listing script for french pirate party website database. | |
| # | |
| # Author : mathieu (matael) gaborit <mathieu@matael.org> | |
| # Date : july 2012 | |
| # License : WTFPL # | |
| # No warranty, feel free to use, modify, redistribute. | |
| my $file_name = "musiques.csv"; | |
| ## DB SOURCE ## | |
| my %source = ( | |
| 'host' => 'localhost', | |
| 'dbname' => 'old', | |
| 'user' => 'root', | |
| 'pass' => 'lolilol' | |
| ); | |
| my $dbh_source = DBI->connect("dbi:mysql:host=$source{host};dbname=$source{dbname}", | |
| $source{user}, $source{pass}, {RaiseError => 1}); | |
| my $sql = "SELECT id_articles , nomMusique_articles FROM blog_articles ORDER BY id_articles"; | |
| my $sth = $dbh_source->prepare($sql); | |
| $sth->execute(); | |
| my $file = IO::File->new($file_name, 'w'); | |
| print("Writing list to $file_name\n"); | |
| my $csv = Text::CSV->new({ | |
| binary => 1, | |
| sep_char => ';' | |
| }); | |
| $csv->eol("\r\n"); | |
| $csv->print($file, ["id article","dump DB","lien reconstitué"]); | |
| my $musique_filename; | |
| while (my $row = $sth->fetchrow_hashref) { | |
| $musique_filename = $row->{nomMusique_articles}; | |
| $musique_filename =~ s/mp3/ogg/; | |
| $csv->print($file, [$row->{id_articles}, $musique_filename, "http://partipirate.org/radio/musique/$musique_filename"]); | |
| } | |
| $file->close; | |
| #!/usr/bin/env perl | |
| use strict; | |
| use warnings; | |
| use IO::File; | |
| use DBI; | |
| # Listing script for french pirate party website database. | |
| # | |
| # Author : mathieu (matael) gaborit <mathieu@matael.org> | |
| # Date : july 2012 | |
| # License : WTFPL # | |
| # No warranty, feel free to use, modify, redistribute. | |
| my $file_name = "musiques.html"; | |
| ## DB SOURCE ## | |
| my %source = ( | |
| 'host' => 'localhost', | |
| 'dbname' => 'old', | |
| 'user' => 'root', | |
| 'pass' => 'lolilol' | |
| ); | |
| my $dbh_source = DBI->connect("dbi:mysql:host=$source{host};dbname=$source{dbname}", | |
| $source{user}, $source{pass}, {RaiseError => 1}); | |
| my $sql = "SELECT id_articles , nomMusique_articles FROM blog_articles ORDER BY id_articles"; | |
| my $sth = $dbh_source->prepare($sql); | |
| $sth->execute(); | |
| my $file = IO::File->new($file_name, 'w'); | |
| print("Writing fred log to $file_name\n"); | |
| my $html = " | |
| <!DOCTYPE html> | |
| <html lang='fr'> | |
| <head> | |
| <title>Liste des musiques DB v4</title> | |
| <meta charset='utf8'/> | |
| </head> | |
| <body> | |
| <h1>Liste des musiques DB v4</h1> | |
| <ul> | |
| "; | |
| $file->write($html); | |
| my $musique_filename; | |
| while (my $row = $sth->fetchrow_hashref) { | |
| $musique_filename = $row->{nomMusique_articles}; | |
| $musique_filename =~ s/mp3/ogg/; | |
| $file->write('<li><a href="http://partipirate.org/radio/musique/'.$musique_filename.'"> Article #'.$row->{id_articles}.' : '.$musique_filename.'</a></li>') | |
| } | |
| $file->write('</ul>\n</body>\n</html>'); | |
| $file->close; |
| use strict; | |
| use warnings; | |
| use DBI; | |
| # Migration script for french pirate party website database. | |
| # | |
| # Author : mathieu (matael) gaborit <mathieu@matael.org> | |
| # Date : july 2012 | |
| # License : WTFPL | |
| # | |
| # No warranty, feel free to use, modify, redistribute. | |
| sub format_date { | |
| my $old = shift; | |
| if (defined $old) { | |
| return $old =~ s/(\d{2})\/(\d{2})\/(\d{4})/$3-$2-$1 12:00:00/; | |
| } else { | |
| return "0000-00-00 00:00:00"; | |
| } | |
| } | |
| ## DB SOURCE ## | |
| my %source = ( | |
| 'host' => 'localhost', | |
| 'dbname' => 'old', | |
| 'user' => 'root', | |
| 'pass' => 'lolilol' | |
| ); | |
| ## DB CIBLE ## | |
| my %cible = ( | |
| 'host' => 'localhost', | |
| 'dbname' => 'pp2.sqlite', | |
| #'user' => 'root', | |
| #'pass' => 'lolilol' | |
| ); | |
| my $dbh_source = DBI->connect("dbi:mysql:host=$source{host};dbname=$source{dbname}", | |
| $source{user}, $source{pass}, {RaiseError => 1}); | |
| my $dbh_cible = DBI->connect("dbi:mysql:host=$cible{host};dbname=$cible{dbname}", | |
| $cible{user}, $cible{pass}, {RaiseError => 1}); | |
| ## PROCESS ## | |
| # prepa cible | |
| my $sql_cible = q{ | |
| INSERT INTO spip_articles | |
| ( | |
| `titre`, | |
| `id_rubrique`, | |
| `chapo`, | |
| `date`, | |
| `id_licence`, | |
| `virtuel` | |
| ) | |
| VALUES ( | |
| ?, | |
| ?, | |
| ?, | |
| ?, | |
| ?, | |
| ? | |
| ) | |
| }; | |
| my $sth_cible = $dbh_cible->prepare($sql_cible); | |
| my %record; | |
| $record{id_rubrique} = 2; | |
| $record{id_licence} = 0; | |
| my $sql_lien = q{ | |
| INSERT INTO spip_auteurs_liens ( | |
| `id_auteur`, | |
| `id_objet`, | |
| `objet` | |
| ) | |
| VALUES ( | |
| 3, | |
| ?, | |
| "article" | |
| ) | |
| }; | |
| my $sth_lien = $dbh_cible->prepare($sql_lien); | |
| # select final | |
| my $sql_select = q{ | |
| SELECT id_article | |
| FROM spip_articles | |
| ORDER BY id_article DESC | |
| LIMIT 1 | |
| }; | |
| my $sth_select = $dbh_cible->prepare($sql_select); | |
| # requete source : | |
| my $sql_source = q{ | |
| SELECT id_articles, title_articles, content_articles, | |
| dates_articles | |
| FROM blog_articles | |
| ORDER BY id_articles ASC | |
| }; | |
| my $sth_source = $dbh_source->prepare($sql_source); | |
| $sth_source->execute(); | |
| # Copying | |
| my $tmp; | |
| my $id; | |
| while (my $row = $sth_source->fetchrow_hashref) { | |
| $record{titre} = $row->{title_articles}." (archive)"; | |
| #$tmp = split(/<\s?br\s?\/?>/, $row->{content_articles}); | |
| #$record{chapo} = $tmp->[0]; | |
| $record{chapo} = ''; | |
| $record{date} = format_date($row->{date}); | |
| $record{virtuel} = "https:/partipirate.org/blog/com.php?id=$row->{id_articles}"; | |
| $sth_cible->execute( | |
| $record{titre}, | |
| $record{id_rubrique}, | |
| $record{chapo}, | |
| $record{date}, | |
| $record{id_licence}, | |
| $record{virtuel} | |
| ); | |
| $sth_select->execute(); | |
| $tmp = $sth_select->fetchrow_hashref(); | |
| $id = $tmp->{id_article}; | |
| $sth_lien->execute($id); | |
| print "Article $row->{id_articles} migrated\n"; | |
| } | |
| use strict; | |
| use warnings; | |
| use IO::File; | |
| use DBI; | |
| # Migration script for french pirate party website database. | |
| # | |
| # Author : mathieu (matael) gaborit <mathieu@matael.org> | |
| # Date : july 2012 | |
| # License : WTFPL | |
| # | |
| # No warranty, feel free to use, modify, redistribute. | |
| ## CONFIG | |
| my $logfile_name = "log1"; | |
| ## DB SOURCE ## | |
| my %source = ( | |
| 'host' => 'localhost', | |
| 'dbname' => 'old', | |
| 'user' => 'root', | |
| 'pass' => 'lolilol' | |
| ); | |
| ## DB CIBLE ## | |
| my %cible = ( | |
| 'host' => 'localhost', | |
| 'dbname' => 'pp_test.sqlite', | |
| #'user' => 'root', | |
| #'pass' => 'lolilol' | |
| ); | |
| my $dbh_source = DBI->connect("dbi:mysql:host=$source{host};dbname=$source{dbname}", | |
| $source{user}, $source{pass}, {RaiseError => 1}); | |
| my $dbh_cible = DBI->connect("dbi:mysql:host=$cible{host};dbname=$cible{dbname}", | |
| $cible{user}, $cible{pass}, {RaiseError => 1}); | |
| ## PROCESS ## | |
| # init a logfile | |
| my $logfile = IO::File->new($logfile_name, 'w'); | |
| print("Writing log to $logfile_name\n"); | |
| # how to create beautiful dates | |
| sub format_date { | |
| my $old = shift; | |
| if (defined $old) { | |
| return $old =~ s/(\d{2})\/(\d{2})\/(\d{4})/$3-$2-$1 12:00:00/; | |
| } else { | |
| return "0000-00-00 00:00:00"; | |
| } | |
| } | |
| # prepa cible | |
| my $sql_cible = q{ | |
| INSERT INTO spip_articles | |
| ( | |
| `titre`, | |
| `id_rubrique`, | |
| `texte`, | |
| `date`, | |
| `id_licence` | |
| ) | |
| VALUES ( | |
| ?, | |
| ?, | |
| ?, | |
| ?, | |
| ? | |
| ) | |
| }; | |
| my $sth_cible = $dbh_cible->prepare($sql_cible); | |
| my %record; | |
| $record{id_rubrique} = 2; | |
| $record{id_licence} = 0; | |
| my $sql_lien = q{ | |
| INSERT INTO spip_auteurs_liens ( | |
| `id_auteur`, | |
| `id_objet`, | |
| `objet` | |
| ) | |
| VALUES ( | |
| 3, | |
| ?, | |
| "article" | |
| ) | |
| }; | |
| my $sth_lien = $dbh_cible->prepare($sql_lien); | |
| # select final | |
| my $sql_select = q{ | |
| SELECT id_article | |
| FROM spip_articles | |
| ORDER BY id_article DESC | |
| LIMIT 1 | |
| }; | |
| my $sth_select = $dbh_cible->prepare($sql_select); | |
| # requete source : | |
| my $sql_source = q{ | |
| SELECT * | |
| FROM blog_articles | |
| ORDER BY id_articles ASC | |
| }; | |
| my $sth_source = $dbh_source->prepare($sql_source); | |
| $sth_source->execute(); | |
| # Copying | |
| my $tmp; | |
| my $id; | |
| my $count = 0; # DEBUG | |
| while ($count < 10 and my $row = $sth_source->fetchrow_hashref) { | |
| $record{titre} = $row->{title_articles}; | |
| $record{date} = format_date($row->{date}); | |
| $record{texte} = " <div> | |
| <audio preload='none' src='".$row->{titreMusique_articles}."' style='width: 160px; height: 30px;' controls>La fonctionalité 'audio' ne fonctionne qu'avec certains navigateurs.</audio><br><br> | |
| by <a href='".$row->{lienMusique_articles}."' target='_blank'>".$row->{nomMusique_articles}."</a> | |
| <img class='imageArticle' src='".$row->{nomLienImage_articles}."' alt='".$row->{nomImage_articles}."' /> | |
| <br />https://pad.partipirate.org/zmpOEKR6cw | |
| <a href='".$row->{lienImage_articles}."' target='_blank'>".$row->{titreImage_articles}."</a> | |
| </div> | |
| ".$row->{content_articles}; | |
| $sth_cible->execute( | |
| $record{titre}, | |
| $record{id_rubrique}, | |
| $record{texte}, | |
| $record{date}, | |
| $record{id_licence}, | |
| ); | |
| $sth_select->execute(); | |
| $tmp = $sth_select->fetchrow_hashref(); | |
| $id = $tmp->{id_article}; | |
| $sth_lien->execute($id); | |
| # print ID to logfile | |
| $logfile->print("$tmp\n"); | |
| # Say what we've done | |
| print "Article $row->{id_articles} migrated\n"; | |
| $count++; # DEBUG | |
| } | |
| $logfile->close(); |
| #!/usr/bin/env perl | |
| use strict; | |
| use warnings; | |
| use IO::File; | |
| use DBI; | |
| # Migration script for french pirate party website database. | |
| # | |
| # Author : mathieu (matael) gaborit <mathieu@matael.org> | |
| # Date : july 2012 | |
| # License : WTFPL # | |
| # No warranty, feel free to use, modify, redistribute. | |
| ## CONFIG | |
| my $logfile_name = "log1"; | |
| my $logfred_name = "log_fred1"; | |
| ## DB SOURCE ## | |
| my %source = ( | |
| 'host' => 'localhost', | |
| 'dbname' => 'old', | |
| 'user' => 'root', | |
| 'pass' => 'lolilol' | |
| ); | |
| ## DB CIBLE ## | |
| my %cible = ( | |
| 'host' => 'mysql2.alwaysdata.com', | |
| 'dbname' => 'testpp_spip', | |
| 'user' => 'testpp', | |
| 'pass' => 'testpp2' | |
| ); | |
| my $dbh_source = DBI->connect("dbi:mysql:host=$source{host};dbname=$source{dbname}", | |
| $source{user}, $source{pass}, {RaiseError => 1}); | |
| my $dbh_cible = DBI->connect("dbi:mysql:host=$cible{host};dbname=$cible{dbname}", | |
| $cible{user}, $cible{pass}, {RaiseError => 1}); | |
| ## PROCESS ## | |
| # init a logfile | |
| my $logfile = IO::File->new($logfile_name, 'w'); | |
| print("Writing log to $logfile_name\n"); | |
| my $logfred = IO::File->new($logfred_name, 'w'); | |
| print("Writing fred log to $logfred_name\n"); | |
| # dates/heures, from Harpalos {{{ | |
| my %les_dates; my %les_heures; | |
| $les_dates{2}='2008'; $les_heures{2}='00:00'; | |
| $les_dates{3}='2008'; $les_heures{3}='00:01'; | |
| $les_dates{4}='2008'; $les_heures{4}='00:02'; | |
| $les_dates{5}='2008'; $les_heures{5}='00:03'; | |
| $les_dates{6}='2008'; $les_heures{6}='00:04'; | |
| $les_dates{7}='2008'; $les_heures{7}='00:05'; | |
| $les_dates{8}='2008'; $les_heures{8}='00:06'; | |
| $les_dates{10}='2008'; $les_heures{10}='00:07'; | |
| $les_dates{11}='2008'; $les_heures{11}='00:08'; | |
| $les_dates{13}='2008'; $les_heures{13}='00:09'; | |
| $les_dates{14}='2008'; $les_heures{14}='00:10'; | |
| $les_dates{15}='2008'; $les_heures{15}='00:11'; | |
| $les_dates{17}='2008'; $les_heures{17}='00:12'; | |
| $les_dates{18}='2008'; $les_heures{18}='00:13'; | |
| $les_dates{19}='2008'; $les_heures{19}='00:14'; | |
| $les_dates{20}='2008'; $les_heures{20}='00:15'; | |
| $les_dates{21}='2008'; $les_heures{21}='00:16'; | |
| $les_dates{22}='2008'; $les_heures{22}='00:17'; | |
| $les_dates{23}='2008'; $les_heures{23}='00:18'; | |
| $les_dates{25}='2008'; $les_heures{25}='00:19'; | |
| $les_dates{26}='2008'; $les_heures{26}='00:20'; | |
| $les_dates{27}='2008'; $les_heures{27}='00:21'; | |
| $les_dates{28}='2008'; $les_heures{28}='00:22'; | |
| $les_dates{29}='2008'; $les_heures{29}='00:23'; | |
| $les_dates{30}='2008'; $les_heures{30}='00:24'; | |
| $les_dates{31}='2008'; $les_heures{31}='00:25'; | |
| $les_dates{32}='2008'; $les_heures{32}='00:26'; | |
| $les_dates{33}='2008'; $les_heures{33}='00:27'; | |
| $les_dates{34}='2008'; $les_heures{34}='00:28'; | |
| $les_dates{35}='2008'; $les_heures{35}='00:29'; | |
| $les_dates{36}='2008'; $les_heures{36}='00:30'; | |
| $les_dates{37}='2008'; $les_heures{37}='00:31'; | |
| $les_dates{38}='2008'; $les_heures{38}='00:32'; | |
| $les_dates{39}='2008'; $les_heures{39}='00:33'; | |
| $les_dates{41}='2008'; $les_heures{41}='00:34'; | |
| $les_dates{42}='2008'; $les_heures{42}='00:35'; | |
| $les_dates{43}='2008'; $les_heures{43}='00:36'; | |
| $les_dates{45}='2008'; $les_heures{45}='00:37'; | |
| $les_dates{46}='2008'; $les_heures{46}='00:38'; | |
| $les_dates{47}='2008'; $les_heures{47}='00:39'; | |
| $les_dates{48}='2008'; $les_heures{48}='00:40'; | |
| $les_dates{49}='2008'; $les_heures{49}='00:41'; | |
| $les_dates{50}='2008'; $les_heures{50}='00:42'; | |
| $les_dates{51}='2008'; $les_heures{51}='00:43'; | |
| $les_dates{52}='2008'; $les_heures{52}='00:44'; | |
| $les_dates{53}='2008'; $les_heures{53}='00:45'; | |
| $les_dates{55}='2008'; $les_heures{55}='00:46'; | |
| $les_dates{56}='2008'; $les_heures{56}='00:47'; | |
| $les_dates{59}='2008'; $les_heures{59}='00:48'; | |
| $les_dates{60}='2008'; $les_heures{60}='00:49'; | |
| $les_dates{61}='2008'; $les_heures{61}='00:50'; | |
| $les_dates{62}='2008'; $les_heures{62}='00:51'; | |
| $les_dates{63}='2008'; $les_heures{63}='00:52'; | |
| $les_dates{64}='2008'; $les_heures{64}='00:53'; | |
| $les_dates{65}='2008'; $les_heures{65}='00:54'; | |
| $les_dates{66}='2008'; $les_heures{66}='00:55'; | |
| $les_dates{67}='2008'; $les_heures{67}='00:56'; | |
| $les_dates{68}='2008'; $les_heures{68}='00:57'; | |
| $les_dates{69}='2008'; $les_heures{69}='00:58'; | |
| $les_dates{70}='2008'; $les_heures{70}='00:59'; | |
| $les_dates{71}='2008'; $les_heures{71}='01:00'; | |
| $les_dates{72}='2008'; $les_heures{72}='01:01'; | |
| $les_dates{73}='2008'; $les_heures{73}='01:02'; | |
| $les_dates{74}='2008'; $les_heures{74}='01:03'; | |
| $les_dates{75}='2008'; $les_heures{75}='01:04'; | |
| $les_dates{77}='2008'; $les_heures{77}='01:05'; | |
| $les_dates{78}='2008'; $les_heures{78}='01:06'; | |
| $les_dates{79}='2008'; $les_heures{79}='01:07'; | |
| $les_dates{80}='2008'; $les_heures{80}='01:08'; | |
| $les_dates{81}='2008'; $les_heures{81}='01:09'; | |
| $les_dates{82}='2008'; $les_heures{82}='01:10'; | |
| $les_dates{83}='2008'; $les_heures{83}='01:11'; | |
| $les_dates{84}='2008'; $les_heures{84}='01:12'; | |
| $les_dates{85}='2009'; $les_heures{85}='00:00'; | |
| $les_dates{86}='2009'; $les_heures{86}='00:01'; | |
| $les_dates{87}='2009'; $les_heures{87}='00:02'; | |
| $les_dates{88}='2009'; $les_heures{88}='00:03'; | |
| $les_dates{89}='2009'; $les_heures{89}='00:04'; | |
| $les_dates{90}='2009'; $les_heures{90}='00:05'; | |
| $les_dates{91}='2009'; $les_heures{91}='00:06'; | |
| $les_dates{92}='2009'; $les_heures{92}='00:07'; | |
| $les_dates{93}='2009'; $les_heures{93}='00:08'; | |
| $les_dates{94}='2009'; $les_heures{94}='00:09'; | |
| $les_dates{95}='2009'; $les_heures{95}='00:10'; | |
| $les_dates{96}='2009'; $les_heures{96}='00:11'; | |
| $les_dates{97}='2009'; $les_heures{97}='00:12'; | |
| $les_dates{98}='2009'; $les_heures{98}='00:13'; | |
| $les_dates{99}='2009'; $les_heures{99}='00:14'; | |
| $les_dates{100}='2009'; $les_heures{100}='00:15'; | |
| $les_dates{101}='2009'; $les_heures{101}='00:16'; | |
| $les_dates{102}='2009'; $les_heures{102}='00:17'; | |
| $les_dates{103}='2009'; $les_heures{103}='00:18'; | |
| $les_dates{104}='2009'; $les_heures{104}='00:19'; | |
| $les_dates{105}='2009'; $les_heures{105}='00:20'; | |
| $les_dates{106}='2009'; $les_heures{106}='00:21'; | |
| $les_dates{107}='2009'; $les_heures{107}='00:22'; | |
| $les_dates{108}='2009'; $les_heures{108}='00:23'; | |
| $les_dates{109}='2009'; $les_heures{109}='00:24'; | |
| $les_dates{110}='2009'; $les_heures{110}='00:25'; | |
| $les_dates{111}='2009'; $les_heures{111}='00:26'; | |
| $les_dates{112}='2009-03-11'; | |
| $les_dates{113}='2009-03-12'; | |
| $les_dates{114}='2009-03-13'; | |
| $les_dates{115}='2009-03-14'; | |
| $les_dates{116}='2009-03-15'; | |
| $les_dates{117}='2009-03-16'; | |
| $les_dates{118}='2009-03-21'; | |
| $les_dates{119}='2009-03-22'; | |
| $les_dates{120}='2009-03-22'; | |
| $les_dates{121}='2009-03-23'; | |
| $les_dates{122}='2009-03-24'; | |
| $les_dates{123}='2009-03-24'; | |
| $les_dates{124}='2009-03-24'; | |
| $les_dates{126}='2009-03-25'; | |
| $les_dates{127}='2009-04-03'; | |
| $les_dates{128}='2009-04-08'; | |
| $les_dates{129}='2009-04-08'; | |
| $les_dates{130}='2009-04-09'; | |
| $les_dates{131}='2009-04-09'; | |
| $les_dates{132}='2009-04-09'; | |
| $les_dates{133}='2009-04-09'; | |
| $les_dates{134}='2009-04-11'; | |
| $les_dates{135}='2009-04-13'; | |
| $les_dates{136}='2009-04-14'; | |
| $les_dates{137}='2009-04-14'; | |
| $les_dates{138}='2009-04-15'; | |
| $les_dates{139}='2009-04-15'; | |
| $les_dates{140}='2009-04-16'; | |
| $les_dates{141}='2009-04-17'; | |
| $les_dates{142}='2009-04-19'; | |
| $les_dates{143}='2009-04-19'; | |
| $les_dates{144}='2009-04-20'; | |
| $les_dates{146}='2009-04-21'; | |
| $les_dates{147}='2009-04-22'; | |
| $les_dates{148}='2009-04-23'; | |
| $les_dates{149}='2009-04-24'; | |
| $les_dates{150}='2009-04-25'; | |
| $les_dates{151}='2009-04-26'; | |
| $les_dates{152}='2009-04-28'; | |
| $les_dates{153}='2009-04-29'; | |
| $les_dates{154}='2009-04-30'; | |
| $les_dates{155}='2009-05-04'; | |
| $les_dates{156}='2009-05-08'; | |
| $les_dates{157}='2009-05-09'; | |
| $les_dates{158}='2009-05-10'; | |
| $les_dates{159}='2009-05-11'; | |
| $les_dates{160}='2009-05-12'; | |
| $les_dates{162}='2009-05-15'; | |
| $les_dates{163}='2009-05-19'; | |
| $les_dates{164}='2009-05-20'; | |
| $les_dates{165}='2009-05-21'; | |
| $les_dates{166}='2009-05-29'; | |
| $les_dates{167}='2009-05-30'; | |
| $les_dates{168}='2009-05-31'; | |
| $les_dates{169}='2009-06-01'; | |
| $les_dates{170}='2009-06-04'; | |
| $les_dates{171}='2009-06-07'; | |
| $les_dates{172}='2009-06-08'; | |
| $les_dates{173}='2009-06-08'; | |
| $les_dates{174}='2009-06-09'; | |
| $les_dates{175}='2009-06-09'; | |
| $les_dates{176}='2009-06-10'; | |
| $les_dates{177}='2009-06-11'; | |
| $les_dates{178}='2009-06-11'; | |
| $les_dates{179}='2009-06-13'; | |
| $les_dates{181}='2009-06-18'; | |
| $les_dates{182}='2009-06-20'; | |
| $les_dates{183}='2009-06-21'; | |
| $les_dates{184}='2009-06-22'; | |
| $les_dates{185}='2009-06-22'; | |
| $les_dates{186}='2009-06-24'; | |
| $les_dates{187}='2009-07-02'; | |
| $les_dates{188}='2009-07-03'; | |
| $les_dates{189}='2009-07-16'; | |
| $les_dates{190}='2009-07-26'; | |
| $les_dates{191}='2009-08-20'; | |
| $les_dates{192}='2009-08-28'; | |
| $les_dates{193}='2009-09-01'; | |
| $les_dates{194}='2009-09-03'; | |
| $les_dates{195}='2009-09-03'; | |
| $les_dates{196}='2009-09-09'; | |
| $les_dates{197}='2009-09-11'; | |
| $les_dates{198}='2009-09-12'; | |
| $les_dates{199}='2009-09-14'; | |
| $les_dates{200}='2009-09-15'; | |
| $les_dates{201}='2009-09-18'; | |
| $les_dates{202}='2009-09-18'; | |
| $les_dates{203}='2009-09-18'; | |
| $les_dates{204}='2009-09-18'; | |
| $les_dates{205}='2009-09-21'; | |
| $les_dates{206}='2009-09-22'; | |
| $les_dates{207}='2009-10-01'; | |
| $les_dates{208}='2009-10-04'; | |
| $les_dates{210}='2009-10-10'; | |
| $les_dates{211}='2009-10-17'; | |
| $les_dates{212}='2009-10-17'; | |
| $les_dates{213}='2009-10-17'; | |
| $les_dates{214}='2009-10-18'; | |
| $les_dates{215}='2009-10-19'; | |
| $les_dates{216}='2009-10-21'; | |
| $les_dates{217}='2009-10-22'; | |
| $les_dates{218}='2009-10-23'; | |
| $les_dates{219}='2009-10-24'; | |
| $les_dates{220}='2009-10-26'; | |
| $les_dates{221}='2009-10-26'; | |
| $les_dates{222}='2009-10-29'; | |
| $les_dates{223}='2009-11-02'; | |
| $les_dates{224}='2009-11-07'; | |
| $les_dates{225}='2009-11-12'; | |
| $les_dates{1232}='2009-12-15'; | |
| $les_dates{1233}='2009-12-20'; | |
| $les_dates{1234}='2009-12-22'; | |
| $les_dates{1235}='2009-12-24'; | |
| $les_dates{1236}='2009-12-25'; | |
| $les_dates{1237}='2009-12-31'; | |
| $les_dates{1238}='2010-01-12'; | |
| $les_dates{1239}='2010-01-15'; | |
| $les_dates{1240}='2010-01-16'; | |
| $les_dates{1241}='2010-01-17'; | |
| $les_dates{1242}='2010-01-18'; | |
| $les_dates{1243}='2010-01-19'; | |
| $les_dates{1244}='2010-01-21'; | |
| $les_dates{1245}='2010-01-24'; | |
| $les_dates{1246}='2010-01-27'; | |
| $les_dates{1247}='2010-01-28'; | |
| $les_dates{1248}='2010-05-04'; | |
| $les_dates{1249}='2010-05-05'; | |
| $les_dates{1250}='2010-03-21'; | |
| $les_dates{1251}='2010-02-04'; | |
| $les_dates{1252}='2010-02-05'; | |
| $les_dates{1253}='2010-02-05'; | |
| $les_dates{1254}='2010-02-10'; | |
| $les_dates{1255}='2010-02-15'; | |
| $les_dates{1256}='2010-02-20'; | |
| $les_dates{1257}='2010-02-21'; | |
| $les_dates{1258}='2010-02-23'; | |
| $les_dates{1259}='2010-02-25'; | |
| $les_dates{1260}='2010-02-27'; | |
| $les_dates{1261}='2010-03-05'; | |
| $les_dates{1262}='2010-03-09'; | |
| $les_dates{1263}='2010-03-14'; | |
| $les_dates{1264}='2010-03-16'; | |
| $les_dates{1265}='2010-03-20'; | |
| $les_dates{1266}='2010-03-20'; | |
| $les_dates{1267}='2010-04-22'; | |
| $les_dates{1268}='2010-04-23'; | |
| $les_dates{1269}='2010-04-24'; | |
| $les_dates{1270}='2010-04-24'; | |
| $les_dates{1271}='2010-04-25'; | |
| $les_dates{1272}='2010-04-26'; | |
| $les_dates{1273}='2010-04-28'; | |
| $les_dates{1274}='2010-03-31'; | |
| $les_dates{1275}='2010-04-16'; | |
| $les_dates{1276}='2010-04-22'; | |
| $les_dates{1277}='2010-04-23'; | |
| $les_dates{1278}='2010-04-24'; | |
| $les_dates{1279}='2010-04-25'; | |
| $les_dates{1280}='2010-10-26'; | |
| $les_dates{1281}='2010-05-01'; | |
| $les_dates{1282}='2010-05-03'; | |
| $les_dates{1283}='2010-05-04'; | |
| $les_dates{1284}='2010-05-05'; | |
| $les_dates{1287}='2010-05-06'; | |
| $les_dates{1288}='2010-05-10'; | |
| $les_dates{1290}='2010-05-11'; | |
| $les_dates{1291}='2010-05-12'; | |
| $les_dates{1292}='2010-05-17'; | |
| $les_dates{1293}='2010-05-18'; | |
| $les_dates{1294}='2010-05-19'; | |
| $les_dates{1295}='2010-05-23'; | |
| $les_dates{1296}='2010-05-27'; | |
| $les_dates{1297}='2010-05-29'; | |
| $les_dates{1298}='2010-05-31'; | |
| $les_dates{1299}='2010-06-01'; | |
| $les_dates{1300}='2010-06-02'; | |
| $les_dates{1301}='2010-06-03'; | |
| $les_dates{1303}='2010-06-04'; | |
| $les_dates{1304}='2010-06-14'; | |
| $les_dates{1305}='2010-06-08'; | |
| $les_dates{1306}='2010-06-09'; | |
| $les_dates{1308}='2010-06-14'; | |
| $les_dates{1309}='2010-06-16'; | |
| $les_dates{1310}='2010-06-16'; | |
| $les_dates{1311}='2010-06-20'; | |
| $les_dates{1312}='2010-06-22'; | |
| $les_dates{1313}='2010-06-23'; | |
| $les_dates{1314}='2010-06-30'; | |
| $les_dates{1315}='2010-07-01'; | |
| $les_dates{1316}='2010-07-04'; | |
| $les_dates{1317}='2010-07-08'; | |
| $les_dates{1318}='2010-07-22'; | |
| $les_dates{1319}='2010-07-27'; | |
| $les_dates{1321}='2010-08-03'; | |
| $les_dates{1322}='2010-08-05'; | |
| $les_dates{1323}='2010-08-09'; | |
| $les_dates{1324}='2010-08-09'; | |
| $les_dates{1325}='2010-08-09'; | |
| $les_dates{1326}='2010-08-10'; | |
| $les_dates{1327}='2010-09-07'; | |
| $les_dates{1328}='2010-09-14'; | |
| $les_dates{1329}='2010-09-14'; | |
| $les_dates{1330}='2010-09-18'; | |
| $les_dates{1331}='2010-09-20'; | |
| $les_dates{1332}='2010-09-20'; | |
| $les_dates{1333}='2010-09-23'; | |
| $les_dates{1334}='2010-09-23'; | |
| $les_dates{1335}='2010-09-27'; | |
| $les_dates{1336}='2010-10-01'; | |
| $les_dates{1337}='2010-10-02'; | |
| $les_dates{1338}='2010-10-03'; | |
| $les_dates{1339}='2010-10-04'; | |
| $les_dates{1340}='2010-10-04'; | |
| $les_dates{1341}='2010-10-05'; | |
| $les_dates{1342}='2010-10-08'; | |
| $les_dates{1343}='2010-10-10'; | |
| $les_dates{1344}='2010-10-12'; | |
| $les_dates{1345}='2010-10-14'; | |
| $les_dates{1346}='2010-10-24'; | |
| $les_dates{1347}='2010-11-04'; | |
| $les_dates{1348}='2010-11-08'; | |
| $les_dates{1349}='2010-11-16'; | |
| $les_dates{1350}='2010-11-21'; | |
| $les_dates{1351}='2010-11-23'; | |
| $les_dates{1352}='2010-11-25'; | |
| $les_dates{1353}='2010-11-27'; | |
| $les_dates{1354}='2010-11-30'; | |
| $les_dates{1355}='2010-12-03'; | |
| $les_dates{1356}='2010-12-04'; | |
| $les_dates{1357}='2010-12-17'; | |
| $les_dates{1358}='2010-12-22'; | |
| $les_dates{1359}='2010-12-24'; | |
| $les_dates{1360}='2010-12-27'; | |
| $les_dates{1361}='2011-01-07'; | |
| $les_dates{1362}='2011-01-07'; | |
| $les_dates{1363}='2011-01-11'; | |
| $les_dates{1364}='2011-01-12'; | |
| $les_dates{1365}='2011-01-13'; | |
| $les_dates{1366}='2011-01-17'; | |
| $les_dates{1367}='2011-01-17'; | |
| $les_dates{1368}='2011-01-17'; | |
| $les_dates{1369}='2011-02-08'; | |
| $les_dates{1370}='2011-02-15'; | |
| $les_dates{1371}='2011-02-21'; | |
| $les_dates{1372}='2011-02-08'; | |
| $les_dates{1373}='2011-02-15'; | |
| $les_dates{1374}='2011-03-01'; | |
| $les_dates{1375}='2011-03-10'; | |
| $les_dates{1376}='2011-03-11'; | |
| $les_dates{1377}='2011-03-11'; | |
| $les_dates{1378}='2011-03-14'; | |
| $les_dates{1379}='2011-03-31'; | |
| $les_dates{1380}='2011-04-01'; | |
| $les_dates{1381}='2011-04-05'; | |
| $les_dates{1382}='2011-04-07'; | |
| $les_dates{1383}='2011-04-12'; | |
| $les_dates{1384}='2011-04-13'; | |
| $les_dates{1385}='2011-04-15'; | |
| $les_dates{1386}='2011-04-19'; | |
| $les_dates{1387}='2011-04-21'; | |
| $les_dates{1388}='2011-04-27'; | |
| $les_dates{1389}='2011-04-29'; | |
| $les_dates{1390}='2011-05-03'; | |
| $les_dates{1391}='2011-05-07'; | |
| $les_dates{1392}='2011-05-09'; | |
| $les_dates{1393}='2011-05-10'; | |
| $les_dates{1394}='2011-05-11'; | |
| $les_dates{1395}='2011-05-13'; | |
| $les_dates{1396}='2011-05-17'; | |
| $les_dates{1397}='2011-05-19'; | |
| $les_dates{1398}='2011-05-20'; | |
| $les_dates{1399}='2011-05-20'; | |
| $les_dates{1400}='2011-05-23'; | |
| $les_dates{1401}='2011-05-24'; | |
| $les_dates{1402}='2011-05-25'; | |
| $les_dates{1403}='2011-05-26'; | |
| $les_dates{1404}='2011-05-30'; | |
| $les_dates{1405}='2011-06-04'; | |
| $les_dates{1406}='2011-06-10'; | |
| $les_dates{1407}='2011-06-14'; | |
| $les_dates{1408}='2011-06-16'; | |
| $les_dates{1409}='2011-06-09'; | |
| $les_dates{1410}='2011-06-27'; | |
| $les_dates{1411}='2011-07-04'; | |
| $les_dates{1412}='2011-07-07'; | |
| $les_dates{1413}='2011-07-09'; | |
| $les_dates{1414}='2011-07-19'; | |
| $les_dates{1415}='2011-07-20'; | |
| $les_dates{1416}='2011-07-25'; | |
| $les_dates{1417}='2011-08-01'; | |
| $les_dates{1418}='2011-08-05'; | |
| $les_dates{1419}='2011-08-20'; | |
| $les_dates{1420}='2011-09-09'; | |
| $les_dates{1421}='2011-09-18'; | |
| $les_dates{1422}='2011-10-07'; | |
| $les_dates{1423}='2011-11-09'; | |
| $les_dates{1424}='2011-11-12'; | |
| $les_dates{1425}='2011-11-17'; | |
| $les_dates{1426}='2012-01-05'; | |
| $les_dates{1427}='2012-01-14'; | |
| $les_dates{1428}='2012-01-16'; | |
| $les_dates{1429}='2012-01-17'; | |
| $les_dates{1430}='2012-01-14'; | |
| $les_dates{1431}='2012-01-20'; | |
| $les_dates{1432}='2012-01-21'; | |
| $les_dates{1433}='2012-01-27'; | |
| $les_dates{1434}='2012-01-25'; | |
| $les_dates{1435}='2012-01-28'; | |
| $les_dates{1436}='2012-02-03'; | |
| $les_dates{1437}='2012-02-09'; | |
| $les_dates{1438}='2012-02-12'; | |
| $les_dates{1439}='2012-02-21'; | |
| $les_dates{1440}='2012-02-22'; | |
| $les_dates{1441}='2012-03-01'; | |
| $les_dates{1442}='2012-03-07'; | |
| $les_dates{1443}='2012-03-11'; | |
| $les_dates{1444}='2012-03-27'; | |
| $les_dates{1445}='2012-03-28'; | |
| $les_dates{1446}='2012-04-01'; | |
| $les_dates{1447}='2012-04-02'; | |
| $les_dates{1448}='2012-04-05'; | |
| $les_dates{1449}='2012-04-07'; | |
| $les_dates{1450}='2012-04-13'; | |
| $les_dates{1451}='2012-06-04'; | |
| $les_dates{1452}='2012-06-05'; | |
| $les_dates{1453}='2012-06-08'; | |
| $les_dates{1454}='2012-06-08'; | |
| $les_dates{1455}='2012-06-08'; | |
| # }}} | |
| # how to create beautiful dates | |
| sub format_date { | |
| my ($old, $id) = @_; | |
| my $date; | |
| my $heure; | |
| # if a date was specified before, keep it. | |
| if (defined $old) { | |
| $old =~ s/(\d{2})\/(\d{2})\/(\d{4})/$3-$2-$1/; | |
| $date = $old; | |
| } elsif (defined $les_dates{$id}) { | |
| $date = $les_dates{$id}; | |
| } else { | |
| $date = '0000-00-00'; | |
| } | |
| # si la date ne contient pas de tiret, alors reformater. | |
| $date = $date.'-00-00' unless $date =~ /-/; | |
| # hours | |
| if (defined $les_heures{$id}) { | |
| # il faut reformater un peu pour coller au format attendu | |
| $heure = $les_heures{$id}.':00'; | |
| } else { | |
| $heure = '12:00:00'; | |
| } | |
| return $date.' '.$heure; | |
| } | |
| # prepa cible | |
| my $sql_cible = q{ | |
| INSERT INTO spip_articles | |
| ( | |
| `id_article`, | |
| `titre`, | |
| `id_rubrique`, | |
| `texte`, | |
| `date`, | |
| `statut` | |
| ) | |
| VALUES ( | |
| ?, | |
| ?, | |
| ?, | |
| ?, | |
| ?, | |
| "publie" | |
| ) | |
| }; | |
| my $sth_cible = $dbh_cible->prepare($sql_cible); | |
| my %record; | |
| $record{id_rubrique} = 2; | |
| my $sql_lien = q{ | |
| INSERT INTO spip_auteurs_liens ( | |
| `id_auteur`, | |
| `id_objet`, | |
| `objet` | |
| ) | |
| VALUES ( | |
| 3, | |
| ?, | |
| "article" | |
| ) | |
| }; | |
| my $sth_lien = $dbh_cible->prepare($sql_lien); | |
| # select final | |
| my $sql_select = q{ | |
| SELECT id_article | |
| FROM spip_articles | |
| ORDER BY id_article DESC | |
| LIMIT 1 | |
| }; | |
| my $sth_select = $dbh_cible->prepare($sql_select); | |
| # requete source : | |
| my $sql_source = q{ | |
| SELECT * | |
| FROM blog_articles | |
| ORDER BY id_articles ASC | |
| }; | |
| my $sth_source = $dbh_source->prepare($sql_source); | |
| $sth_source->execute(); | |
| # Copying | |
| my $tmp; | |
| my $musique; | |
| $sth_select->execute(); | |
| $tmp = $sth_select->fetchrow_hashref(); | |
| my $id = $tmp->{id_article} +10; | |
| while (my $row = $sth_source->fetchrow_hashref) { | |
| $record{titre} = $row->{title_articles}; | |
| $record{titre} =~ s/é/é/g; | |
| $record{titre} =~ s/è/è/g; | |
| $record{titre} =~ s/Ã/à/g; | |
| $record{titre} =~ s/ê/ê/g; | |
| $record{titre} =~ s/àª/ê/g; | |
| $record{titre} =~ s/ë/ë/g; | |
| $record{titre} =~ s/î/î/g; | |
| $record{titre} =~ s/ï/ï/g; | |
| $record{titre} =~ s/à¯/ï/g; | |
| $record{titre} =~ s/ô/ô/g; | |
| $record{titre} =~ s/à´/ô/g; | |
| $record{titre} =~ s/ç/ç/g; | |
| $record{titre} =~ s/à§/ç/g; | |
| $record{titre} =~ s/ù/ù/g; | |
| $record{titre} =~ s/à‰/É/g; | |
| $record{titre} =~ s/»/»/g; | |
| $record{titre} =~ s/©/©/g; | |
| $record{titre} =~ s/«/«/g; | |
| $record{titre} =~ s/'/'/g; | |
| $record{titre} =~ s/àŽ/Î/g; | |
| $record{titre} =~ s/à¹/ù/g; | |
| $record{date} = format_date($row->{date}, $row->{id_articles}); | |
| if (defined $row->{nomMusique_articles} and $row->{nomMusique_articles} ne '') { | |
| $row->{nomMusique_articles} =~ s/mp3/ogg/; | |
| $row->{nomMusique_articles} = $row->{nomMusique_articles}.'.ogg' unless ($row->{nomMusique_articles} =~ /\.ogg$/ ); | |
| $musique = '<div><audio preload="none" src="http://www.partipirate.org/musique/'.$row->{nomMusique_articles}.'" style="width: 160px; height: 30px;" controls>La fonctionalité "audio" ne fonctionne qu"avec certains navigateurs.</audio><br><br> by <a href="'.$row->{lienMusique_articles}.'" target="_blank">'.$row->{titreMusique_articles}; | |
| } else { $musique = ''; } | |
| $record{texte} = $musique.'</a><img class="imageArticle" style="margin: 25px 25px 25px 25px" src="'.$row->{nomImage_articles}.'" alt="'.$row->{titreImage_articles}.'" /><br /><a href="'.$row->{lienImage_articles}.'" target="_blank">'.$row->{nomLienImage_articles}.'</a></div><p style="font-style: italic">Cet article a fait l\'objet d\'un import automatique. La date donnée par le système est approximative.</p>'.$row->{content_articles}; | |
| $record{texte} =~ s/é/é/g; | |
| $record{texte} =~ s/è/è/g; | |
| $record{texte} =~ s/Ã/à/g; | |
| $record{texte} =~ s/ê/ê/g; | |
| $record{texte} =~ s/àª/ê/g; | |
| $record{texte} =~ s/ë/ë/g; | |
| $record{texte} =~ s/î/î/g; | |
| $record{texte} =~ s/ï/ï/g; | |
| $record{texte} =~ s/ô/ô/g; | |
| $record{texte} =~ s/à´/ô/g; | |
| $record{texte} =~ s/ç/ç/g; | |
| $record{texte} =~ s/à§/ç/g; | |
| $record{texte} =~ s/ù/ù/g; | |
| $record{texte} =~ s/à‰/É/g; | |
| $record{texte} =~ s/»/»/g; | |
| $record{texte} =~ s/«/«/g; | |
| $record{texte} =~ s/'/'/g; | |
| $record{texte} =~ s/©/©/g; | |
| $record{texte} =~ s/àŽ/Î/g; | |
| $record{texte} =~ s/à¹/ù/g; | |
| # traitement des playlists | |
| $record{texte} =~ s#(xspf_player[^"]+)#http://www.partipirate.org/musique/$1#g ; | |
| $record{texte} =~ s#(playlist_url=)([^\?]+)#$1http://www.partipirate.org/musique/$2#g ; | |
| $sth_cible->execute( | |
| $id, | |
| $record{titre}, | |
| $record{id_rubrique}, | |
| $record{texte}, | |
| $record{date} | |
| ); | |
| $sth_lien->execute($id); | |
| # print ID to logfile | |
| $logfile->write("$id\n"); | |
| $logfred->write("$row->{id_articles};$id\n"); | |
| # Say what we've done | |
| print "Article $row->{id_articles} migrated (new: $id)\n"; | |
| $id++; | |
| } | |
| $logfile->close(); | |
| $logfred->close(); |
| #!/usr/bin/env perl | |
| use strict; | |
| use warnings; | |
| use IO::File; | |
| use DBI; | |
| # Migration script for french pirate party website database. | |
| # | |
| # Author : mathieu (matael) gaborit <mathieu@matael.org> | |
| # Date : july 2012 | |
| # License : WTFPL # | |
| # No warranty, feel free to use, modify, redistribute. | |
| # File to read from | |
| my $logfile_name = "log1"; | |
| my $logfile = IO::File->new($logfile_name, 'r'); | |
| print("Reading from $logfile_name\n"); | |
| ## DB CIBLE ## | |
| my %cible = ( | |
| 'host' => 'mysql2.alwaysdata.com', | |
| 'dbname' => 'testpp_spip', | |
| 'user' => 'testpp', | |
| 'pass' => 'testpp2' | |
| ); | |
| my $dbh_cible = DBI->connect("dbi:mysql:host=$cible{host};dbname=$cible{dbname}", | |
| $cible{user}, $cible{pass}, {RaiseError => 1}); | |
| ## PROCESS ## | |
| my $sql_article = q{ | |
| DELETE | |
| FROM spip_articles | |
| WHERE id_article LIKE ? | |
| }; | |
| my $sth_articles = $dbh_cible->prepare($sql_article); | |
| my $sql_lien = q{ | |
| DELETE | |
| FROM spip_auteurs_liens | |
| WHERE objet="article" | |
| AND id_objet LIKE ? | |
| }; | |
| my $sth_lien = $dbh_cible->prepare($sql_lien); | |
| # Deleting | |
| my $tmp; | |
| while (defined(my $line = $logfile->getline)) { | |
| chomp $line; | |
| # retirer de la table spip_articles | |
| $sth_articles->execute($line); | |
| # idem pour spip_auteurs_liens | |
| $sth_lien->execute($line); | |
| # Say what we've done | |
| print "Article $line removed\n"; | |
| } | |
| $logfile->close(); |
| #!/usr/bin/env perl | |
| use strict; | |
| use warnings; | |
| use IO::File; | |
| use Text::CSV; | |
| use Regexp::Common; | |
| use DBI; | |
| # Links test script | |
| # | |
| # Author : mathieu (matael) gaborit <mathieu@matael.org> | |
| # Date : july 2012 | |
| # License : WTFPL # | |
| # No warranty, feel free to use, modify, redistribute. | |
| ## DB SOURCE ## | |
| my %source = ( | |
| 'host' => 'localhost', | |
| 'dbname' => 'old', | |
| 'user' => 'root', | |
| 'pass' => 'lolilol' | |
| ); | |
| my $dbh_source = DBI->connect("dbi:mysql:host=$source{host};dbname=$source{dbname}", | |
| $source{user}, $source{pass}, {RaiseError => 1}); | |
| # requete source : | |
| my $sql_source = q{ | |
| SELECT content_articles | |
| FROM blog_articles | |
| ORDER BY id_articles ASC | |
| }; | |
| my $sth_source = $dbh_source->prepare($sql_source); | |
| $sth_source->execute(); | |
| my $d; | |
| my $uri; | |
| my @tmp; | |
| while (my $row = $sth_source->fetchrow_arrayref) { | |
| $d = @$row[0]; | |
| while ($d =~ /$RE{URI}{HTTP}{-keep}/) { | |
| $uri = $1; | |
| if (`wget --spider $uri 2> /dev/null`) { | |
| print(">>>> ".$uri.'\n'); | |
| } else { print($uri."\n")} | |
| use Data::Dumper; | |
| $d =~ s/$uri//; | |
| print("===========".$d) | |
| } | |
| } |