adding copyright notice and help option to matrix.py.

0.6.0-stable
Dr Scofield 2008-07-29 17:04:57 +00:00
parent 405e0a4b4e
commit 9f600b378d
1 changed files with 58 additions and 1 deletions

View File

@ -1,5 +1,30 @@
#!/usr/bin/python
# -*- encoding: utf-8 -*-
# Copyright (c) Contributors, http://opensimulator.org/
# See CONTRIBUTORS.TXT for a full list of copyright holders.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the OpenSim Project nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import xml.etree.ElementTree as ET
import re
@ -10,6 +35,32 @@ import optparse
import os
import sys
def longHelp():
print '''
matrix.py is a little launcher tool that knows about the GridInfo
protocol. it expects the grid coordinates to be passed as a
command line argument either as a "matrix:" or as an "opensim:" style
URI:
matrix://osgrid.org:8002/
you can also provide region/X/Y/Z coordinates:
matrix://osgrid.org:8002/Wright%20Plaza/128/50/75
and, it also understands avatar names and passwords:
matrix://mr%20smart:secretpassword@osgrid.org:8002/Wright%20Plaza/128/50/75
when you run it the first time, it will complain about a missing
.matrixcfg file --- this is needed so that it can remember where your
secondlife client lives on your box. to generate that file, simply run
matrix.py --secondlife path-to-your-secondlife-client-executable
'''
reURI = re.compile(r'''^(?P<scheme>[a-zA-Z0-9]+):// # scheme
((?P<avatar>[^:@]+)(:(?P<password>[^@]+))?@)? # avatar name and password (optional)
(?P<host>[^:/]+)(:(?P<port>\d+))? # host, port (optional)
@ -25,10 +76,16 @@ if __name__ == '__main__':
parser = optparse.OptionParser()
parser.add_option('-c', '--config', dest = 'config', help = 'config file', metavar = 'CONFIG')
parser.add_option('-s', '--secondlife', dest = 'client', help = 'location of secondlife client', metavar = 'SL-CLIENT')
parser.add_option('-l', '--longhelp', action='store_true', dest = 'longhelp', help = 'longhelp')
(options, args) = parser.parse_args()
if options.longhelp:
parser.print_help()
longHelp()
sys.exit(0)
#
# we using ~/.matrixcfg to store the location of the secondlife client
# we are using ~/.matrixcfg to store the location of the secondlife client
#
if not options.config:
options.config = '~/.matrixcfg'