From 67b483e2818d644735ef66a62d65d89360c9e8ab Mon Sep 17 00:00:00 2001 From: Marcin Kulik Date: Sun, 21 Feb 2016 20:23:00 +0100 Subject: [PATCH] Improved IPFS support (based on https://github.com/ipfs/go-ipfs/issues/1678#issuecomment-157478515) --- CHANGELOG.md | 2 +- README.md | 5 +++++ asciicast/asciicast.go | 6 ++++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 25074af..e1017f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ ## master * Added playback from stdin: `cat demo.json | asciinema play -` -* Added playback from IPFS: `asciinema play ipfs://ipfs/QmcdXYJp6e4zNuimuGeWPwNMHQdxuqWmKx7NhZofQ1nw2V` +* Added playback from IPFS: `asciinema play ipfs:/ipfs/QmcdXYJp6e4zNuimuGeWPwNMHQdxuqWmKx7NhZofQ1nw2V` * Added playback from asciicast page URL: `asciinema play https://asciinema.org/a/22124` * `-q/--quiet` option added to `rec` command * Fixed handling of partial UTF-8 sequences in recorded stdout diff --git a/README.md b/README.md index 0749ca2..e6c8836 100644 --- a/README.md +++ b/README.md @@ -114,6 +114,11 @@ Playing from stdin: cat /path/to/asciicast.json | asciinema play - curl -sL https://asciinema.org/a/21310.json | asciinema play - +Playing from IPFS: + + asciinema play ipfs:/ipfs/QmcdXYJp6e4zNuimuGeWPwNMHQdxuqWmKx7NhZofQ1nw2V + asciinema play fs:/ipfs/QmcdXYJp6e4zNuimuGeWPwNMHQdxuqWmKx7NhZofQ1nw2V + Available options: * `-w, --max-wait=` - Reduce replayed terminal inactivity to max seconds diff --git a/asciicast/asciicast.go b/asciicast/asciicast.go index c077a35..e8b0674 100644 --- a/asciicast/asciicast.go +++ b/asciicast/asciicast.go @@ -101,8 +101,10 @@ func getSource(url string) (io.ReadCloser, error) { var isHTML bool var err error - if strings.HasPrefix(url, "ipfs://") { - url = fmt.Sprintf("https://ipfs.io/%v", url[7:len(url)]) + if strings.HasPrefix(url, "ipfs:/") { + url = fmt.Sprintf("https://ipfs.io/%v", url[6:]) + } else if strings.HasPrefix(url, "fs:/") { + url = fmt.Sprintf("https://ipfs.io/%v", url[4:]) } if url == "-" {