diff --git a/__pycache__/pir_connector.cpython-37.pyc b/__pycache__/pir_connector.cpython-37.pyc new file mode 100644 index 0000000..3597b25 Binary files /dev/null and b/__pycache__/pir_connector.cpython-37.pyc differ diff --git a/main.py b/main.py index 582d215..8b04cf1 100644 --- a/main.py +++ b/main.py @@ -1,110 +1,4 @@ -import requests -import json -import os -from bs4 import BeautifulSoup -from PIL import Image -from fpdf import FPDF - -baseurl = "https://bvtlab.com" -phpsessid = "lps4od32b4kgibtgd1440df7i5" -sid = "b88e922dd251e1f6" -time = "6535904988" - -reqcookies = dict(PHPSESSID=phpsessid) - -def getImageName(imageURL): - result = "" - for char in imageURL: - result += char - if char == "/": - result = "" - - return result - -def downloadImage(imageURL, outDir, outFile): - i = requests.get(imageURL) - - if not os.path.exists(outDir): - os.makedirs(outDir) - - with open(os.path.join(outDir, outFile), 'wb') as tempFile: - tempFile.write(i.content) - -def getSegments(): - payload = { - "action": "getsegments", - "sid": sid, - } - - r = requests.get(baseurl + "/ebook.php", params=payload, cookies=reqcookies) - items = r.json() - - result = [] - - for i in range(0, len(items)): - if items[i]["Section"] == None: - #print(i+1, items[i]["Title"], items[i]["Short_Title"]) - result.append([i+1, items[i]["Level1"], items[i]["Segment_Depth"], items[i]["Segment_Level"], items[i]["Line_Item"], items[i]["Short_Title"], items[i]["Title"]]) - - return result - -def getPages(seg, lev, seg_dep, seg_lev, li): - payload = { - "action": "getpages", - "sid": sid, - "segment": seg, - "level": lev, - "segment_depth": seg_dep, - "segment_level": seg_lev, - "line_item": li, - "width": 550 - } - - r = requests.get(baseurl + "/ebook.php", params=payload, cookies=reqcookies) - soup = BeautifulSoup(r.text, 'html.parser') - - return soup.find_all("div") - -def ripPages(divlist, dir, pdf): - for d in divlist: - pagenum = d["data-page"] - imgs = d.find_all("img") - - print(pagenum, "----", d) - - width = 1100 - height = 1491 - - stichedIm = Image.new('RGB', (width, height)) - - ih = 0 - - for im in imgs: - print(im) - imurl = im["data-src"] - downloadImage(imurl, dir + "/page_" + pagenum, im["id"] + ".jpg") - - im = Image.open(os.path.join(dir + "/page_" + pagenum, im["id"] + ".jpg")) - print(im.size) - #height += im.size[1] - - stichedIm.paste(im, (0, im.size[1] * ih)) - - ih += 1 - - stichedIm.save(dir + "/page_"+ pagenum + ".jpg") - pdf.add_page() - pdf.image(dir + "/page_"+ pagenum + ".jpg", 0, 0) - print("the height:", width, height) +import pir_connector -chapters = getSegments() - -pdf = FPDF(unit = "pt", format = [1100, 1491]) - -for x in range(0, len(chapters)): - s = getPages(chapters[x][0], chapters[x][1], chapters[x][2], chapters[x][3], chapters[x][4]) - outdir = chapters[x][5] + "_" + chapters[x][6] - ripPages(s, outdir, pdf) - -pdf.output("ebook.pdf", "F") +pir_connector.downloadSong("https://www.partnersinrhyme.com/files/Happy_Carefree_Music/samples/files/Carefree_Bluegrass.mp3", "Carefree_Bluegrass.mp3", "Happy_Carefree_Music") diff --git a/main_example.py b/main_example.py new file mode 100644 index 0000000..a5c60e2 --- /dev/null +++ b/main_example.py @@ -0,0 +1,108 @@ +import requests +import json +import os +from bs4 import BeautifulSoup + +baseurl = "https://bvtlab.com" +phpsessid = "lps4od32b4kgibtgd1440df7i5" +sid = "b88e922dd251e1f6" +time = "6535904988" + +reqcookies = dict(PHPSESSID=phpsessid) + +def getImageName(imageURL): + result = "" + for char in imageURL: + result += char + if char == "/": + result = "" + + return result + +def downloadImage(imageURL, outDir, outFile): + i = requests.get(imageURL) + + if not os.path.exists(outDir): + os.makedirs(outDir) + + with open(os.path.join(outDir, outFile), 'wb') as tempFile: + tempFile.write(i.content) + +def getSegments(): + payload = { + "action": "getsegments", + "sid": sid, + } + + r = requests.get(baseurl + "/ebook.php", params=payload, cookies=reqcookies) + items = r.json() + + result = [] + + for i in range(0, len(items)): + if items[i]["Section"] == None: + #print(i+1, items[i]["Title"], items[i]["Short_Title"]) + result.append([i+1, items[i]["Level1"], items[i]["Segment_Depth"], items[i]["Segment_Level"], items[i]["Line_Item"], items[i]["Short_Title"], items[i]["Title"]]) + + return result + +def getPages(seg, lev, seg_dep, seg_lev, li): + payload = { + "action": "getpages", + "sid": sid, + "segment": seg, + "level": lev, + "segment_depth": seg_dep, + "segment_level": seg_lev, + "line_item": li, + "width": 550 + } + + r = requests.get(baseurl + "/ebook.php", params=payload, cookies=reqcookies) + soup = BeautifulSoup(r.text, 'html.parser') + + return soup.find_all("div") + +def ripPages(divlist, dir, pdf): + for d in divlist: + pagenum = d["data-page"] + imgs = d.find_all("img") + + print(pagenum, "----", d) + + width = 1100 + height = 1491 + + stichedIm = Image.new('RGB', (width, height)) + + ih = 0 + + for im in imgs: + print(im) + imurl = im["data-src"] + downloadImage(imurl, dir + "/page_" + pagenum, im["id"] + ".jpg") + + im = Image.open(os.path.join(dir + "/page_" + pagenum, im["id"] + ".jpg")) + print(im.size) + #height += im.size[1] + + stichedIm.paste(im, (0, im.size[1] * ih)) + + ih += 1 + + stichedIm.save(dir + "/page_"+ pagenum + ".jpg") + pdf.add_page() + pdf.image(dir + "/page_"+ pagenum + ".jpg", 0, 0) + print("the height:", width, height) + + +chapters = getSegments() + +pdf = FPDF(unit = "pt", format = [1100, 1491]) + +for x in range(0, len(chapters)): + s = getPages(chapters[x][0], chapters[x][1], chapters[x][2], chapters[x][3], chapters[x][4]) + outdir = chapters[x][5] + "_" + chapters[x][6] + ripPages(s, outdir, pdf) + +pdf.output("ebook.pdf", "F") diff --git a/pir_connector.py b/pir_connector.py new file mode 100644 index 0000000..51bf27d --- /dev/null +++ b/pir_connector.py @@ -0,0 +1,22 @@ +import requests +import json +import os +from bs4 import BeautifulSoup + +base_url = "https://www.partnersinrhyme.com/royaltyfreemusic" +base_files_url = "https://www.partnersinrhyme.com/files" +base_out_url = "files/" + +def downloadSong(song_url, song_file, collection_name): + outDir = base_out_url + collection_name + outFile = song_file; + + if not os.path.exists(outDir): + os.makedirs(outDir) + + i = requests.get(song_url) + + with open(os.path.join(outDir, outFile), 'wb') as tempFile: + tempFile.write(i.content) + +# def getCollection(collection_name):