1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
#!/usr/bin/perl -w
#
#
# rhautoimport
#
# Copyright (C) 2009-2016 Christian Pointner <equinox@helsinki.at>
#
# This file is part of rhautoimport.
#
# rhautoimport is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# any later version.
#
# rhautoimport is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with rhautoimport. If not, see <http://www.gnu.org/licenses/>.
#
use strict;
use Date::Calc;
use URI::URL;
use HTML::Entities;
use lib '../../rhrdlibs/lib/';
use lib '../';
use rhautoimport;
use Data::Dumper::Simple;
if($#ARGV != 0) {
print "Usage: audioboom-inspect <user-id>\n";
exit 1;
}
my $API_URL = "https://api.audioboom.com/users/" . $ARGV[0] . "/audio_clips";
binmode(STDIN, ":utf8");
binmode(STDOUT, ":utf8");
binmode(STDERR, ":utf8");
my %h = ( 'Accept' => 'application/json; version=1' );
my ($result, $data) = RHRD::utils::fetch_parse_json($API_URL, "Radio Helsinki - Automatic Import", \%h);
unless ($result) {
print "Error fetching data: $data\n";
exit 1;
}
my @clips = @{$data->{'body'}{'audio_clips'}};
my $uri = "";
my $file = "";
my $sum_title = "";
my $sum_text = "";
my $i = 0;
for my $clip (@clips) {
$i++;
$sum_title = decode_entities($clip->{title});
if (defined $clip->{description}) {
$sum_text = decode_entities($clip->{description});
} else {
$sum_text = '<unset>';
}
my $orig_uri = $clip->{urls}{high_mp3};
next unless $orig_uri;
my $duration = $clip->{duration};
$duration = 0 unless (defined $duration);
my $size = $clip->{mp3_filesize};
$size = 0 unless (defined $size);
my @tags = @{$clip->{tags}};
my $recorded = $clip->{recorded_at};
$recorded = '<unset>' unless (defined $recorded);
my $uploaded = $clip->{uploaded_at};
$uploaded = '<unset>' unless (defined $uploaded);
$uri = new URI::URL($orig_uri);
my @path = $uri->path_components;
$file = $path[-1];
print $clip->{title} . ":\n";
# print " Description: " . $sum_text . "\n";
print " Recorded: " . $recorded . "\n";
print " Uploaded: " . $uploaded . "\n";
print " Tags: " . join(", ", @tags) . "\n";
print " Files:\n 1: (audio/mpeg, " . $size . ") " . $file . "\n";
print "\n";
}
exit 0;
|