mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-12-18 18:11:37 +08:00
update:输出软件包大小
This commit is contained in:
@@ -22,15 +22,46 @@ QStringList aptssUpdater::getUpdateablePackages()
|
||||
|
||||
while (!stream.atEnd()) {
|
||||
QString line = stream.readLine();
|
||||
QRegularExpression regex(R"((\S+)/\S+\s+\S+\s+\S+\s+\[可从该版本升级:(.+)\])");
|
||||
QRegularExpression regex(R"((\S+)/\S+\s+(\S+)\s+\S+\s+\[可从该版本升级:(.+)\])");
|
||||
QRegularExpressionMatch match = regex.match(line);
|
||||
|
||||
if (match.hasMatch()) {
|
||||
QString packageName = match.captured(1);
|
||||
QString updateDetails = match.captured(2);
|
||||
packageDetails << QString("%1: %2").arg(packageName, updateDetails);
|
||||
QString currentVersion = match.captured(2);
|
||||
QString updateVersion = match.captured(3);
|
||||
packageDetails << QString("%1 (%2 -> %3)").arg(packageName, currentVersion, updateVersion);
|
||||
}
|
||||
}
|
||||
|
||||
return packageDetails;
|
||||
}
|
||||
QStringList aptssUpdater::getPackageSizes()
|
||||
{
|
||||
QStringList packageSizes;
|
||||
QProcess process;
|
||||
process.start("bash", QStringList() << "-c" << "aptss upgrade --assume-no");
|
||||
|
||||
// 自动回复 "n" 以跳过交互式提示
|
||||
if (process.waitForStarted()) {
|
||||
process.write("n\n");
|
||||
}
|
||||
|
||||
process.waitForFinished();
|
||||
|
||||
QString output = process.readAllStandardOutput();
|
||||
QTextStream stream(&output);
|
||||
|
||||
while (!stream.atEnd()) {
|
||||
QString line = stream.readLine();
|
||||
QRegularExpression regex(R"((\S+)\s+\S+\s+(\d+(?:\.\d+)?(?:KiB|MiB)))");
|
||||
QRegularExpressionMatch match = regex.match(line);
|
||||
|
||||
if (match.hasMatch()) {
|
||||
QString packageName = match.captured(1);
|
||||
QString packageSize = match.captured(2);
|
||||
packageSizes << QString("%1: %2").arg(packageName, packageSize);
|
||||
}
|
||||
}
|
||||
|
||||
return packageSizes;
|
||||
}
|
||||
Reference in New Issue
Block a user