summaryrefslogtreecommitdiff
path: root/get.pl
blob: 83327f978cc5a465c18b37bb908730dd22468531 (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
#!/usr/bin/perl

$SIG{TERM} = $SIG{INT} = sub { exit 1 };

sub sanitize ($) {
  my $s = lc shift;
  $s =~ s/\.[^.]+$//g;
  $s =~ s/\W//g;
  $s =~ s/\s+/_/g;
  if (length($s) == 0) {
    print "fn is empty";
    exit(1);
  }
  $s =~ s/_+/_/g;
  return $s;
}

my ($module, $url) = @ARGV;
 
if (not defined $module || not defined $url || $s !~ /^http/) {
  die "usage: ./get.pl pix2pix http://...\n";
}

mkdir("$module/");
mkdir("$module/sequences/");
chdir("$module/sequences/");

my $fn, $new_fn;

# ZIP file of spectrograms >:)
if ($s =~ /(zip)$/i) {
  $s =~ s/^\s+//;
  $s =~ s/\s+$//;
  my $fn = `basename $s`;
  $clean_fn = $fn;
  $clean_fn =~ s/-/_/g;
  $clean_fn =~ s/^\s//;
  $clean_fn =~ s/\s$//;
  $clean_fn =~ s/\s/_/g;
  $clean_fn =~ s/_+/_/g;
  system('rm', $fn);
  system('rm', $clean_fn);
  print "downloading $clean_fn\n";
  system('wget', '-O', $clean_fn, $s);
  system('unzip', '$clean_fn');
  $fn = $clean_fn;
}
elsif ($s =~ /(mov|mp4|webm|avi|mpe?g)$/i) {
  $s =~ s/^\s+//;
  $s =~ s/\s+$//;
  my $fn = `basename $s`;
  $clean_fn = $fn;
  $clean_fn =~ s/-/_/g;
  $clean_fn =~ s/^\s//;
  $clean_fn =~ s/\s$//;
  $clean_fn =~ s/\s/_/g;
  $clean_fn =~ s/_+/_/g;
  system('rm', $fn);
  system('rm', $clean_fn);
  print "downloading $clean_fn\n";
  system('wget', '-O', $clean_fn, $s);
  $fn = $clean_fn;
}
else {
  print "youtube-dl $s\n";
  my $yt = `youtube-dl -o "%(title)s.%(ext)s" $s`;
  my @partz = split("\n", $yt);
  foreach $part (@partz) {
    if ($part =~ /\[ffmpeg\] Destination\: ([^)]+)$/) {
      $fn = $1;
    }
  }
  if ($fn) {
    my $tag = sanitize($fn);
    mkdir('$tag');
    system('ffmpeg', '-i', $fn, './sequences/' . $module . '/' . $tag . '/frame_%05d.png');
    print "created_dataset: $tag\n";
    # $new_fn
  }
}

my $tag = sanitize($fn);
open(my $fd, ">>../run_slap.sh");
print $fd "standard $tag\n";
close $fn;

$fn = undef;

END {
  chdir('../..');
}