view lib/Slideshow/Util.pm @ 5:e762bb571a45

gather file and direcotory method
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Wed, 24 Jan 2018 23:32:25 +0900
parents 03ab44e80533
children e35e9779078a
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;

    # ex... 2018/02/14
    my $slide = $root_dir->child($t->strftime('%Y%m%d'). '/'.'slide.md')->touchpath;
    $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;