PuQI: Remove additional points for any images above 10 images

Close #6
This commit is contained in:
2025-07-07 15:44:41 +02:00
parent d8244e62e2
commit f4276818fe
2 changed files with 99 additions and 18 deletions

View File

@ -31,6 +31,7 @@ final class MDPuqi {
private const THRESHOLD_CC_OBJECT_DESC_QUITE_LONG = 5000;
public const THRESHOLD_TAGS_TOO_MANY = 10;
public const THRESHOLD_MANY_IMAGES = 10;
public const THRESHOLD_IMG_TOO_SMALL = 600; // px
public const THRESHOLD_IMG_SMALL = 800; // px
public const THRESHOLD_IMG_GOOD_SIZE_SHORTER = 1200; // px
@ -56,8 +57,8 @@ final class MDPuqi {
private const QI_REWARD_OBJ_IS_REF_MULTIPLIER = 5;
private const QI_REWARD_OBJ_RECEPTION_MULTIPLIER = 1;
private const QI_REWARD_MARKINGS_MULTIPLIER = 3;
private const QI_REWARD_IMGS_RESOURCES_MULTIPLIER = 3;
private const QI_REWARD_IMAGE_SIZE_LARGE = 1;
public const QI_REWARD_IMGS_RESOURCES_MULTIPLIER = 3;
public const QI_REWARD_IMAGE_SIZE_LARGE = 1;
private const QI_REWARD_IMAGE_LICENCE_OPEN_ACCESS = 2;
private const QI_REWARD_IMAGE_LICENCE_OPEN_ACCESS_ATTRIBUTION = 1;
private const QI_REWARD_METADATA_LICENCE_OPEN_ACCESS = 5;
@ -87,8 +88,8 @@ final class MDPuqi {
public const QI_PENALTY_ONLY_TWO_TAG = -5;
private const QI_PENALTY_IMAGE_FILE_MISSING = -5;
private const QI_PENALTY_IMAGE_TOO_SMALL = -5;
private const QI_PENALTY_IMAGE_SMALL = -2;
public const QI_PENALTY_IMAGE_TOO_SMALL = -5;
public const QI_PENALTY_IMAGE_SMALL = -2;
private const QI_PENALTY_IMAGE_NO_OWNER_NO_LICENCE = -15;
private const QI_PENALTY_IMAGE_NO_OWNER = -10;
private const QI_PENALTY_IMAGE_NO_LICENCE = -10;
@ -780,7 +781,7 @@ final class MDPuqi {
MDPuqiCheckSection::imageCount,
MDPuqiMessageStatus::praise,
$this->_tlLoader->tl("quality", "quality", "many_images"),
self::QI_REWARD_IMGS_RESOURCES_MULTIPLIER * (min(10, $count) - 1),
self::QI_REWARD_IMGS_RESOURCES_MULTIPLIER * min(self::THRESHOLD_MANY_IMAGES, $count),
);
break;
}
@ -979,7 +980,7 @@ final class MDPuqi {
MDPuqiCheckSection::imageSizes,
MDPuqiMessageStatus::warning,
$this->_tlLoader->tl("quality", "quality", "image_too_small") . ' (' . $imgsTooSmall . ')',
self::QI_PENALTY_IMAGE_TOO_SMALL * $imgsTooSmall,
self::QI_PENALTY_IMAGE_TOO_SMALL * min($imgsTooSmall, self::THRESHOLD_MANY_IMAGES),
);
}
@ -989,7 +990,7 @@ final class MDPuqi {
MDPuqiCheckSection::imageSizes,
MDPuqiMessageStatus::warning,
$this->_tlLoader->tl("quality", "quality", "image_quite_small") . ' (' . $imgsSmall . ')',
self::QI_PENALTY_IMAGE_SMALL * $imgsSmall,
self::QI_PENALTY_IMAGE_SMALL * min($imgsSmall, self::THRESHOLD_MANY_IMAGES),
);
}
@ -999,7 +1000,7 @@ final class MDPuqi {
MDPuqiCheckSection::imageSizes,
MDPuqiMessageStatus::praise,
$this->_tlLoader->tl("quality", "quality", "image_has_good_size") . ' (' . $imgsLarge . ')',
self::QI_REWARD_IMAGE_SIZE_LARGE * $imgsLarge,
self::QI_REWARD_IMAGE_SIZE_LARGE * min($imgsLarge, self::THRESHOLD_MANY_IMAGES),
);
}
@ -1027,7 +1028,7 @@ final class MDPuqi {
if (empty($cur['rightsholder']) and empty($cur['license'])) {
$no_license_or_rightsholder++;
}
else if (empty($cur['rightsholder'])) {
else if (empty($cur['rightsholder']) && $cur['license'] !== 'Public Domain Mark') {
$no_rightsholder++;
}
else if (empty($cur['license'])) {
@ -1050,7 +1051,7 @@ final class MDPuqi {
MDPuqiCheckSection::imageLicenses,
MDPuqiMessageStatus::praise,
$this->_tlLoader->tl("quality", "quality", "open_access_licence_used") . ' (' . $license_pd . ')',
self::QI_REWARD_IMAGE_LICENCE_OPEN_ACCESS * $license_pd,
self::QI_REWARD_IMAGE_LICENCE_OPEN_ACCESS * min($license_pd, self::THRESHOLD_MANY_IMAGES),
);
}
if ($no_license_or_rightsholder) {
@ -1058,7 +1059,7 @@ final class MDPuqi {
MDPuqiCheckSection::imageLicenses,
MDPuqiMessageStatus::warning,
$this->_tlLoader->tl("quality", "quality", "no_rightsholder_no_rightsstatus") . ' (' . $no_license_or_rightsholder . ')',
self::QI_PENALTY_IMAGE_NO_OWNER_NO_LICENCE * $no_license_or_rightsholder,
self::QI_PENALTY_IMAGE_NO_OWNER_NO_LICENCE * min($no_license_or_rightsholder, self::THRESHOLD_MANY_IMAGES),
);
}
if ($no_rightsholder) {
@ -1066,7 +1067,7 @@ final class MDPuqi {
MDPuqiCheckSection::imageLicenses,
MDPuqiMessageStatus::warning,
$this->_tlLoader->tl("quality", "quality", "no_rightsholder") . ' (' . $no_rightsholder . ')',
self::QI_PENALTY_IMAGE_NO_OWNER * $no_rightsholder,
self::QI_PENALTY_IMAGE_NO_OWNER * $no_rightsholder, min(self::THRESHOLD_MANY_IMAGES),
);
}
if ($no_license) {
@ -1074,7 +1075,7 @@ final class MDPuqi {
MDPuqiCheckSection::imageLicenses,
MDPuqiMessageStatus::warning,
$this->_tlLoader->tl("quality", "quality", "no_rightsstatus") . ' (' . $no_license . ')',
self::QI_PENALTY_IMAGE_NO_LICENCE * $no_license,
self::QI_PENALTY_IMAGE_NO_LICENCE * min($no_license, self::THRESHOLD_MANY_IMAGES),
);
}
if ($license_open_access_attribution) {
@ -1082,7 +1083,7 @@ final class MDPuqi {
MDPuqiCheckSection::imageLicenses,
MDPuqiMessageStatus::praise,
$this->_tlLoader->tl("quality", "quality", "open_access_licence_used") . ' (' . $license_open_access_attribution . ')',
self::QI_REWARD_IMAGE_LICENCE_OPEN_ACCESS_ATTRIBUTION * $license_open_access_attribution,
self::QI_REWARD_IMAGE_LICENCE_OPEN_ACCESS_ATTRIBUTION * min($license_open_access_attribution, self::THRESHOLD_MANY_IMAGES),
);
}
if ($license_closed_access) {
@ -1090,7 +1091,7 @@ final class MDPuqi {
MDPuqiCheckSection::imageLicenses,
MDPuqiMessageStatus::warning,
$this->_tlLoader->tl("quality", "quality", "restrictive_licence_used") . ' (' . $license_closed_access . ')',
self::QI_PENALTY_IMAGE_LICENCE_CLOSED_ACCESS * $license_closed_access,
self::QI_PENALTY_IMAGE_LICENCE_CLOSED_ACCESS * min($license_closed_access, self::THRESHOLD_MANY_IMAGES),
);
}