Commits

Michał Górny committed 240c3b2

Support getting options from eclean-kernel.rc.

Comments (0)

Files changed (1)

ecleankernel/cli.py

 
 from __future__ import print_function
 
+import os, os.path, errno, shlex
+
 from optparse import OptionParser
 
 from .kernel import find_kernels, Kernel
 			dest='exclude', default='',
 			help='Exclude kernel parts from being removed (comma-separated, supported parts: %s)'
 				% ', '.join(Kernel.parts))
-	(opts, args) = parser.parse_args(argv[1:])
+
+	args = []
+	config_dirs = os.environ.get('XDG_CONFIG_DIRS', '/etc/xdg').split(':')
+	config_dirs.insert(0, os.environ.get('XDG_CONFIG_HOME', '~/.config'))
+	for x in reversed(config_dirs):
+		try:
+			f = open('%s/eclean-kernel.rc' % os.path.expanduser(x), 'r')
+		except IOError as e:
+			if e.errno != errno.ENOENT:
+				raise
+		else:
+			args.extend(shlex.split(f.read()))
+
+	args.extend(argv[1:])
+	(opts, args) = parser.parse_args(args)
 
 	exclusions = frozenset(opts.exclude.split(','))
 	for x in exclusions:
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.