import vconfig import vcollector import vobjects config = vconfig.VConfig(open("config.json")) print("Fetching list of audio") audio_list = vcollector.audio_list(config) print("Fetching audio metadata") audio_data = vcollector.audio_data(config, audio_list) print("Fetching audio manifests") for data in audio_data: if vobjects.Manifest.load(config, data): print(f"\tPre-Fetched: {data.hindex()}") continue manifest = vcollector.audio_manifest(config, data) data.manifest(manifest) data.manifest().store(config) print(f"\tFetched: {data.hindex()}") print("Fetching audio chunks") for data in audio_data: manifest = data.manifest() if manifest.hashed(config): print(f"\tPre-fetched: {data.hindex()}") continue chunks = manifest.chunks() for idx, chunk in enumerate(chunks): chunks[idx] = (vcollector.audio_chunk(config, data, chunk)) print(f"\tFetching: {data.hindex()} | {idx + 1}/{len(chunks)}", end='\r') for chunk in chunks: chunk.store(config) manifest.hash(config, chunks) print(f"\tFetched: {data.hindex()}", end=' \n') print("Building audio") for idx, data in enumerate(audio_data): if data.hashed(config): print(f"\tPre-built: {data.hindex()}") continue vcollector.audio(config, data.manifest(), idx + 1) data.hash(config) print(f"\tBuilt: {data.hindex()}") print("Done")