zeshu kirjoitti: > let me change my question a little bit.how we can integrate LSL > scripts with python scripts?for example. > I am able to get data using LSL script(Httprequest/httpresponse) from > outside world.Now i want to use this data in python.So how i can pass >
you can either use the .net or python stdlib http request funcs like the x10 thing does, or use the lsl command if the rexscript api exposes it (see py filex in rxcore, they largely just call the lsl impls from opensim). sorry must go now so no time to dig the source / doc to make an example. ~Toni > this data to python.Because i want to move the avatar using this > data.So this data is very important for me. > > On Apr 9, 9:51 am, Toni Alatalo <[email protected]> wrote: > >> Jani Pirkola kirjoitti: >> >> >>> There is an example of two-way http communication, it is used in the >>> x10 example: >>> http://wiki.realxtend.org/index.php/How_to_Connect_Home_Automation_-_X10 >>> >> interestingly enough that seems to use both some .net http lib (the one >> included with opensim? or from .net libs?) and urllib, i guess >> httpserver for listening to commands from outside, and python stdlib >> urllib for sending own commands >> >> http://forge.opensimulator.org/gf/project/modrex/scmsvn/?action=brows... >> from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer >> import urllib >> >> #listening, i think >> X10Connection.httpServerThread = X10StateListenerThread() >> >> #sending >> url = 'http://' + X10Connection.X10ManagerAddress + >> '/X10/command?address=' + device + '&function=' + command >> try: >> sock = urllib.urlopen(url) >> reponseBody = sock.read() >> >> perhaps a bit strange to use different libs for the different directions >> in the same module, but at least it shows that both ways work :p >> >> >>> Jani >>> >> ~Toni >> >> >>> 2009/4/9 Toni Alatalo <[email protected] <mailto:[email protected]>> >>> >>> yuzo wrote: >>> > From my limited understanding, the Iron Python scripts for REX >>> live on >>> > the server. The LSL scripts seem to me something you construct in an >>> > editor on the viewer. >>> >>> both are on the server, and executed on the server. >>> >>> in opensim using the same scriptengine i think, am actually not 100% >>> sure of the details there now. >>> >>> true, there is the difference that rexscripts you edit on the server, >>> whereas lsl you can edit via the viewer. but that just a UI and a >>> storage difference in the end, does not make a difference with >>> regard to >>> the execution, which is essentially similarily within an opensim >>> plugin >>> (and iirc using the same scriptengine). >>> >>> a major difference is that the rexscript ones can pretty much do >>> anything, are like opensim region modules too in that sense, can >>> access >>> the system etc. like in any .net code i think. that's because it's >>> full >>> ironpython also, which can do anything c# can. so only for region >>> owners >>> in that sense i guess. Adam has been now working on the mini region >>> module (MRM) system for Opensim and looking into sandboxing execution >>> contexts with the .net tools (the one he was thinking of is not >>> supported in Mono). >>> >>> afaik the lsl ones are converted to c# source and compiled, haven't >>> looked at that part of scriptengine now. security i guess comes just >>> from the fact that, err, only valid lsl is parsed and it can't do >>> stuff >>> like import .net modules? dunno. >>> >>> > Does it make a difference if a script written in LSL by my avatar's >>> > viewer gets information from a data source and uses it, or if I do >>> > something similar as an Iron Python script? It just feels like the >>> > Iron Python script would be accessible globally and I would assume >>> > that scripts are local to the avatar associated with its >>> creation. Of >>> > course my understanding may be completely off. >>> >>> there is no association from a rexscript module or class to avatars or >>> any other objects. >>> >>> basically any object can use any such script, i.e. be declared to >>> be an >>> instance of that class. of course just the object owner can change the >>> property that which script is used for the object. >>> >>> > Yuzo >>> >>> ~Toni >>> >>> > On Apr 8, 12:58 pm, Toni Alatalo <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> >> Jeroen van Veen wrote: >>> >>> >>> if other python libs can be imported, maybe it can be done >>> with pycurl? >>> >>> >> basics are also in the >>> stdlib,http://docs.python.org/library/urllib.html >>> >>> >> filehandle = urllib.urlopen(some_url, proxies=proxies) >>> >>> >> i guess the way to use curl within .net (which the server, being >>> >> opensim, is) would be via some .net wrapper, dunno, if you >>> needed that >>> >> for some reason. >>> >>> >> and like said in the other post, it may be also a good idea to >>> do what >>> >> opensim does on the c# side, what you would do in an opensim region >>> >> module perhaps (of course rexscript can also expose it by wrapping >>> >> something itself, or using what is exposed for LSL (which are what >>> >> rexscript usually uses)). >>> >>> >>> Jeroen >>> >>> >> ~Toni >>> >>> >>> On Wednesday 08 April 2009 18:55:13 Jani Pirkola wrote: >>> >>> >>>> Toni, >>> >>>> isn't it possible to send http get requests from python >>> directly? Or at >>> >>>> least open tcp socket and write the get request there? What >>> do I need to do >>> >>>> to enable needed libraries, ie does python in rex work as it >>> was any python >>> >>>> environment? >>> >>> >>>> Jani >>> >>> >>>> 2009/4/8 Toni Alatalo <[email protected] >>> <mailto:[email protected]>> >>> >>> >>>>> zeshu wrote: >>> >>> >>>>>> I have some data on a php web page.Now i need that data in >>> realXtend.i >>> >>>>>> checked two methods in LSL one is httprequest and >>> XML-RPC.How i can >>> >>>>>> use these functions in Python. >>> >>> >>>>> are they exposed in the rexscript system? basically it >>> always calls the >>> >>>>> opensim scripting api, >>> >>>>> i.e. is same as the lsl impls. >>> >>> >>>>> i think you can also use any .net library that your system >>> has installed >>> >>>>> on your server, >>> >>>>> similarily to how use in it c# but just within ironpython (which >>> >>>>> rexscript uses). >>> >>> >>>>> ~Toni >>> > > --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/realxtend http://www.realxtend.org -~----------~----~----~----~------~----~------~--~---
