Use freedesktop.org mandated user config file location (Suggested by Tyll in #231)
This commit is contained in:
		
							parent
							
								
									77315556f1
								
							
						
					
					
						commit
						0cd235eef6
					
				
					 2 changed files with 30 additions and 13 deletions
				
			
		
							
								
								
									
										34
									
								
								youtube-dl
									
										
									
									
									
								
							
							
						
						
									
										34
									
								
								youtube-dl
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -699,9 +699,26 @@ class FileDownloader(object):
 | 
			
		|||
			self.trouble(u'ERROR: invalid system charset or erroneous output template')
 | 
			
		||||
			return None
 | 
			
		||||
 | 
			
		||||
	def _match_entry(self, info_dict):
 | 
			
		||||
		""" Returns None iff the file should be downloaded """
 | 
			
		||||
 | 
			
		||||
		title = info_dict['title']
 | 
			
		||||
		matchtitle = self.params.get('matchtitle', False)
 | 
			
		||||
		if matchtitle and not re.search(matchtitle, title, re.IGNORECASE):
 | 
			
		||||
			return u'[download] "' + title + '" title did not match pattern "' + matchtitle + '"'
 | 
			
		||||
		rejecttitle = self.params.get('rejecttitle', False)
 | 
			
		||||
		if rejecttitle and re.search(rejecttitle, title, re.IGNORECASE):
 | 
			
		||||
			return u'"' + title + '" title matched reject pattern "' + rejecttitle + '"'
 | 
			
		||||
		return None
 | 
			
		||||
 | 
			
		||||
	def process_info(self, info_dict):
 | 
			
		||||
		"""Process a single dictionary returned by an InfoExtractor."""
 | 
			
		||||
 | 
			
		||||
		reason = self._match_entry(info_dict)
 | 
			
		||||
		if reason is not None:
 | 
			
		||||
			self.to_screen(u'[download] ' + reason)
 | 
			
		||||
			return
 | 
			
		||||
 | 
			
		||||
		max_downloads = self.params.get('max_downloads')
 | 
			
		||||
		if max_downloads is not None:
 | 
			
		||||
			if self._num_downloads > int(max_downloads):
 | 
			
		||||
| 
						 | 
				
			
			@ -731,16 +748,6 @@ class FileDownloader(object):
 | 
			
		|||
		if filename is None:
 | 
			
		||||
			return
 | 
			
		||||
 | 
			
		||||
		matchtitle=self.params.get('matchtitle',False)
 | 
			
		||||
		rejecttitle=self.params.get('rejecttitle',False)
 | 
			
		||||
		title=info_dict['title'].encode(preferredencoding(), 'xmlcharrefreplace')
 | 
			
		||||
		if matchtitle and not re.search(matchtitle, title, re.IGNORECASE):
 | 
			
		||||
			self.to_screen(u'[download] "%s" title did not match pattern "%s"' % (title, matchtitle))
 | 
			
		||||
			return
 | 
			
		||||
		if rejecttitle and re.search(rejecttitle, title, re.IGNORECASE):
 | 
			
		||||
			self.to_screen(u'[download] "%s" title matched reject pattern "%s"' % (title, rejecttitle))
 | 
			
		||||
			return
 | 
			
		||||
			
 | 
			
		||||
		if self.params.get('nooverwrites', False) and os.path.exists(filename):
 | 
			
		||||
			self.to_stderr(u'WARNING: file exists and will be skipped')
 | 
			
		||||
			return
 | 
			
		||||
| 
						 | 
				
			
			@ -4118,7 +4125,12 @@ def parseOpts():
 | 
			
		|||
	parser.add_option_group(authentication)
 | 
			
		||||
	parser.add_option_group(postproc)
 | 
			
		||||
 | 
			
		||||
	argv = _readOptions('/etc/youtube-dl.conf') + _readOptions(os.path.expanduser('~/.youtube-dl.conf')) + sys.argv[1:]
 | 
			
		||||
	xdg_config_home = os.environ.get('XDG_CONFIG_HOME')
 | 
			
		||||
	if xdg_config_home:
 | 
			
		||||
		userConf = os.path.join(xdg_config_home, 'youtube-dl.conf')
 | 
			
		||||
	else:
 | 
			
		||||
		userConf = os.path.join(os.path.expanduser('~'), '.config', 'youtube-dl.conf')
 | 
			
		||||
	argv = _readOptions('/etc/youtube-dl.conf') + _readOptions(userConf) + sys.argv[1:]
 | 
			
		||||
	opts, args = parser.parse_args(argv)
 | 
			
		||||
 | 
			
		||||
	return parser, opts, args
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4125,7 +4125,12 @@ def parseOpts():
 | 
			
		|||
	parser.add_option_group(authentication)
 | 
			
		||||
	parser.add_option_group(postproc)
 | 
			
		||||
 | 
			
		||||
	argv = _readOptions('/etc/youtube-dl.conf') + _readOptions(os.path.expanduser('~/.youtube-dl.conf')) + sys.argv[1:]
 | 
			
		||||
	xdg_config_home = os.environ.get('XDG_CONFIG_HOME')
 | 
			
		||||
	if xdg_config_home:
 | 
			
		||||
		userConf = os.path.join(xdg_config_home, 'youtube-dl.conf')
 | 
			
		||||
	else:
 | 
			
		||||
		userConf = os.path.join(os.path.expanduser('~'), '.config', 'youtube-dl.conf')
 | 
			
		||||
	argv = _readOptions('/etc/youtube-dl.conf') + _readOptions(userConf) + sys.argv[1:]
 | 
			
		||||
	opts, args = parser.parse_args(argv)
 | 
			
		||||
 | 
			
		||||
	return parser, opts, args
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue