view lib/Slideshow/Util.pm @ 4:03ab44e80533

add make script
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Wed, 24 Jan 2018 23:23:12 +0900
parents
children e762bb571a45
line wrap: on
line source

package Slideshow::Util;
use strict;
use warnings;
use utf8;

use Carp qw/ croak /;

use base 'Exporter';
use FindBin;
use lib "$FindBin::Bin/local/lib/perl5";

use Time::Piece;
use feature 'say';
use Path::Tiny;

our @EXPORT = qw/
    new
    set_template
/;

sub set_template {
    my $template = shift;
    my $file  = path($template);
    return $file;
}

sub new {
    my ($template,$root_directory_name) = @_;
    my $root_dir = path($root_directory_name);
    my $t = localtime;

    my $day_dir = $root_dir->child($t->strftime('%Y%m%d'));
    $day_dir->mkpath;

    my $slide = $day_dir->child('slide.md');
    $slide->touch;
    #    $slide->copy($template);
    $template->copy($slide);
}

sub make_recently {

}

sub make_pinpoint {

}


sub upload {

    use Capture::Tiny;
    my ($stdout,$stderr,$exit) = capture {
        system("hg addremove");
        system("hg add");
    };

    unless($stderr){
        say $stdout;
    } else {
        croak "didn't commit";
    }

    ($stdout,$stderr,$exit) = capture {
        system('hg commit -m "auto-Update generated slides by script"');
    };

    unless($stderr){
        say "$stdout";
    } else {
        say $stderr;
        croak "didn't push";
    }
}

1;