Package brisa :: Package utils :: Module options
[hide private]
[frames] | no frames]

Source Code for Module brisa.utils.options

 1  # Licensed under the MIT license 
 2  # http://opensource.org/licenses/mit-license.php or see LICENSE file. 
 3  # Copyright 2007-2008 Brisa Team <brisa-develop@garage.maemo.org> 
 4   
 5  """ Argument parsing for BRisa deployed applications. 
 6  """ 
 7   
 8  import sys 
 9  import random 
10  import socket 
11  from optparse import OptionParser 
12   
13  from brisa.core import log, config, network 
14   
15   
16 -def parse_args(device_name):
17 """ Parses option arguments and configuration values for the given device 18 name. 19 20 @param device_name: device name 21 @type device_name: string 22 23 @return: 2-tuple (listen_url, daemon) (daemon tells whether -d was passed) 24 @rtype: tuple 25 """ 26 usage = "\nBRisa UPnP %s version %s\nusage: python prog [options] arg" \ 27 % (device_name, config.manager.brisa_version) 28 parser = OptionParser(usage) 29 30 parser.add_option("-q", "--quiet", 31 action="store_false", dest="verbose") 32 parser.add_option("-i", "--address", dest="address", 33 help="set the UPnP %s IP address" % device_name) 34 parser.add_option("-p", "--port", dest="port", 35 help="set the UPnP %s Port" % device_name) 36 parser.add_option("-d", "--daemon", action="store_true", 37 dest="daemon", help="Run %s as daemon" % device_name) 38 39 (options, args) = parser.parse_args() 40 41 if len(args) != 0: 42 parser.error("incorrect number of arguments") 43 44 listen_addr = options.address 45 46 if not options.port: 47 listen_port = random.randint(10000, 65000) 48 else: 49 listen_port = int(options.port) 50 51 if listen_addr and listen_port: 52 listen_url = "http://%s:%d" % (listen_addr, listen_port) 53 else: 54 listen_url = '' 55 56 daemon = False 57 if options.daemon: 58 daemon = True 59 60 return (listen_url, daemon)
61