Nicholas, Has, thanks a lot for bringing me up to speed! the help functions didnt all work for me, and I completely missed htmldoc.py, so I was flying blind.... e.g. quicktime.can_export.help() results in errors for me (using apples tiger pythonw)
======================================================================== ======== Appscript Help (-t) Reference: app(u'/Applications/QuickTime Player.app').can_export ------------------------------------------------------------------------ -------- Description of reference Traceback (most recent call last): File "<stdin>", line 1, in ? File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/ python2.3/site-packages/appscript/helpmixins.py", line 47, in help return self._appData.help(flags, self) File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/ python2.3/site-packages/appscript/helpmixins.py", line 41, in <lambda> self.help = lambda flags, ref: helpObj.help(flags, ref) # replace stub method with real help File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/ python2.3/site-packages/appscript/helpsystem.py", line 361, in help wrapper = fn(self, *args) File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/ python2.3/site-packages/appscript/helpsystem.py", line 269, in _terminologyForClassOrCommand ref.AS_printTerminologyForThisRef(self) File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/ python2.3/site-packages/appscript/helpmixins.py", line 56, in AS_printTerminologyForThisRef helpObj.command(self._classcode, self._idcode) AttributeError: 'Command' object has no attribute '_classcode' but now, thanks to htmldoc.py, I have the full quicktime help anyway thanks again! -frank On 5 okt 2005, at 19.36, has wrote: > captnswing wrote: > > >> the following applescript snippet seems unimplementable in >> appscript, to me at least: >> >> ================================================= >> if (can export movie 1 as DV stream) is true then >> try >> with timeout of 360 seconds >> export movie 1 to POSIX file the_newname as DV stream >> using settings the_settings with replacing >> end timeout >> on error errorMsg number errNo >> ... >> end try >> end if >> ================================================= >> > > > #!/usr/bin/env pythonw > > from appscript import * > from macfile import File > > qtp = app('QuickTime Player') > > m = qtp.movies[1] > if m.can_export(as=k.DV_stream): > try: > m.export(to=File(the_newname), as=k.DV_stream, > using_settings=the_settings, replacing=True, > timeout=360) > except Exception, e: > ... > > > >> ================================================= >> --get number of tracks and kind of movie >> tell application "QuickTime Player" >> activate >> open the_file >> tell movie file_name >> set track_count to the count of tracks >> set track_kind to the kind of track 1 >> end tell >> end tell >> >> --if movie is muxed mpeg >> if (track_count is equal to 1) and (track_kind contains "Muxed") then >> ..... >> ================================================= >> > > qtp.activate() > qtp.open(the_file) > m = qtp.movies[file_name] > track_count = m.tracks.count() > track_kind = m.tracks[1].kind.get() > > if track_count == 1 and 'Muxed' in track_kind: > ... > > > >> it is unclear to me how to get to the track_kind property of a movie >> are not all properties and functions mapped over to appscript? >> > > Everything maps (barring bugs). As Nick says, use appscript's help > system for viewing applications' dictionaries; it's pretty > extensive (roughly on par with Script Debugger's dictionary tools, > though CLI-based rather than GUI). > > > >> also I wonder how you can tell which appscript command takes what >> parameters. >> > > See the appscript documentation for info on appscript-defined > parameters (e.g. 'timeout'), and use the help system to view the > command's basic definition. The rest is searching secondary > resources (supplementary documentation, sample scripts, mailing > list discussions, etc.), educated guesswork and trial and error, > same as usual. Application dictionaries have always been > frustratingly vague on the finer details; appscript only saves you > from the AppleScript language, not the shortcomings of individual > applications. > > > >> and finally, what does the k. in the documentation >> > > 'Keyword'. It's a fake namespace, part of appscript's syntactic > sugar, used to specify types and enumerations. > > > >> (and the above get () call) stand for? >> > > Unlike AppleScript, which can perform 'implicit gets' when > evaluating a literal application reference, appscript only sends a > get event when you tell it to. Again, this is in the appscript > documentation. > > HTH > > has > -- > http://freespace.virgin.net/hamish.sanderson/ > _______________________________________________ > Pythonmac-SIG maillist - Pythonmac-SIG@python.org > http://mail.python.org/mailman/listinfo/pythonmac-sig > > > _______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig