checkpoint

This commit is contained in:
2020-04-30 13:33:30 -04:00
parent 19a9fc06ba
commit 9bc522180d
21 changed files with 337 additions and 276 deletions

View File

@@ -12,15 +12,37 @@ namespace Samples
[Example("installed")]
internal class Installed : IExample
{
private static string ModToStr(Depend.ModType modType)
{
return modType switch
{
Depend.ModType.Any => "",
Depend.ModType.Equal => "==",
Depend.ModType.GreaterThanOrEqual => ">=",
Depend.ModType.LessThanOrEqual => "<=",
Depend.ModType.GreaterThan => ">",
Depend.ModType.LessThan => "<",
_ => throw new ArgumentOutOfRangeException(nameof(modType), modType, null)
};
}
public int Run(string[] args)
{
using var h = new Handle("/", "/var/lib/pacman");
using var db = h.LocalDB;
foreach (var pkg in db.PackageCache)
foreach (var pkg in db.CachePackageCache)
using (pkg)
{
Console.WriteLine("{0} {1}", pkg.Name, pkg.Version);
Console.WriteLine($"Size: {pkg.DownloadSize}");
foreach (var d in pkg.OptDepends)
{
if (d.Description.Length == 0) continue;
Console.WriteLine("dep({0}): {1} {2} {3} {4}", pkg.Name, d.Name, ModToStr(d.Mod), d.Version,
d.Description);
foreach (var f in pkg.Backup)
Console.WriteLine($"{f.Name} {f.Hash}");
}
}
return 0;
@@ -34,10 +56,10 @@ namespace Samples
{
using var h = new Handle("/", "/var/lib/pacman");
using var db = h.RegisterSyncDB("core");
db.Servers = new[]{"http://www.google.com"};
db.Servers = new[] {"http://www.google.com"};
db.Update(true);
foreach (var pkg in db.PackageCache)
foreach (var pkg in db.CachePackageCache)
using (pkg)
{
Console.WriteLine("{0} {1} {2}", pkg.Name, pkg.Version, pkg.Description);