Skip to content
Extraits de code Groupes Projets
Valider 53893f9a rédigé par Alexandre Morignot's avatar Alexandre Morignot
Parcourir les fichiers

PlayBot::sites::parser: strict & warnings

parent 1abb7c35
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
package PlayBot::sites::parser;
use strict;
use warnings;
use PlayBot::sites::youtube;
use PlayBot::sites::soundcloud;
use PlayBot::sites::mixcloud;
......@@ -31,6 +34,10 @@ sub parse {
elsif ($msg =~ m#(^|[^!])https?://soundcloud.com/([a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+)(?:\?.+)?#) {
my $url = 'https://www.soundcloud.com/'.$2;
eval { %content = PlayBot::sites::soundcloud::get($url) };
use Data::Dumper;
print Dumper(\%content);
$content{'site'} = 'soundcloud';
}
elsif ($msg =~ m#(^|[^!])https?://www.mixcloud.com/([a-zA-Z0-9-_]+/[a-zA-Z0-9-_]+)#) {
......@@ -64,42 +71,37 @@ sub parse {
# we assume it's a new content
my $new = 1;
if ($debug) {
$log->debug($content{'url'});
}
else {
# insertion de la vidéo dans la bdd
eval {
my $sth = $dbh->prepare('
INSERT INTO playbot (type, url, sender, title, duration)
VALUES (?,?,?,?,?)
');
$log->error("Couldn't prepare querie; aborting") unless (defined $sth);
$sth->execute($content{'site'}, $content{'url'},
$content{'author'}, $content{'title'}, $content{'duration'});
};
if ($@) {
# seems to be already present in database
$new = 0;
my $sth = $dbh->prepare('
UPDATE playbot playbot SET
sender = ?,
title = ?,
duration = ?
WHERE url = ?
');
$log->error("Couldn't prepare querie; aborting") unless (defined $sth);
$sth->execute(
$content{'author'},
$content{'title'},
$content{'duration'},
$content{'url'},
);
}
}
# insertion de la vidéo dans la bdd
eval {
my $sth = $dbh->prepare('
INSERT INTO playbot (type, url, sender, title, duration)
VALUES (?,?,?,?,?)
');
$log->error("Couldn't prepare querie; aborting") unless (defined $sth);
$sth->execute($content{'site'}, $content{'url'},
$content{'author'}, $content{'title'}, $content{'duration'});
};
if ($@) {
# seems to be already present in database
$new = 0;
my $sth = $dbh->prepare('
UPDATE playbot playbot SET
sender = ?,
title = ?,
duration = ?
WHERE url = ?
');
$log->error("Couldn't prepare querie; aborting") unless (defined $sth);
$sth->execute(
$content{'author'},
$content{'title'},
$content{'duration'},
$content{'url'},
);
}
# sélection de l'id de la vidéo insérée
my $sth = $dbh->prepare('SELECT id FROM playbot WHERE url = ?');
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter