about summary refs log tree commit diff
path: root/README.md
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2018-11-05 00:11:36 +0700
committerSergey M․ <dstftw@gmail.com>2018-11-05 00:11:36 +0700
commit22e07ce502275fbede32d212eacdaeabee22fe4c (patch)
tree871b26e74c058815eb59626ae4830e57e0e46655 /README.md
parentdbdaaa231add0a8d1fa8138c448ccb344f585894 (diff)
downloadyoutube-dl-22e07ce502275fbede32d212eacdaeabee22fe4c.tar.gz
youtube-dl-22e07ce502275fbede32d212eacdaeabee22fe4c.tar.xz
youtube-dl-22e07ce502275fbede32d212eacdaeabee22fe4c.zip
[README.md] Improve documentation on safe metadata extraction and add more examples
Diffstat (limited to 'README.md')
-rw-r--r--README.md23
1 files changed, 22 insertions, 1 deletions
diff --git a/README.md b/README.md
index fdd115c9b..35c3de512 100644
--- a/README.md
+++ b/README.md
@@ -1168,7 +1168,28 @@ title = self._search_regex(
 
 ### Use safe conversion functions
 
-Wrap all extracted numeric data into safe functions from `utils`: `int_or_none`, `float_or_none`. Use them for string to number conversions as well.
+Wrap all extracted numeric data into safe functions from [`youtube_dl/utils.py`](https://github.com/rg3/youtube-dl/blob/master/youtube_dl/utils.py): `int_or_none`, `float_or_none`. Use them for string to number conversions as well.
+
+Use `url_or_none` for safe URL processing.
+
+Use `try_get` for safe metadata extraction from parsed JSON.
+
+Explore [`youtube_dl/utils.py`](https://github.com/rg3/youtube-dl/blob/master/youtube_dl/utils.py) for more useful convenience functions.
+
+#### More examples
+
+##### Safely extract optional description from parsed JSON
+```python
+description = try_get(response, lambda x: x['result']['video'][0]['summary'], compat_str)
+```
+
+##### Safely extract more optional metadata
+```python
+video = try_get(response, lambda x: x['result']['video'][0], dict) or {}
+description = video.get('summary')
+duration = float_or_none(video.get('durationMs'), scale=1000)
+view_count = int_or_none(video.get('views'))
+```
 
 # EMBEDDING YOUTUBE-DL