aboutsummaryrefslogtreecommitdiff
path: root/meta/torrent.go
diff options
context:
space:
mode:
Diffstat (limited to 'meta/torrent.go')
-rw-r--r--meta/torrent.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/meta/torrent.go b/meta/torrent.go
index ecb0c02..12aa26e 100644
--- a/meta/torrent.go
+++ b/meta/torrent.go
@@ -4,7 +4,10 @@ package meta
import (
"fmt"
+ "io/ioutil"
"time"
+
+ "dim13.org/btget/bencode"
)
type Nodes map[string]int // Host:Port
@@ -31,3 +34,16 @@ func (t Torrent) String() string {
s += fmt.Sprintf("info hash: % x", t.InfoHash)
return s
}
+
+func Open(fname string) (Torrent, error) {
+ var tor Torrent
+ body, err := ioutil.ReadFile(fname)
+ if err != nil {
+ return Torrent{}, err
+ }
+ err = bencode.Unmarshal(body, &tor)
+ if err != nil {
+ return Torrent{}, err
+ }
+ return tor, nil
+}