summaryrefslogtreecommitdiff
path: root/doc/todo
diff options
context:
space:
mode:
authorGravatar Joey Hess <id@joeyh.name>2014-12-04 14:56:51 -0400
committerGravatar Joey Hess <id@joeyh.name>2014-12-04 14:56:51 -0400
commitd74ba94b75f8d7b2a4504e2303aa120577895ef3 (patch)
tree2a4f676070c2789ee2595e8fa14acebbc5453d64 /doc/todo
parent951802061dc3af1fdb245c9f0d3b602648a0fca1 (diff)
design
Diffstat (limited to 'doc/todo')
-rw-r--r--doc/todo/extensible_addurl.mdwn35
1 files changed, 35 insertions, 0 deletions
diff --git a/doc/todo/extensible_addurl.mdwn b/doc/todo/extensible_addurl.mdwn
new file mode 100644
index 000000000..6eb090305
--- /dev/null
+++ b/doc/todo/extensible_addurl.mdwn
@@ -0,0 +1,35 @@
+`git annex addurl` supports regular urls, as well as detecting videos that
+quvi can download. We'd like to extend this to support extensible uri
+handling.
+
+Use cases range from torrent download support, to pulling data
+from scientific data repositories that use their own APIs.
+
+The basic idea is to have external special remotes (or perhaps built-in
+ones in some cases), which addurl can use to download an object, referred
+to by some uri-like thing. The uri starts with "$downloader:"
+
+ git annex addurl torrent:$foo
+ git annex addurl CERN:$bar
+
+Problem: This requires mapping from the name of the downloader, which is
+probably the same as the git-annex-remote-$downloader program implementing
+the special remote protocol, to the UUID of a remote. That's assuming we
+want location tracking to be able to know that a file is both available
+from CERN and from a torrent, for example.
+
+It would also be nice to be able to easily configure a regexp that normal
+urls, if they match, are made to use a particular downloader. So, for
+torrents, this would make matching urls have torrent: prefixed to them.
+
+ git config annex.downloader.torrent.regexp '(^magnet:|\.torrent$)'
+
+It might also be useful to allow bypassing the complexity of the external
+special remote interface, and let a downloader be specified simply by:
+
+ git config annex.downloader.torrent.command 'aria2c %url $file'
+
+In this case, the UUID used would be the UUID of the web special remote, I
+suppose?
+
+Some other discussion at <https://github.com/datalad/datalad/issues/10>