mirror of
				https://github.com/ytdl-org/youtube-dl
				synced 2025-10-31 17:53:11 +00:00 
			
		
		
		
	[README.md] Move code from #21939 to the right place
This commit is contained in:
		
							parent
							
								
									4f2d735803
								
							
						
					
					
						commit
						d9d3a5a816
					
				
							
								
								
									
										66
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										66
									
								
								README.md
									
									
									
									
									
								
							| @ -1216,6 +1216,72 @@ Incorrect: | |||||||
| 'PLMYEtVRpaqY00V9W81Cwmzp6N6vZqfUKD4' | 'PLMYEtVRpaqY00V9W81Cwmzp6N6vZqfUKD4' | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
|  | ### Inline values | ||||||
|  | 
 | ||||||
|  | Extracting variables is acceptable for reducing code duplication and improving readability of complex expressions. However, you should avoid extracting variables used only once and moving them to opposite parts of the extractor file, which makes reading the linear flow difficult. | ||||||
|  | 
 | ||||||
|  | #### Example | ||||||
|  | 
 | ||||||
|  | Correct: | ||||||
|  | 
 | ||||||
|  | ```python | ||||||
|  | title = self._html_search_regex(r'<title>([^<]+)</title>', webpage, 'title') | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Incorrect: | ||||||
|  | 
 | ||||||
|  | ```python | ||||||
|  | TITLE_RE = r'<title>([^<]+)</title>' | ||||||
|  | # ...some lines of code... | ||||||
|  | title = self._html_search_regex(TITLE_RE, webpage, 'title') | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Collapse fallbacks | ||||||
|  | 
 | ||||||
|  | Multiple fallback values can quickly become unwieldy. Collapse multiple fallback values into a single expression via a list of patterns. | ||||||
|  | 
 | ||||||
|  | #### Example | ||||||
|  | 
 | ||||||
|  | Good: | ||||||
|  | 
 | ||||||
|  | ```python | ||||||
|  | description = self._html_search_meta( | ||||||
|  |     ['og:description', 'description', 'twitter:description'], | ||||||
|  |     webpage, 'description', default=None) | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Unwieldy: | ||||||
|  | 
 | ||||||
|  | ```python | ||||||
|  | description = ( | ||||||
|  |     self._og_search_description(webpage, default=None) | ||||||
|  |     or self._html_search_meta('description', webpage, default=None) | ||||||
|  |     or self._html_search_meta('twitter:description', webpage, default=None)) | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Methods supporting list of patterns are: `_search_regex`, `_html_search_regex`, `_og_search_property`, `_html_search_meta`. | ||||||
|  | 
 | ||||||
|  | ### Trailing parentheses | ||||||
|  | 
 | ||||||
|  | Always move trailing parentheses after the last argument. | ||||||
|  | 
 | ||||||
|  | #### Example | ||||||
|  | 
 | ||||||
|  | Correct: | ||||||
|  | 
 | ||||||
|  | ```python | ||||||
|  |     lambda x: x['ResultSet']['Result'][0]['VideoUrlSet']['VideoUrl'], | ||||||
|  |     list) | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Incorrect: | ||||||
|  | 
 | ||||||
|  | ```python | ||||||
|  |     lambda x: x['ResultSet']['Result'][0]['VideoUrlSet']['VideoUrl'], | ||||||
|  |     list, | ||||||
|  | ) | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
| ### Use convenience conversion and parsing functions | ### Use convenience conversion and parsing functions | ||||||
| 
 | 
 | ||||||
| Wrap all extracted numeric data into safe functions from [`youtube_dl/utils.py`](https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/utils.py): `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/ytdl-org/youtube-dl/blob/master/youtube_dl/utils.py): `int_or_none`, `float_or_none`. Use them for string to number conversions as well. | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Sergey M
						Sergey M