summaryrefslogtreecommitdiff
path: root/test/audioboom-inspect
blob: 6e2a0e719e1c8547b973e7068f4a2a6868066455 (plain)
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
98
#!/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 attributes;
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;