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;
|