- Timestamp:
- 2015-01-09T13:33:16+13:00 (9 years ago)
- Location:
- main/trunk/package-kits/scripts/perllib/Greenstone
- Files:
-
- 2 added
- 1 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/package-kits/scripts/perllib/Greenstone/Site.pm
r29676 r29677 4 4 use warnings; 5 5 use utf8; 6 use base 'Exporter'; 7 8 use Greenstone::Config; 9 use XML::Tidy; 10 11 our $VERSION = 1.00; 12 our @EXPORT = ( ); 6 use Greenstone::Directory; 7 use Greenstone::XML::Tidy; 8 use parent 'Greenstone::Directory'; 9 10 my $dir = "sites"; 11 12 sub new { 13 return Greenstone::Directory::new ($dir, @_); 14 } 15 16 sub list { 17 return Greenstone::Directory::list $dir; 18 } 19 13 20 my $configTemplate; 14 15 sub new {16 my ($class, $name, %args) = @_;17 ref $class and die "Constructor used as object method\n";18 defined $name or die "A site must have a name\n";19 my $self = bless (20 {21 name => $name,22 },23 $class24 );25 for my $param (keys %args) {26 $self->{$param} = $args{$param};27 }28 return $self;29 }30 31 sub list {32 ref shift and die "Static method called on object\n";33 my $sites = {};34 my $dir = "$Greenstone::Config::GSDL3HOME/sites";35 opendir DH, $dir or die "Could not open sites directory '$dir'\n";36 while (my $site = readdir DH) {37 # skip hidden files and current/parent directory38 $site =~ /^\./ and next;39 # skip non-directories40 -d "$dir/$site" or next;41 # We don't really need to store anything more than the fact that the site exists42 # So we just store nothing, which is enough to put the key in the hash43 # (i.e. it acts as a hashset)44 $sites->{$site} = ();45 }46 closedir DH;47 return $sites;48 }49 50 sub exists {51 my $self = shift;52 my $sites = list;53 return exists $sites->{$self->{name}};54 }55 21 56 22 sub create { 57 23 my $self = shift; 58 $self->exists and return 0; 59 my $dir = "$Greenstone::Config::GSDL3HOME/sites/$self->{name}"; 60 mkdir $dir or die "Failed to create site directory: $!\n"; 24 $self->SUPER::create or return 0; 25 my $dir = $self->dir; 61 26 mkdir "$dir/collect" or die "Failed to create collections directory: $!\n"; 62 27 open FH, '>', "$dir/siteConfig.xml" or die "Failed to create site config: $!\n"; … … 497 462 }; 498 463 464 1; -
main/trunk/package-kits/scripts/perllib/Greenstone/XML/Tidy.pm
r29676 r29677 1 package XML::Tidy;1 package Greenstone::XML::Tidy; 2 2 3 3 use strict;
Note:
See TracChangeset
for help on using the changeset viewer.