Commit 23707105ba61bc29dac5987758a731e2575388f6
1 parent
05eeb3ec
Exists in
master
Add config.yaml
Now, repositories informations come from the config.yaml file.
Showing
4 changed files
with
23 additions
and
12 deletions
Show diff stats
README.md
lib/CoprStatus.pm
@@ -2,6 +2,7 @@ package CoprStatus; | @@ -2,6 +2,7 @@ package CoprStatus; | ||
2 | use strict; | 2 | use strict; |
3 | use warnings; | 3 | use warnings; |
4 | use JSON; | 4 | use JSON; |
5 | +use YAML::XS 'LoadFile'; | ||
5 | use Text::Template; | 6 | use Text::Template; |
6 | use LWP::UserAgent; | 7 | use LWP::UserAgent; |
7 | use LWP::Simple; | 8 | use LWP::Simple; |
@@ -10,6 +11,7 @@ $ENV{'PERL_LWP_SSL_VERIFY_HOSTNAME'} = 0; | @@ -10,6 +11,7 @@ $ENV{'PERL_LWP_SSL_VERIFY_HOSTNAME'} = 0; | ||
10 | 11 | ||
11 | # hash with repos data | 12 | # hash with repos data |
12 | our $info = {}; | 13 | our $info = {}; |
14 | +my $config = LoadFile('config.yaml'); | ||
13 | 15 | ||
14 | sub copr_monitor_url { | 16 | sub copr_monitor_url { |
15 | my ( $user, $repo ) = @_; | 17 | my ( $user, $repo ) = @_; |
@@ -62,15 +64,19 @@ sub get_copr_versions { | @@ -62,15 +64,19 @@ sub get_copr_versions { | ||
62 | 64 | ||
63 | } | 65 | } |
64 | 66 | ||
65 | -sub copr_info { | ||
66 | - my ( $user, $repo, $branch ) = @_; | ||
67 | - get_copr_versions($user, $repo); | ||
68 | - get_specs($branch); | 67 | +sub update_info { |
68 | + my $user = $config->{User}; | ||
69 | + foreach my $repo (@{$config->{Repositories}}) { | ||
70 | + get_copr_versions($user, $repo); | ||
71 | + } | ||
72 | + | ||
73 | + foreach my $branch (@{$config->{Branches}}) { | ||
74 | + get_specs($branch); | ||
75 | + } | ||
69 | } | 76 | } |
70 | 77 | ||
71 | sub compare_versions { | 78 | sub compare_versions { |
72 | - copr_info('softwarepublico', 'v4', 'stable-4.1'); | ||
73 | - copr_info('softwarepublico', 'v5', 'master'); | 79 | + update_info(); |
74 | my $match = {}; | 80 | my $match = {}; |
75 | foreach my $package (keys %{$info}) { | 81 | foreach my $package (keys %{$info}) { |
76 | if($info->{$package}->{'v5_version'} eq $info->{$package}->{git_version_master}) { | 82 | if($info->{$package}->{'v5_version'} eq $info->{$package}->{git_version_master}) { |
@@ -85,8 +91,7 @@ sub compare_versions { | @@ -85,8 +91,7 @@ sub compare_versions { | ||
85 | } | 91 | } |
86 | 92 | ||
87 | sub info2html { | 93 | sub info2html { |
88 | - copr_info('softwarepublico', 'v4', 'stable-4.1'); | ||
89 | - copr_info('softwarepublico', 'v5', 'master'); | 94 | + update_info(); |
90 | my $table_entries=""; | 95 | my $table_entries=""; |
91 | foreach my $package (keys %{$info}) { | 96 | foreach my $package (keys %{$info}) { |
92 | my $fill_v4_row; | 97 | my $fill_v4_row; |
@@ -147,8 +152,7 @@ sub serve_html { | @@ -147,8 +152,7 @@ sub serve_html { | ||
147 | }; | 152 | }; |
148 | 153 | ||
149 | sub serve_json { | 154 | sub serve_json { |
150 | - copr_info('softwarepublico', 'v4', 'stable-4.1'); | ||
151 | - copr_info('softwarepublico', 'v5', 'master'); | 155 | + update_info(); |
152 | my $json = JSON->new->allow_nonref; | 156 | my $json = JSON->new->allow_nonref; |
153 | my $json_info = $json->encode($info); | 157 | my $json_info = $json->encode($info); |
154 | return [ | 158 | return [ |
t/app.t
@@ -4,8 +4,7 @@ use Test::More; | @@ -4,8 +4,7 @@ use Test::More; | ||
4 | 4 | ||
5 | BEGIN { use_ok('CoprStatus'); } | 5 | BEGIN { use_ok('CoprStatus'); } |
6 | 6 | ||
7 | -CoprStatus::copr_info('softwarepublico', 'v4', 'stable-4.1'); | ||
8 | -CoprStatus::copr_info('softwarepublico', 'v5', 'master'); | 7 | +CoprStatus::update_info(); |
9 | 8 | ||
10 | my $info = $CoprStatus::info; | 9 | my $info = $CoprStatus::info; |
11 | 10 |