mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	| @@ -151,25 +151,25 @@ def parseOpts(overrideArguments=None): | |||||||
|  |  | ||||||
|     def _dict_from_options_callback( |     def _dict_from_options_callback( | ||||||
|             option, opt_str, value, parser, |             option, opt_str, value, parser, | ||||||
|             allowed_keys=r'[\w-]+', delimiter=':', default_key=None, process=None, multiple_keys=True): |             allowed_keys=r'[\w-]+', delimiter=':', default_key=None, process=None, multiple_keys=True, | ||||||
|  |             process_key=str.lower): | ||||||
|  |  | ||||||
|         out_dict = getattr(parser.values, option.dest) |         out_dict = getattr(parser.values, option.dest) | ||||||
|         if multiple_keys: |         if multiple_keys: | ||||||
|             allowed_keys = r'(%s)(,(%s))*' % (allowed_keys, allowed_keys) |             allowed_keys = r'(%s)(,(%s))*' % (allowed_keys, allowed_keys) | ||||||
|         mobj = re.match(r'(?i)(?P<keys>%s)%s(?P<val>.*)$' % (allowed_keys, delimiter), value) |         mobj = re.match(r'(?i)(?P<keys>%s)%s(?P<val>.*)$' % (allowed_keys, delimiter), value) | ||||||
|         if mobj is not None: |         if mobj is not None: | ||||||
|             keys = [k.strip() for k in mobj.group('keys').lower().split(',')] |             keys, val = mobj.group('keys').split(','), mobj.group('val') | ||||||
|             val = mobj.group('val') |  | ||||||
|         elif default_key is not None: |         elif default_key is not None: | ||||||
|             keys, val = [default_key], value |             keys, val = [default_key], value | ||||||
|         else: |         else: | ||||||
|             raise optparse.OptionValueError( |             raise optparse.OptionValueError( | ||||||
|                 'wrong %s formatting; it should be %s, not "%s"' % (opt_str, option.metavar, value)) |                 'wrong %s formatting; it should be %s, not "%s"' % (opt_str, option.metavar, value)) | ||||||
|         try: |         try: | ||||||
|  |             keys = map(process_key, keys) if process_key else keys | ||||||
|             val = process(val) if process else val |             val = process(val) if process else val | ||||||
|         except Exception as err: |         except Exception as err: | ||||||
|             raise optparse.OptionValueError( |             raise optparse.OptionValueError(f'wrong {opt_str} formatting; {err}') | ||||||
|                 'wrong %s formatting; %s' % (opt_str, err)) |  | ||||||
|         for key in keys: |         for key in keys: | ||||||
|             out_dict[key] = val |             out_dict[key] = val | ||||||
|  |  | ||||||
| @@ -792,7 +792,7 @@ def parseOpts(overrideArguments=None): | |||||||
|         '--add-header', |         '--add-header', | ||||||
|         metavar='FIELD:VALUE', dest='headers', default={}, type='str', |         metavar='FIELD:VALUE', dest='headers', default={}, type='str', | ||||||
|         action='callback', callback=_dict_from_options_callback, |         action='callback', callback=_dict_from_options_callback, | ||||||
|         callback_kwargs={'multiple_keys': False}, |         callback_kwargs={'multiple_keys': False, 'process_key': None}, | ||||||
|         help='Specify a custom HTTP header and its value, separated by a colon ":". You can use this option multiple times', |         help='Specify a custom HTTP header and its value, separated by a colon ":". You can use this option multiple times', | ||||||
|     ) |     ) | ||||||
|     workarounds.add_option( |     workarounds.add_option( | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 pukkandan
					pukkandan