I get an error indicating that SkippedCount isn't a valid attribute:
File "C:\bin\skiptest.py", line 5, in <module> skipped = curr.SkippedCount File "C:\Python25\Lib\site-packages\win32com\client\__init__.py", line 454, in __getattr__ raise AttributeError, "'%s' object has no attribute '%s'" % (repr(self), att r) AttributeError: '<win32com.gen_py.iTunes 1.9 Type Library.IITTrack instance at 0> x14463944>' object has no attribute 'SkippedCount'
If I comment out the lines referring to SkippedCount and SkippedDate, it works just fine. As far as I can tell from testing the same code in VBS, there should be no difference in how SkippedCount is accessed vs. how Name is accessed. I'm new to Python. Is anyone out there using iTunes that may have an idea?
On May 24, 4:23 pm, Denrael <lear...@gmail.com> wrote:
> I've been playing with the iTunes sdk on windows, and have come across > a strange problem. With the following code:
> import win32com.client > iTunes = win32com.client.gencache.EnsureDispatch("iTunes.Application") > curr = iTunes.CurrentTrack > name = curr.Name > skipped = curr.SkippedCount [...] > I get an error indicating that SkippedCount isn't a valid attribute:
[...]
The object you get back from iTunes.CurrentTrack (the traceback shows this) is an IITTrack. If you check the iTunes SDK, you'll see that IITTrack objects don't have a "SkippedCount" attribute - IITFileOrCDTrack objects do (from memory, this excludes things like radio links). You need to conver the IITrack object to a IITFileOrCDTrack object (assuming that it is one); you can do this with win32com.client.CastTo, as follows:
On May 24, 12:17 am, Tony Meyer <tony.me...@gmail.com> wrote:
> On May 24, 4:23 pm, Denrael <lear...@gmail.com> wrote:> I've been playing with the iTunes sdk on windows, and have come across > > a strange problem. With the following code:
> The object you get back from iTunes.CurrentTrack (the traceback shows > this) is an IITTrack. If you check the iTunes SDK, you'll see that > IITTrack objects don't have a "SkippedCount" attribute - > IITFileOrCDTrack objects do (from memory, this excludes things like > radio links). You need to conver the IITrack object to a > IITFileOrCDTrack object (assuming that it is one); you can do this > with win32com.client.CastTo, as follows:
> Cheers, > Tony
Thanks Tony!
I had a suspicion it had to do with casting it, but I was missing some synapses to figure out exactly how to do that. Things have changed from my Assembly Language PL/1 and REXX days. :) I figure if I'm gonna learn a new language, Python's a lot more usable than VBS, and it has an elegance to it that I already appreciate. I'm working my way thru Learning Python ... I suppose I better find some doc on the Win32 COM stuff too.
> On May 24, 12:17 am, Tony Meyer <tony.me...@gmail.com> wrote:
> > On May 24, 4:23 pm, Denrael <lear...@gmail.com> wrote:> I've been playing with the iTunes sdk on windows, and have come across > > > a strange problem. With the following code:
> > The object you get back from iTunes.CurrentTrack (the traceback shows > > this) is an IITTrack. If you check the iTunes SDK, you'll see that > > IITTrack objects don't have a "SkippedCount" attribute - > > IITFileOrCDTrack objects do (from memory, this excludes things like > > radio links). You need to conver the IITrack object to a > > IITFileOrCDTrack object (assuming that it is one); you can do this > > with win32com.client.CastTo, as follows:
> > Cheers, > > Tony
> Thanks Tony!
> I had a suspicion it had to do with casting it, but I was missing some > synapses to figure out exactly how to do that. Things have changed > from my Assembly Language PL/1 and REXX days. :) I figure if I'm > gonna learn a new language, Python's a lot more usable than VBS, and > it has an elegance to it that I already appreciate. I'm working my way > thru Learning Python ... I suppose I better find some doc on the Win32 > COM stuff too.
The best Python docs on win32 in general is "Python Programming on Win32" by Hammond & Robinson. It has some stuff on Python and COM as well. I'm sure a win32 COM book would be good too.