From: Nick J. <nje...@us...> - 2002-02-18 10:28:17
|
Update of /cvsroot/sandweb/sandweb/lib/SandWeb In directory usw-pr-cvs1:/tmp/cvs-serv2325/lib/SandWeb Modified Files: Config.pm Log Message: * beginning to encapsulate config data. * created add_module_entry to Config class * converted getting repo lists & getting module lists to methods Index: Config.pm =================================================================== RCS file: /cvsroot/sandweb/sandweb/lib/SandWeb/Config.pm,v retrieving revision 1.14 retrieving revision 1.15 diff -U2 -r1.14 -r1.15 --- Config.pm 13 Feb 2002 09:19:03 -0000 1.14 +++ Config.pm 18 Feb 2002 10:28:14 -0000 1.15 @@ -64,3 +64,87 @@ } + +# returns list of subscribed repositories +sub get_repo_list { + my $self = shift; + return sort keys %{$self->{'repo'}}; +} + +# returns true if repository exists, 0 if not. +# +# repo = name of repository to check for +# +sub repository_exists { + my $self = shift; + my %args = @_; + my $repo_name = $args{'repo'}; + my @repo_list = $self->get_repo_list(); + foreach my $repo (@repo_list) { + if ($repo eq $repo_name) { + return 1; + } + } + return 0; +} + + +############################################################################# +############################################################################# +# Module Stuff +# +# + + +# returns list of subscribed modules +# args: +# +# repo = name of repository to get list of subscribed modules. +# +sub get_module_list { + my $self = shift; + my %args = @_; + my $repo_name = $args{'repo'}; + return '' if (!$repo_name); + return sort keys %{$self->{'repo'}->{$repo_name}->{'module'}}; +} + + +# returns true if module exists, 0 if not. +# +# module = name of module to check for +# +sub module_exists { + my $self = shift; + my %args = @_; + my $module_name = $args{'module_name'}; + my @module_list = $self->get_module_list(); + foreach my $module (@module_list) { + if ($module eq $module_name) { + return 1; + } + } + return 0; +} + +sub add_module_entry { + my $self = shift; + my %args = @_; + my $repo = $args{'repo'}; + my $module = $args{'module'}; + my $module_desc = $args{'module_desc'}; + if ($self->repository_exists()) { + if (!$self->module_exists()) { + $self->{'repo'}->{$repo}->{'module'}->{$module}->{'desc'} = $module_desc; + $self->{'repo'}->{$repo}->{'module'}->{$module}->{'name'} = $module; + } else { + $self->{'log_obj'}->("module '$module' already exists for repository '$repo'.\n"); + return 0; + } + } else { + $self->{'log_obj'}->("repository '$repo' already exists.\n"); + return 0; + } + return 1; +} + 1; |