Mercurial > hg > Members > anatofuz > slides
comparison 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 |
comparison
equal
deleted
inserted
replaced
3:9175e77652b3 | 4:03ab44e80533 |
---|---|
1 package Slideshow::Util; | |
2 use strict; | |
3 use warnings; | |
4 use utf8; | |
5 | |
6 use Carp qw/ croak /; | |
7 | |
8 use base 'Exporter'; | |
9 use FindBin; | |
10 use lib "$FindBin::Bin/local/lib/perl5"; | |
11 | |
12 use Time::Piece; | |
13 use feature 'say'; | |
14 use Path::Tiny; | |
15 | |
16 our @EXPORT = qw/ | |
17 new | |
18 set_template | |
19 /; | |
20 | |
21 sub set_template { | |
22 my $template = shift; | |
23 my $file = path($template); | |
24 return $file; | |
25 } | |
26 | |
27 sub new { | |
28 my ($template,$root_directory_name) = @_; | |
29 my $root_dir = path($root_directory_name); | |
30 my $t = localtime; | |
31 | |
32 my $day_dir = $root_dir->child($t->strftime('%Y%m%d')); | |
33 $day_dir->mkpath; | |
34 | |
35 my $slide = $day_dir->child('slide.md'); | |
36 $slide->touch; | |
37 # $slide->copy($template); | |
38 $template->copy($slide); | |
39 } | |
40 | |
41 sub make_recently { | |
42 | |
43 } | |
44 | |
45 sub make_pinpoint { | |
46 | |
47 } | |
48 | |
49 | |
50 sub upload { | |
51 | |
52 use Capture::Tiny; | |
53 my ($stdout,$stderr,$exit) = capture { | |
54 system("hg addremove"); | |
55 system("hg add"); | |
56 }; | |
57 | |
58 unless($stderr){ | |
59 say $stdout; | |
60 } else { | |
61 croak "didn't commit"; | |
62 } | |
63 | |
64 ($stdout,$stderr,$exit) = capture { | |
65 system('hg commit -m "auto-Update generated slides by script"'); | |
66 }; | |
67 | |
68 unless($stderr){ | |
69 say "$stdout"; | |
70 } else { | |
71 say $stderr; | |
72 croak "didn't push"; | |
73 } | |
74 } | |
75 | |
76 1; |