diff options
author | Joe Rayhawk <jrayhawk@richardiv.omgwallhack.org> | 2010-10-30 07:31:35 -0700 |
---|---|---|
committer | Joe Rayhawk <jrayhawk@richardiv.omgwallhack.org> | 2010-10-30 07:31:35 -0700 |
commit | c952a7e6d5e66e2ecd653bb5c177609b59619808 (patch) | |
tree | d2be5d0dee505ae00c4b85a5f4129efc2456d5f6 /pinyadmin/sbin/newrepo | |
parent | d03e1eb495c79c19dc70bbe8eab81eadce98210a (diff) | |
parent | 79c284badd015f88d8fd42d941e30bca70dd4eb9 (diff) | |
download | piny-code-c952a7e6d5e66e2ecd653bb5c177609b59619808.tar.gz piny-code-c952a7e6d5e66e2ecd653bb5c177609b59619808.zip |
Merge branch 'master' of piny.be:/srv/git/piny-code
Diffstat (limited to 'pinyadmin/sbin/newrepo')
-rwxr-xr-x | pinyadmin/sbin/newrepo | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/pinyadmin/sbin/newrepo b/pinyadmin/sbin/newrepo new file mode 100755 index 0000000..a178ecb --- /dev/null +++ b/pinyadmin/sbin/newrepo @@ -0,0 +1,40 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use Moose::Util::TypeConstraints qw( find_type_constraint ); + +use Piny; + +my ( $name ) = @ARGV; + +if ( not defined $name ) { + print "Usage: newrepo REPONAME\n"; + exit 1; +}; + +if ( not find_type_constraint( "Reponame" )->check( $name ) ) { + print "That is not a valid repo name; must be at least 1 character long, begin with a lowercase alphanumeric character, and contain only alphanumeric characters and dashes.\n"; + exit 1; +}; + +my $description; +while( 1 ) { + + print "Provide a one-line description to be used in repo listings, the shorter the better:\n"; + chomp( $description = <STDIN> ); + + if ( not find_type_constraint( "SimpleText" )->check( $description ) ) { + print "Must be 1-80 characters long; control characters (including tab) not allowed.\n"; + next; + }; + + print "Okay! Working, please wait...\n"; + last; + +}; + +my $repo = Piny::Repo->create( $name, $description ); + +print "Repo URL: " . $repo->ikiwiki_url . "\n"; |