Add some temporary description trimming

This commit is contained in:
Tianon Gravi 2015-08-12 10:44:32 -07:00
parent 09e754adb9
commit f33d5af2fd
1 changed files with 14 additions and 2 deletions

16
push.pl
View File

@ -13,6 +13,9 @@ use Mojo::Util qw(decode encode slurp spurt trim);
use Term::UI;
use Term::ReadLine;
my $hubLengthLimit = 5000;
my $githubBase = 'https://github.com/docker-library/docs/tree/master';
my $username;
my $password;
my $batchmode;
@ -50,11 +53,20 @@ die 'user failed' unless $userData->success;
$userData = $userData->res->json;
sub prompt_for_edit {
my ($currentText, $proposedFile) = @_;
my $currentText = shift;
my $proposedFile = shift;
my $lengthLimit = shift // 0;
my $proposedText = slurp $proposedFile or warn 'missing ' . $proposedFile;
$proposedText = trim(decode('UTF-8', $proposedText));
if ($lengthLimit > 0 && length($proposedText) > $lengthLimit) {
# TODO https://github.com/docker/hub-beta-feedback/issues/238
my $fullUrl = "$githubBase/$proposedFile";
my $note = "**Note:** the description for this image is longer than the Hub length limit of $lengthLimit, so has been trimmed. The full description can be found at [$fullUrl]($fullUrl). See [docker/hub-beta-feedback#238](https://github.com/docker/hub-beta-feedback/issues/238) for more information.\n\n";
$proposedText = $note . substr $proposedText, 0, ($lengthLimit - length($note));
}
return $currentText if $currentText eq $proposedText;
my @proposedFileBits = fileparse($proposedFile, qr!\.[^.]*!);
@ -108,7 +120,7 @@ while (my $repo = shift) { # '/library/hylang', '/tianon/perl', etc
my $repoDetails = $repoTx->res->json;
my $hubShort = prompt_for_edit($repoDetails->{description}, $repoName . '/README-short.txt');
my $hubLong = prompt_for_edit($repoDetails->{full_description}, $repoName . '/README.md');
my $hubLong = prompt_for_edit($repoDetails->{full_description}, $repoName . '/README.md', $hubLengthLimit);
say 'no change to ' . $repoName . '; skipping' and next if $repoDetails->{description} eq $hubShort and $repoDetails->{full_description} eq $hubLong;