oh the code snippet is in Python (of course ;) )
On Fri, Feb 1, 2013 at 6:39 PM, Eric Turman <[email protected]> wrote: > wow...hot key to send mail...must find and delete <lol> > > okay the two problems: > 1) it is not awesome like Sublime ;) > 2) it autocompletes/intellisenses in Japanese (which is fine if you can > read Japanese ;P ) > > > On Fri, Feb 1, 2013 at 6:37 PM, Eric Turman <[email protected]> wrote: > >> well there is this IDE that you can use right out of Softimage, >> >> # This loads the debugger module... >> import pywin.debugger as dbg >> >> # This launches the GUI: >> dbg.brk() >> >> but there are two problems: >> >> >> >> >> On Thu, Jan 31, 2013 at 12:10 PM, jo benayoun <[email protected]>wrote: >> >>> IDEs provide code completion and code analysis by actually having a >>> backend specific to the language the editor is set to. Thats actually one >>> of the main difference between a text editor (sublime) and an IDE >>> (eclipse). The editor does not just consider the text as a suite of words >>> but as a language and so understand what you write. >>> >>> To implement such thing, you will need basically to do the job of the >>> python engine (minus compilation/interpreter step). Meaning, use an ast >>> generator and write python specifics. >>> >>> The actual parser generator used internally by the CPython >>> implementation is exposed in the std library under the name pgen2 (do a >>> grep for seeing its usage). Because this is just a parser generator, you >>> will need then a way to get and manipulate the ast the parser will generate >>> for ya. fortunately, there is a bunch of modules that provide exactly what >>> you need (ast, keyword, ...) that let you go further in the code >>> exploration. >>> (pgen2 and parser/ast/keyword/... are two separate things with two >>> different usages, dont mix them up) >>> >>> Thats about python, for the softimage libraries, you're on the right way >>> :) >>> --jon >>> >>> >>> >>> >>> >>> >>> >>> 2013/1/31 Alan Fregtman <[email protected]> >>> >>>> I've generated autocompletions, but it seems (and kinda makes sense) >>>> that I cannot really know what class someone is coding for to show the >>>> methods filtered by that class alone, so in its current state I will >>>> autocomplete both global commands AND all methods. That said, for methods I >>>> put "[blabla class]" after them so you know which one it's for. I still >>>> think it's useful, but I wish it could be better. >>>> >>>> Anyone have any bright ideas for somehow knowing what class someone is >>>> coding for? (...because Sublime won't load Softimage's Python environment >>>> to actually know what is what, what with the dynamic dispatching and all.) >>>> >>>> By the way, once you tab to choose one, I autocomplete all the >>>> arguments as a "snippet" and you can tab through the named arguments to >>>> write your own variables or delete them. >>>> >>>> >>>> >>>> >>>> On Wed, Jan 30, 2013 at 10:56 PM, Alan Fregtman < >>>> [email protected]> wrote: >>>> >>>>> Okay... Getting somewhere! >>>>> >>>>> import sysimport os.pathfrom win32com.client import makepy >>>>> >>>>> tlbs = >>>>> ['/path/to/Softimage_2013_SP1/Application/bin/Converter.tlb','/path/to/Softimage_2013_SP1/Application/bin/LightRig.tlb','/path/to/Softimage_2013_SP1/Application/bin/XSIDial.tlb','/path/to/Softimage_2013_SP1/Application/bin/dotXSI_ie.tlb','/path/to/Softimage_2013_SP1/Application/bin/dsauto.tlb','/path/to/Softimage_2013_SP1/Application/bin/enums.tlb','/path/to/Softimage_2013_SP1/Application/bin/ophelper.tlb','/path/to/Softimage_2013_SP1/Application/bin/si3dobjectmodel.tlb','/path/to/Softimage_2013_SP1/Application/bin/si3dobjectmodel10.tlb','/path/to/Softimage_2013_SP1/Application/bin/siobjectmodel.tlb','/path/to/Softimage_2013_SP1/Application/bin/xsiutils.tlb'] >>>>> for path in tlbs: >>>>> baseFolder = r'/path/somewhere/to/save/pyfiles/' >>>>> sys.argv = ["makepy", "-o", "%s/%s.py" % (baseFolder, >>>>> os.path.basename(path).split('.')[0]), path] >>>>> makepy.main() >>>>> >>>>> >>>>> This gets me some files I can introspect for methods and such. >>>>> >>>>> >>>>> >>>>> On Wed, Jan 30, 2013 at 10:20 PM, Alan Fregtman < >>>>> [email protected]> wrote: >>>>> >>>>>> Reviving this old thread out of interest... >>>>>> >>>>>> So, with that sample code, we can introspect predefined global >>>>>> objects like Application and XSIUtils. That's cool, but for example, >>>>>> another object type like... "Parameter".... that's a class but I can't >>>>>> create it. I can't do win32com.client.Dispatch("Parameter") and >>>>>> XSIFactory.CreateObject("Parameter") won't work either. >>>>>> >>>>>> Is there any way I can somehow create the object on the fly, knowing >>>>>> its class type, some other way so that I can query its methods and >>>>>> properties? >>>>>> >>>>>> >>>>>> ps: Raff, could you elaborate how you AL guys got your introspection >>>>>> going for non-predefined globals? >>>>>> >>>>>> >>>>>> >>>>>> On Fri, Jan 4, 2013 at 6:15 AM, Andy Nicholas >>>>>> <[email protected]>wrote: >>>>>> >>>>>>> You guys should check this out. It might give you a good start... >>>>>>> >>>>>>> >>>>>>> http://xsisupport.com/2012/10/06/saturday-snippet-getting-a-list-of-properties-and-methods-with-python-introspection/ >>>>>>> >>>>>>> >>>>>>> >>>>>>> On 04 January 2013 at 00:54 jo benayoun <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>> >>>>>>> > The Softimage API (object model) is not visible because its all >>>>>>> about dynamic >>>>>>> > dispatching at runtime. This is like thinking your editor will be >>>>>>> natively >>>>>>> > enough smart to detect attributes you would add dynamically when >>>>>>> overriding >>>>>>> > the __getattr__ method of a class. >>>>>>> > Happily for us the dispatching is cached somewhere and even >>>>>>> introspectable by >>>>>>> > using the pythoncom/pywin32 API. With a little effort and >>>>>>> sticking with >>>>>>> > python, one would have no problem in developing a plugin for this >>>>>>> text editor >>>>>>> > specially if sublime API is as convenient as it is claimed. The >>>>>>> first step is >>>>>>> > to learn how to use correctly the pywin32 package and what it does >>>>>>> under the >>>>>>> > hood to fully understand what the 'ultimate' solution could be. >>>>>>> > --jo >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > 2013/1/3 César Sáez <[email protected] <mailto:[email protected]> >>>>>>> > >>>>>>> > > > You're right, sublime/any-other-editor can't see that >>>>>>> softimage >>>>>>> > > > variables. >>>>>>> > > If you're using 'Application' (or any 'implicit variable' >>>>>>> like that) your >>>>>>> > > script will fail on import, sipyutils module (or your own >>>>>>> version of it) is >>>>>>> > > the way to go IMHO. >>>>>>> > > >>>>>>> > > >>>>>>> > > On Thu, Jan 3, 2013 at 9:18 PM, Alan Fregtman < >>>>>>> [email protected] >>>>>>> > > <mailto:[email protected]> > wrote: >>>>>>> > > > > > But it won't be able to find global XSI objects just >>>>>>> like that, >>>>>>> > > > > > right? "Application" is defined by the axscript >>>>>>> module, but I >>>>>>> > > > > > feel like SI internally dispatches it in a way I >>>>>>> don't think >>>>>>> > > > > > Sublime could "see" it. >>>>>>> > > > >>>>>>> > > > >>>>>>> > > > >>>>>>> > > > On Thu, Jan 3, 2013 at 1:40 PM, César Sáez < >>>>>>> [email protected] >>>>>>> > > > <mailto:[email protected]> > wrote: >>>>>>> > > > > > > > You have to add your environment paths to the >>>>>>> 'env' tag in >>>>>>> > > > > > > > your python.sublime-build config file, this way >>>>>>> if you have >>>>>>> > > > > > > > a shortcuts module it will instrospect it. >>>>>>> > > > > El 03/01/2013 17:34, "Gene Crucean" < >>>>>>> [email protected] >>>>>>> > > > > <mailto:[email protected]> > escribió: >>>>>>> > > > > > > > > > Hehe I was trying to figure out the same >>>>>>> thing. >>>>>>> > > > > > >>>>>>> > > > > > On Thu, Jan 3, 2013 at 8:09 AM, Alan Fregtman >>>>>>> > > > > > <[email protected] <mailto:[email protected]> >>>>>>> > wrote: >>>>>>> > > > > > > > > > > > I use SublimeCodeIntel too but it's >>>>>>> not aware >>>>>>> > > > > > > > > > > > of XSI globals like Application, >>>>>>> XSIUtils and >>>>>>> > > > > > > > > > > > so on, so it won't introspect them. >>>>>>> > > > > > > How would one hack it to be more aware of >>>>>>> such? >>>>>>> > > > > > > >>>>>>> > > > > > > >>>>>>> > > > > > > >>>>>>> > > > > > > >>>>>>> > > > > > > On Wed, Jan 2, 2013 at 9:19 PM, César Sáez >>>>>>> > > > > > > <[email protected] <mailto:[email protected]> > wrote: >>>>>>> > > > > > > > > > > > > > SublimeCodeIntel does a great >>>>>>> job >>>>>>> > > > > > > > > > > > > > autocompleting python modules >>>>>>> and import >>>>>>> > > > > > > > > > > > > > statements (via >>>>>>> introspoction, works with >>>>>>> > > > > > > > > > > > > > your own modules too), it's >>>>>>> not softimage >>>>>>> > > > > > > > > > > > > > specific but helps alot. >>>>>>> > > > > > > > >>>>>>> > > > > > > > Another cool package is the >>>>>>> SublimeLinter, it >>>>>>> > > > > > > > highlight potential errors in your code (IDE-like). I >>>>>>> have no idea >>>>>>> > > > > > > > how far I was from PEP8 until I start using it, now my >>>>>>> code is way >>>>>>> > > > > > > > cleaner and easy to the eyes :) >>>>>>> > > > > > > > >>>>>>> > > > > > > > >>>>>>> > > > > > > > >>>>>>> > > > > > > > On Thu, Jan 3, 2013 at 12:22 AM, Raffaele >>>>>>> Fragapane >>>>>>> > > > > > > > <[email protected] <mailto: >>>>>>> [email protected]> >>>>>>> > > > > > > > > wrote: >>>>>>> > > > > > > > > > > > > > > > You actually can >>>>>>> introspect >>>>>>> > > > > > > > > > > > > > > > recursively almost the >>>>>>> entirety of >>>>>>> > > > > > > > > > > > > > > > the scripting API and >>>>>>> generate a >>>>>>> > > > > > > > > > > > > > > > dummy set of libraries >>>>>>> from there. >>>>>>> > > > > > > > > > > > > > > > That will offer >>>>>>> autocompletion in >>>>>>> > > > > > > > > > > > > > > > most IDEs. >>>>>>> > > > > > > > > >>>>>>> > > > > > > > > We've had that running here in AL for >>>>>>> a while >>>>>>> > > > > > > > > thanks to Aloys' efforts a long time ago and it's >>>>>>> worked without >>>>>>> > > > > > > > > a hitch for years. >>>>>>> > > > > > > > > >>>>>>> > > > > > > > > On Thu, Jan 3, 2013 at 10:18 AM, Gene >>>>>>> Crucean >>>>>>> > > > > > > > > <[email protected] >>>>>>> > > > > > > > > <mailto:[email protected]> > wrote: >>>>>>> > > > > > > > > > > > > > > > > > It would be >>>>>>> completely >>>>>>> > > > > > > > > > > > > > > > > > bitchin if it >>>>>>> autocompleted >>>>>>> > > > > > > > > > > > > > > > > > the entire sdk... >>>>>>> and not >>>>>>> > > > > > > > > > > > > > > > > > just simple >>>>>>> commonly used >>>>>>> > > > > > > > > > > > > > > > > > snippets. >>>>>>> > > > > > > > > > > > > > > > > > >>>>>>> > > > > > > > > >>>>>>> > > > > > > > > > > > > > > > >>>>>>> > > > > > > > >>>>>>> > > > > > > > >>>>>>> > > > > > > > > > > > > > >>>>>>> > > > > > > >>>>>>> > > > > > > >>>>>>> > > > > > > > > > > > >>>>>>> > > > > > >>>>>>> > > > > > >>>>>>> > > > > > -- >>>>>>> > > > > > Gene Crucean - Emmy winning - Oscar nominated VFX >>>>>>> Supervisor >>>>>>> > > > > > / iOS-OSX Developer / Filmmaker / Photographer >>>>>>> > > > > > ** Freelance for hire ** >>>>>>> > > > > > www.genecrucean.com <http://www.genecrucean.com> >>>>>>> > > > > > >>>>>>> > > > > > ~~ Please use my website's contact form on >>>>>>> > > > > > www.genecrucean.com <http://www.genecrucean.com/> for >>>>>>> any personal >>>>>>> > > > > > emails. Thanks. I may not get them at this address. ~~ >>>>>>> > > > > > >>>>>>> > > > > > >>>>>>> > > > > > > > > > >>>>>>> > > > > >>>>>>> > > > > > > > >>>>>>> > > > >>>>>>> > > > >>>>>>> > > > > > >>>>>>> > > >>>>>>> > > >>>>>>> > > > >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >>> >> >> >> -- >> >> >> >> >> -=T=- >> > > > > -- > > > > > -=T=- > -- -=T=-

