import json import os from tinytag import TinyTag from PIL import Image import io import math path = "D:/01-Bhajan Haridham-Mp3 (Pen-1)" # list all files in the directory and subdirectories and store them in a list def list_files(path): files = [] for r, d, f in os.walk(path): for file in f: if ".mp3" in file: files.append(os.path.join(r, file).replace("\\", "/")) return files bhajan_audios = list_files(path) # extract all metadata from the mp3 files and store them in a list data = [] for bhajan in bhajan_audios: metadata = {} # audio = TinyTag.get(bhajan) audio = TinyTag.get(bhajan, image=True) try: image = audio.get_image() if image is not None: pi = Image.open(io.BytesIO(image)) pi.save("D:/01-Bhajan Haridham-Mp3 (Pen-1)/thumbnail/" + audio.title + ".jpg") metadata["thumbnail"] = True except: pass try: print("Url:" + bhajan) metadata["url"] = bhajan.replace("D:/01-Bhajan Haridham-Mp3 (Pen-1)","") except: pass try: print("Title:" + audio.title) metadata["title"] = audio.title except: pass try: print("album:" + audio.album) metadata["album"] = audio.album except: pass try: print("Artist: " + audio.artist) metadata["artist"] = audio.artist except: pass try: print("Year Released: " + audio.year) metadata["year"] = audio.year except: pass try: print("AlbumArtist: " + audio.albumartist) metadata["albumArtist"] = audio.albumartist except: pass try: print("Duration: " + str(audio.duration) + " seconds") # convert the duration to minutes and seconds metadata["duration"] = [math.floor(audio.duration / 60), math.floor(audio.duration % 60)] except: pass try: print("copyright: " + audio.extra["copywrite"]) # convert the duration to minutes and seconds metadata["copyright"] = audio.extra["copywrite"] except: pass data.append(metadata) with open("./metadata.json", "w") as f: json.dump(data, f, indent=4) def swamiNiVato(): prakaran1Data = json.loads( open("./extra/swamiNiVato/prakaran_1_data.json", "r", encoding="utf-8").read() ) prakaran2Data = json.loads( open("./extra/swamiNiVato/prakaran_2_data.json", "r", encoding="utf-8").read() ) prakaran3Data = json.loads( open("./extra/swamiNiVato/prakaran_3_data.json", "r", encoding="utf-8").read() ) prakaran4Data = json.loads( open("./extra/swamiNiVato/prakaran_4_data.json", "r", encoding="utf-8").read() ) prakaran5Data = json.loads( open("./extra/swamiNiVato/prakaran_5_data.json", "r", encoding="utf-8").read() ) prakaran6Data = json.loads( open("./extra/swamiNiVato/prakaran_6_data.json", "r", encoding="utf-8").read() ) prakaran7Data = json.loads( open("./extra/swamiNiVato/prakaran_7_data.json", "r", encoding="utf-8").read() ) swamiNiVato = Books.objects.filter(title="Swami Ni Vato").first() # create 7 new sections in the book for i in range(1, 8): section = Sections.objects.create( book=swamiNiVato, title=f"Prakaran {i}", urlId=f"prakaran-{i}", isPdf=False, hasChapters=True, ) # each prakaran { # "contentGuj": "અનાદિ મૂળ અક્ષરમૂર્તિ શ્રી ગુણાતીતાનંદ સ્વામીએ વાત કરી જે, ભગવાન ને સાધુના મહિમાની વાતું નિરંતર કરવી ને સાંભળવી. ને મહારજ તો પોતાનું અક્ષરધામ ને પાર્ષદ ને પોતાનું સમગ્ર ઐશ્વર્ય તે લઈને આંહી પધાર્યા છે. તે એવા ને એવા જ છે. ને દેહ મૂકીને જેને પામવા છે, તે આજ દેહ છતાં મળ્યા છે, કાંઈ બાકી નથી; ને એમ ન સમજાય તેથી જીવમાં દુર્બળતા રહે છે, ને એમ સમજાય ત્યારે કોઈ દિવસ જીવમાં દુર્બળતા મનાય જ નહિ; ને જીવ બીજી રીતનો થઈ જાય છે. ને મહિમા સમજવા જેવું બીજું કોઈ મોટું સાધન પણ નથી ને મહિમા વિના બીજાં ગમે એટલાં સાધન કરે, તો પણ જીવ બળને પામે નહિ. ને એવો મહિમા સમજવાનું કારણ તો એવા ભગવદીનો પ્રસંગ છે, પણ તે વિના એવો મહિમા સમજાતો નથી.", # "footnoteGuj": "", # "mp3": "https://ia903107.us.archive.org/9/items/vato_20191108/1.mp3", # "contentEng": "One should continuously engage in delivering and listening to talks on the glory of God and his Sadhu. Maharaj has come here (to earth) with his Akshardham,parshadsand all his powers. He is exactly the same (today).1He whom we wish to attain after death, we have attained during this life; there is nothing more left to attain. If this truth is not understood properly, thejivaremains weak. Once this is understood, thejivawill no longer consider itself weak and will acquire a different mettle. Also, there is no greater endeavour than to understand the glory of God. Without understanding the glory, even countless other endeavours will not enable thejivato attain spiritual strength. The means to understanding this glory is profound association with such a holy Sadhu, and without it the true glory of God cannot be understood.", # "footnoteEng": "1. Meaning, the human form on earth is the same as the divine form in Akshardham.", # "prakaran": 1, # "vato": 1 # } # data for data in prakaran1Data: section = Sections.objects.filter( book=swamiNiVato, urlId=f"prakaran-{data["prakaran"]}" ).first() Chapters.objects.create( title=f'Vat {data["vato"]}', urlId=f'vat-{data["vato"]}', data=data, section=section, book=swamiNiVato, isPdf=False, ) for data in prakaran2Data: section = Sections.objects.filter( book=swamiNiVato, urlId=f"prakaran-{data['prakaran']}" ).first() Chapters.objects.create( title=f'Vat {data["vato"]}', urlId=f'vat-{data["vato"]}', data=data, section=section, book=swamiNiVato, isPdf=False, ) for data in prakaran3Data: section = Sections.objects.filter( book=swamiNiVato, urlId=f"prakaran-{data['prakaran']}" ).first() Chapters.objects.create( title=f'Vat {data["vato"]}', urlId=f'vat-{data["vato"]}', data=data, section=section, book=swamiNiVato, isPdf=False, ) for data in prakaran4Data: section = Sections.objects.filter( book=swamiNiVato, urlId=f"prakaran-{data['prakaran']}" ).first() Chapters.objects.create( title=f'Vat {data["vato"]}', urlId=f'vat-{data["vato"]}', data=data, section=section, book=swamiNiVato, isPdf=False, ) for data in prakaran5Data: section = Sections.objects.filter( book=swamiNiVato, urlId=f"prakaran-{data['prakaran']}" ).first() Chapters.objects.create( title=f'Vat {data["vato"]}', urlId=f'vat-{data["vato"]}', data=data, section=section, book=swamiNiVato, isPdf=False, ) for data in prakaran6Data: section = Sections.objects.filter( book=swamiNiVato, urlId=f"prakaran-{data['prakaran']}" ).first() Chapters.objects.create( title=f'Vat {data["vato"]}', urlId=f'vat-{data["vato"]}', data=data, section=section, book=swamiNiVato, isPdf=False, ) for data in prakaran7Data: section = Sections.objects.filter( book=swamiNiVato, urlId=f"prakaran-{data['prakaran']}" ).first() Chapters.objects.create( title=f'Vat {data["vato"]}', urlId=f'vat-{data["vato"]}', data=data, section=section, book=swamiNiVato, isPdf=False, )