aocinit

Perl utility to initialize directories and files for the Advent of Code
git clone git://git.samirparikh.com/aocinit
Log | Files | Refs | README

commit 6f5a2e4f85fc5cb2113a837bb63ea7d7f1c50eb5
parent 0a2a047335c9536c70a828306f46b27589db16c3
Author: Samir Parikh <noreply@samirparikh.com>
Date:   Mon, 19 Dec 2022 21:01:27 +0000

refactor creation of boilerplate file into separate subroutine

Diffstat:
Maocinit | 29++++++++++++++++++++++-------
1 file changed, 22 insertions(+), 7 deletions(-)

diff --git a/aocinit b/aocinit @@ -21,6 +21,9 @@ my $HOME = File::HomeDir->my_home; # User-defined constants ##################################################### my $PATH_FROM_HOME = "programs"; my $DIR_PREFIX = "zaoc_20"; +# store your browser cookie session ID in the environment variable +# `SESSIONID`: +# $ export SESSIONID="8374....907d" ############################################################################## # @@ -59,11 +62,11 @@ sub create_day_subdirectory { say "$day_subdir already exists."; } else { say "creating $day_subdir..."; - mkdir $day_subdir, 0755 or warn "Cannot create directory $day_subdir: $!"; + mkdir $day_subdir, 0755 or die "Cannot create directory $day_subdir: $!"; } } -sub create_boilerplate { +sub read_boilerplate { my ( $year, $day ) = @_; say "received $year and $day"; ( my $boilerplate = qq[ @@ -81,14 +84,26 @@ sub create_boilerplate { return $boilerplate; } +sub create_boilerplate_file { + my ( $day_file, $boilerplate ) = @_; + open my $bp_file, '>', $day_file; + say $bp_file $boilerplate; + close $bp_file; +} + my ( $year, $day ) = process_arguments( \@ARGV ); my $year_directory = "$HOME/$PATH_FROM_HOME/$DIR_PREFIX$year"; my $day_subdir = catfile( $year_directory, "day" . $day ); my $day_file = catfile( $day_subdir, "day". $day . ".pl" ); -my $boilerplate = create_boilerplate( $year, $day ); +my $boilerplate = read_boilerplate( $year, $day ); -create_year_directory( $year_directory ); +create_year_directory ( $year_directory ); create_day_subdirectory( $day_subdir ); -open my $bp_file, '>', $day_file; -say $bp_file $boilerplate; -close $bp_file; +create_boilerplate_file( $day_file, $boilerplate ); + +open my $secret_fh, '<', '/home/compiler/programs/aoc_download/secret'; +chomp( my $secret = <$secret_fh> ); +close $secret_fh; +say $secret; + +say $ENV{SESSIONID};