Add some temporary description trimming
This commit is contained in:
parent
09e754adb9
commit
f33d5af2fd
16
push.pl
16
push.pl
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue