mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 03:27:06 -05:00 
			
		
		
		
	[utils] Support attributes with no values in get_elements_by_attribute()
This commit is contained in:
		@@ -1228,6 +1228,12 @@ part 3</font></u>
 | 
				
			|||||||
        self.assertEqual(get_element_by_attribute('class', 'foo', html), None)
 | 
					        self.assertEqual(get_element_by_attribute('class', 'foo', html), None)
 | 
				
			||||||
        self.assertEqual(get_element_by_attribute('class', 'no-such-foo', html), None)
 | 
					        self.assertEqual(get_element_by_attribute('class', 'no-such-foo', html), None)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        html = '''
 | 
				
			||||||
 | 
					            <div itemprop="author" itemscope>foo</div>
 | 
				
			||||||
 | 
					        '''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        self.assertEqual(get_element_by_attribute('itemprop', 'author', html), 'foo')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def test_get_elements_by_class(self):
 | 
					    def test_get_elements_by_class(self):
 | 
				
			||||||
        html = '''
 | 
					        html = '''
 | 
				
			||||||
            <span class="foo bar">nice</span><span class="foo bar">also nice</span>
 | 
					            <span class="foo bar">nice</span><span class="foo bar">also nice</span>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -365,9 +365,9 @@ def get_elements_by_attribute(attribute, value, html, escape_value=True):
 | 
				
			|||||||
    retlist = []
 | 
					    retlist = []
 | 
				
			||||||
    for m in re.finditer(r'''(?xs)
 | 
					    for m in re.finditer(r'''(?xs)
 | 
				
			||||||
        <([a-zA-Z0-9:._-]+)
 | 
					        <([a-zA-Z0-9:._-]+)
 | 
				
			||||||
         (?:\s+[a-zA-Z0-9:._-]+(?:=[a-zA-Z0-9:._-]*|="[^"]*"|='[^']*'))*?
 | 
					         (?:\s+[a-zA-Z0-9:._-]+(?:=[a-zA-Z0-9:._-]*|="[^"]*"|='[^']*'|))*?
 | 
				
			||||||
         \s+%s=['"]?%s['"]?
 | 
					         \s+%s=['"]?%s['"]?
 | 
				
			||||||
         (?:\s+[a-zA-Z0-9:._-]+(?:=[a-zA-Z0-9:._-]*|="[^"]*"|='[^']*'))*?
 | 
					         (?:\s+[a-zA-Z0-9:._-]+(?:=[a-zA-Z0-9:._-]*|="[^"]*"|='[^']*'|))*?
 | 
				
			||||||
        \s*>
 | 
					        \s*>
 | 
				
			||||||
        (?P<content>.*?)
 | 
					        (?P<content>.*?)
 | 
				
			||||||
        </\1>
 | 
					        </\1>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user