# Import Module
import pdfx
import os
import shutil
import urllib.request, urllib.error, urllib.parse

src='./documente'
dst1='./descarcate_temp'
dst2='./descarcate'

_intrare=[f for f in os.listdir(src) if '.pdf' in f]
intrare = []
for item in _intrare:
    intrare += [item]
    intrare += [item+'.infos.json']
print(intrare)

for file in _intrare:
    try:
        pdf = pdfx.PDFx(src + '/' + file)
        pdf.download_pdfs(dst1)
    except:
        print('PDF Invalid: ', src + '/' + file)
        if '.txt' in file:
            lines = []
            with open(src+'/'+file, 'r') as f:
                for l in f.readlines():
                    lines += [l.strip()]
            for url in lines:
                try:
                    response=urllib.request.urlopen(url)
                    content=response.read()
                    new_pdf=url[url.rfind('/') + 1:]
                    with open(src+'/'+new_pdf, 'w') as f:
                        f.write(content)
                except:
                    print('URL invalid: ', url)

os.mkdir(dst2)
for currentpath, folders, files in os.walk(dst1):
    for file in files:
        if not file in intrare:        
            curent_pdf = os.path.join(currentpath, file)
            target_pdf = dst2 + '/' + file
            shutil.move(curent_pdf, target_pdf)

shutil.rmtree(dst1)

for item in os.listdir(dst2):
    shutil.move(dst2 + '/' + item, src + '/' + item)    

shutil.rmtree(dst2)

