1git-annex-importfeed(1) General Commands Manual git-annex-importfeed(1)
2
3
4
6 git-annex-importfeed - import files from podcast feeds
7
9 git annex importfeed [url ...]
10
12 Imports the contents of podcasts and other feeds. Only downloads files
13 whose content has not already been added to the repository before, so
14 you can delete, rename, etc the resulting files and repeated runs won't
15 duplicate them.
16
17 When yt-dlp is installed, it can be used to download links in the feed.
18 This allows importing e.g., YouTube playlists. (However, this is dis‐
19 abled by default as it can be a security risk. See the documentation
20 of annex.security.allowed-ip-addresses in git-annex(1) for details.)
21
22 To make the import process add metadata to the imported files from the
23 feed, git config annex.genmetadata true
24
25 By default, the downloaded files are put in a directory with the title
26 of the feed, and files are named based on the title of the item in the
27 feed. This can be changed using the --template option.
28
29 Existing files are not overwritten by this command. If "some
30 feed/foo.mp3" already exists, it will instead write to "some
31 feed/2_foo.mp3" (or 3, 4, etc). Sometimes a feed will change an item's
32 url, resulting in the new url being downloaded to such a filename.
33
35 --force
36
37 Force downloading items it's seen before.
38
39 --relaxed, --fast, --raw
40 These options behave the same as when using git-annex-addurl(1).
41
42 --fast Avoid immediately downloading urls. The url is still checked
43 (via HEAD) to verify that it exists, and to get its size if pos‐
44 sible.
45
46 --relaxed
47 Don't immediately download urls, and avoid storing the size of
48 the url's content. This makes git-annex accept whatever content
49 is there at a future point.
50
51 --raw Prevent special handling of urls by yt-dlp, bittorrent, and
52 other special remotes. This will for example, make importfeed
53 download a .torrent file and not the contents it points to.
54
55 --no-raw
56 Require content pointed to by the url to be downloaded using
57 yt-dlp or a special remote, rather than the raw content of the
58 url. if that cannot be done, the import will fail, and the next
59 import of the feed will retry.
60
61 --template
62 Controls where the files are stored.
63
64 The default template is '${feedtitle}/${itemtitle}${extension}'
65
66 The available variables in the template include these that are
67 information about the feed: feedtitle, feedauthor
68
69 And these that are information about individual items in the
70 feed: itemtitle, itemauthor, itemsummary, itemdescription, item‐
71 rights, itemid.
72
73 Also, title is itemtitle but falls back to feedtitle if the item
74 has no title, and author is itemauthor but falls back to feedau‐
75 thor.
76
77 (All of the above are also added as metadata when annex.genmeta‐
78 data is set.)
79
80 The extension variable is the extension of the file in the feed,
81 or sometimes ".m" if no extension can be determined.
82
83 The template also has some variables for when an item was pub‐
84 lished.
85
86 itempubyear (YYYY), itempubmonth (MM), itempubday (DD), itempub‐
87 hour (HH), itempubminute (MM), itempubsecond (SS), itempubdate
88 (YYYY-MM-DD or if the feed's date cannot be parsed, the raw
89 value from the feed).
90
91 (These use the UTC time zone, not the local time zone.)
92
93 --no-check-gitignore
94 By default, gitignores are honored and it will refuse to down‐
95 load an url to a file that would be ignored. This makes such
96 files be added despite any ignores.
97
98 --jobs=N -JN
99 Runs multiple downloads parallel. For example: -J4
100
101 Setting this to "cpus" will run one job per CPU core.
102
103 --backend
104 Specifies which key-value backend to use.
105
106 --json Enable JSON output. This is intended to be parsed by programs
107 that use git-annex. Each line of output is a JSON object.
108
109 --json-progress
110 Include progress objects in JSON output.
111
112 --json-error-messages
113 Messages that would normally be output to standard error are in‐
114 cluded in the JSON instead.
115
116 Also the git-annex-common-options(1) can be used.
117
119 git-annex(1)
120
121 git-annex-addurl(1)
122
124 Joey Hess <id@joeyh.name>
125
126 git-annex-importfeed(1)