Пример #1
0
def getAlbum(savefilename, playlistindex, tracklist, flags, genre='', reset=True):
   metadata, tracklist = tracklist[0], tracklist[1:]
   metadata = list(metadata) + [genre]
   s = ParseTables.writeextendedtracklist("%s.txt" % os.path.join(dumpdir, savefilename), flags, metadata, tracklist)
   logger.info("\n%s" % s)
   
   playlistindex = int(playlistindex)
   albumlen = sum((s[1] for s in tracklist))
   logger.info("Length: %d" % albumlen)
   
   if playlistindex > vs['Constants']['maxplaylists']:
      logger.error("Playlist index must be %d or below" % vs['Constants']['maxplaylists'])
      sys.exit(2)

   MouseDo(' '.join([Wait(2),
                     Window(1), 
                     Move(*vs['Audacity']['record']), 
                     Click(), 
                     Wait(5), 
                     Window(0), 
                     Play(playlistindex), 
                     Wait(2),
                     Move(*vs['Grooveshark']['safespot'])
                    ]))
   if albumlen > 3600:
      Idle(albumlen + 30)
   else:
      time.sleep(albumlen + 30)
   MouseDo(' '.join([Move(100,100),
                     Wait(1),
                     Window(1),
                     Move(*vs['Audacity']['stop']),
                     Click()]))
   if reset:
      savepath = os.path.join(dumpdir, "%s.wav" % savefilename)
      MouseDo(' '.join([Move(*vs['Audacity']['file']),
                        Click(),
                        Move(*vs['Audacity']['export']),
                        Click(),
                        Type(savepath),
                        Enter(),
                        Enter(),
                        Move(*vs['Audacity']['middle']),
                        Wait(albumlen / 35),
                        Click(),
                        Toggle('c'),
                        Type('z'),
                        Toggle('c'),
                        Window(0),
                        Move(*vs['Grooveshark']['empty']),
                        Click(),
                        Wait(1),
                        Window(2)
                       ]))
      if split:
         splitTrack(savefilename)