blob: 1f7f546d6874c45ccc41df6c610b227e00f7edc9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#!/usr/bin/perl
use strict;
use warnings;
use Moose::Util::TypeConstraints qw( find_type_constraint );
use Piny;
my ( $batch, $name );
if ( $ARGV[0] eq "--batch" ) {
( $batch, $name ) = @ARGV;
} else {
( $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";
if ( defined $batch ) {
exit;
};
next;
};
print "Okay! Working, please wait...\n";
last;
};
my $repo = Piny::Repo->create( $name, $description );
print "Repo URL: " . $repo->ikiwiki_url . "\n";
|