]> Sergey Matveev's repositories - meta4ra.git/commitdiff
Useless -meta4, as it is required anyway v1.0.0
authorSergey Matveev <stargrave@stargrave.org>
Tue, 17 Feb 2026 07:45:57 +0000 (10:45 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Tue, 17 Feb 2026 07:47:03 +0000 (10:47 +0300)
README
cmd/check.go
cmd/list.go

diff --git a/README b/README
index a3fec86befa06db231a9e7ab419d3527bbbb8fbb..19854510c508391edd1d1f6dde61d10a58c2b3e8 100644 (file)
--- a/README
+++ b/README
@@ -22,13 +22,13 @@ Example attempt to download .meta4's file from Russia-based location as
 most preferred, with fallback to Europe continent, leaving location-less
 next, randomising remaining:
 
-    fn=$(meta4ra-list -meta4 .meta4 | head -1)
-    size=$(meta4ra-list -meta4 .meta4 -size $fn)
-    meta4ra-list -meta4 .meta4 $fn |
+    fn=$(meta4ra-list .meta4 | head -1)
+    size=$(meta4ra-list -size .meta4 $fn)
+    meta4ra-list .meta4 $fn |
     meta4ra-url-sort ru c:eu "" rand |
     while read url ; do
         meta4ra-dl -size $size -progress "$url" |
-        meta4ra-check -meta4 .meta4 -pipe $fn >$fn || {
+        meta4ra-check -pipe .meta4 $fn >$fn || {
             rm $fn
             continue
         }
index 560936c784e59118b490ad39dcda9407db987cb2..8e95b9cefb464fad35be840d6f06fbb94c3dd3ff 100644 (file)
@@ -35,10 +35,9 @@ func runCheck() {
        allHashes := flag.Bool("all-hashes", false, "Check all hashes, not the first common one")
        hashes := flag.String("hashes", meta4ra.HashesDefault,
                "hash-name:commandline[,...]")
-       metaPath := flag.String("meta4", "file.meta4", "Metalink file")
        flag.Usage = func() {
                fmt.Fprintf(flag.CommandLine.Output(),
-                       "Usage: %s [options] [FILE ...]\n", os.Args[0])
+                       "Usage: %s [options] FILE.meta4 [FILE ...]\n", os.Args[0])
                flag.PrintDefaults()
                fmt.Fprint(flag.CommandLine.Output(), `
 If no FILEs are specified, then all <file>s from metalink are searched and
@@ -58,9 +57,13 @@ format, then you can just specify an empty ("") FILE.
                return
        }
 
+       if flag.NArg() < 1 {
+               flag.Usage()
+               os.Exit(1)
+       }
        var meta meta4ra.Metalink
        {
-               data, err := os.ReadFile(*metaPath)
+               data, err := os.ReadFile(flag.Arg(0))
                if err != nil {
                        log.Fatal(err)
                }
@@ -71,7 +74,7 @@ format, then you can just specify an empty ("") FILE.
        }
 
        toCheck := make(map[string]string)
-       for _, fn := range flag.Args() {
+       for _, fn := range flag.Args()[1:] {
                toCheck[path.Base(fn)] = fn
        }
        if *pipe && len(toCheck) != 1 {
index 73757e84be35da5db5c19dfb5112a9d2ff05ff03..45a3640f2707919e648026a7a6f8f486f0db684b 100644 (file)
@@ -28,12 +28,11 @@ import (
 )
 
 func runList() {
-       metaPath := flag.String("meta4", "file.meta4", "Metalink file")
        doSize := flag.Bool("size", false, "Print file's size")
        doSig := flag.Bool("sig", false, "Extract signature files")
        flag.Usage = func() {
                fmt.Fprintf(flag.CommandLine.Output(),
-                       "Usage: %s [options] [FILE]\n", os.Args[0])
+                       "Usage: %s [options] FILE.meta4 [FILE]\n", os.Args[0])
                flag.PrintDefaults()
                fmt.Fprint(flag.CommandLine.Output(), `
 If FILE is not specified, then list all files of .meta4.
@@ -51,9 +50,13 @@ Otherwise list all URLs of the given FILE.
                return
        }
 
+       if flag.NArg() < 1 {
+               flag.Usage()
+               os.Exit(1)
+       }
        var meta meta4ra.Metalink
        {
-               data, err := os.ReadFile(*metaPath)
+               data, err := os.ReadFile(flag.Arg(0))
                if err != nil {
                        log.Fatal(err)
                }
@@ -65,7 +68,7 @@ Otherwise list all URLs of the given FILE.
 
        bad := false
        for _, f := range meta.Files {
-               if flag.NArg() == 0 {
+               if flag.NArg() == 1 {
                        for _, sig := range f.Signature {
                                if !*doSig {
                                        continue
@@ -91,7 +94,7 @@ Otherwise list all URLs of the given FILE.
                        }
                        fmt.Println(f.Name)
                } else {
-                       if f.Name != flag.Arg(0) {
+                       if f.Name != flag.Arg(1) {
                                continue
                        }
                        if *doSize {
@@ -99,7 +102,7 @@ Otherwise list all URLs of the given FILE.
                                break
                        }
                        for _, u := range f.URLs {
-                               fmt.Printf("%d|%s|%s\n", u.Priority, u.Location, u.URL)
+                               fmt.Println(u.String())
                        }
                        break
                }