summaryrefslogtreecommitdiff
path: root/get.pl
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-06-07 00:46:37 +0200
committerJules Laplace <julescarbon@gmail.com>2018-06-07 00:46:37 +0200
commite76bb4fc2a6e7b83d1a2b7b16b6a363638177cd9 (patch)
treedf54fc2e2c03fff83b7fa5242e23ff7ee78fd44c /get.pl
parentb03e91783d9074454fb0073a3965e1b5dda9a83f (diff)
get script
Diffstat (limited to 'get.pl')
-rw-r--r--get.pl92
1 files changed, 92 insertions, 0 deletions
diff --git a/get.pl b/get.pl
new file mode 100644
index 0000000..83327f9
--- /dev/null
+++ b/get.pl
@@ -0,0 +1,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('../..');
+}
+