def loadMovieFromArchive(archive): for filename in archive.namelist(): if filename.lower().endswith(('.3mm','.vmm')): movie = c3dmmFile() movie.loadFromObject(StringIO(archive.read(filename))) return movie raise LoadError('No 3mm/vmm found in archive')
def loadMovie(path): try: return c3dmmFile(path) except LoadError as err: if 'Not a 3mm/vmm file' in str(err): try: return loadMovieFromArchive(ZipFile(path)) except BadZipfile: return loadMovieFromArchive(RarFile(path)) else: raise
return nquad return quad def exePause(): if sys.argv[0].endswith('.exe'): os.system('pause') if len(sys.argv)<2: print 'PyQ.py version 0.1 by Foone Turing (@foone)' print 'Usage: PyQ.py <filename.wav> [filename2.wav] [filename3.wav] [...] [filenameN.wav]' print "\nIf you're using the .exe version, you can simply drag a WAV file onto the PyQ.exe file and it'll convert" exePause() sys.exit() try: infile=None for path in ('data/template.3mm.dat','template.3mm.dat'): try: infile=lib3dmm.c3dmmFile('data/template.3mm.dat') break except IOError: newpath=os.path.join(os.path.dirname(sys.argv[0]),path) try: infile=lib3dmm.c3dmmFile(newpath) break except: pass if infile is None: raise IOError('Couldn\'t open template file!') files=[] for arg in sys.argv[1:]: if '*' in arg or '?' in arg: files.extend(glob(arg)) else: