key 'user' vs. 'username' don't go together...
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....
|