in reply to Re^4: git-push target for Makefile (via ExtUtils::MakeMaker)
in thread git-push target for Makefile (via ExtUtils::MakeMaker)
Du hast ein ganz genaues Auge, soonix, vielen Dank. I realize that I'm still nibbling at the edges of this topic, but sometimes I can't get going north and south until I get past some bonehead thing that someone else can better see. I removed the variable for login. For people like me who like to use Config::Tiny, this would be determined in the ini file.
#!/usr/bin/perl use 5.011; use warnings; # original by bliako on 27/05/2019 PM node_id=11100309 # values imported by Config::Tiny by Aldebaran # repo_name supplied to STDIN use Net::GitHub; use Data::Dumper; use Config::Tiny; my $ini_path = qw( /home/bob/Documents/html_template_data/3.values.ini + ); say "ini path is $ini_path"; my $sub_hash = "my_github"; my $Config = Config::Tiny->new; $Config = Config::Tiny->read( $ini_path, 'utf8' ); say Dumper $Config; my $user = $Config->{$sub_hash}{'username'}; my $pass = $Config->{$sub_hash}{'password'}; print "$0 : enter value for reponame: "; my $repo_name = <STDIN>; chomp($repo_name); my $git = Net::GitHub->new( login => $user, pass => $pass ); say "username is $user"; my $reposinfo = $git->repos->list($user); print Dumper($reposinfo); my %reposlist = map { lc $_->{'full_name'} =~ s|^${user}/||r => $_ } @$reposinfo; print "Repos: " . join( ",", keys %reposlist ) . "\n"; if ( !defined $reposlist{ lc $repo_name } ) { print "$0 : creating new repository '$repo_name' ...\n"; my $ret = undef; eval { $ret = $git->repos->create( { name => $repo_name, description => "change this to suit", } ); }; if ($@) { print STDERR "$0 : failed to create repository '$repo_name' : $@\n +"; exit(1); } } __END__
What is happening with this snippet?
my %reposlist = map { lc $_->{'full_name'} =~ s|^${user}/||r => $_ } @$reposinfo; print "Repos: " . join( ",", keys %reposlist ) . "\n";
The output is pretty clear but rather verbose:
'created_at' => '2019-02-26T07:24:14Z', 'keys_url' => 'https://api.github.com/repos/TBlazer66/SSCC +E/keys{/key_id}', 'subscribers_url' => 'https://api.github.com/repos/TBlazer +66/SSCCE/subscribers', 'branches_url' => 'https://api.github.com/repos/TBlazer66/ +SSCCE/branches{/branch}', 'releases_url' => 'https://api.github.com/repos/TBlazer66/ +SSCCE/releases{/id}',
Now I'm going to try to tackle the code in the original post....
|
|---|