72 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			72 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | #!/usr/bin/env python | ||
|  | 
 | ||
|  | # Copyright (C) 2007, One Laptop Per Child | ||
|  | # | ||
|  | # This library is free software; you can redistribute it and/or | ||
|  | # modify it under the terms of the GNU Lesser General Public | ||
|  | # License as published by the Free Software Foundation; either | ||
|  | # version 2 of the License, or (at your option) any later version. | ||
|  | # | ||
|  | # This library is distributed in the hope that it will be useful, | ||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | ||
|  | # Lesser General Public License for more details. | ||
|  | # | ||
|  | # You should have received a copy of the GNU Lesser General Public | ||
|  | # License along with this library; if not, write to the | ||
|  | # Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
|  | # Boston, MA 02111-1307, USA. | ||
|  | 
 | ||
|  | import getopt, sys | ||
|  |      | ||
|  | import control  | ||
|  |          | ||
|  | def cmd_help(): | ||
|  |     print 'Usage: sugar-control [ option ] key [ args ... ] \n\ | ||
|  |     Control for the sugar environment. \n\ | ||
|  |     Options: \n\ | ||
|  |     -h, --help   show this help message and exit \n\ | ||
|  |     -h key       show information about this key \n\ | ||
|  |     -g key       get the current value of the key \n\ | ||
|  |     -s key       set the current value for the key \n\ | ||
|  |     ' | ||
|  | 
 | ||
|  | def main(): | ||
|  |     try: | ||
|  |         opts, args = getopt.getopt(sys.argv[1:], "h:s:g:", ["help"]) | ||
|  |     except getopt.GetoptError: | ||
|  |         cmd_help() | ||
|  |         sys.exit(2) | ||
|  | 
 | ||
|  |     output = None | ||
|  |     verbose = False | ||
|  | 
 | ||
|  |     for opt, key in opts: | ||
|  |         if opt in ("-h"):             | ||
|  |             method = getattr(control, 'set_' + key, None) | ||
|  |             if method is None: | ||
|  |                 cmd_help() | ||
|  |                 sys.exit() | ||
|  |             else:     | ||
|  |                 print method.__doc__                 | ||
|  |         if opt in ("-g"): | ||
|  |             method = getattr(control, 'print_' + key, None) | ||
|  |             if method is None: | ||
|  |                 cmd_help() | ||
|  |                 sys.exit() | ||
|  |             else:     | ||
|  |                 method() | ||
|  |         if opt in ("-s"): | ||
|  |             method = getattr(control, 'set_' + key, None) | ||
|  |             if method is None: | ||
|  |                 cmd_help() | ||
|  |                 sys.exit() | ||
|  |             else: | ||
|  |                 try: | ||
|  |                     method(*args) | ||
|  |                 except Exception, e: | ||
|  |                     print "sugar-control: %s"% e | ||
|  | 
 | ||
|  | if __name__ == '__main__': | ||
|  |     main() |