import argparse
import pyppdf
import re
from pyppeteer.errors import PageError, TimeoutError, NetworkError
def main():
parser = argparse.ArgumentParser(description = 'Page Downloader as PDF')
parser.add_argument('--link', '-l' , action = 'store', dest = 'link',
required = True, help = 'Informe o link para download.')
parser.add_argument('--name', '-n', action = 'store', dest = 'nome',
obrigatório = Falso, ajuda = 'Informe o nome para salvar.')
argumentos = parser.parse_args()
url = argumentos.link
se não argumentos.nome:
nome = re.sub(r'^\w+://', '', url.lower())
name = name.replace('/', '-')
else:
name = arguments.name
if not name.endswith('.pdf'):
name = name + '.pdf'
print(f'Name of the file: {name}')
try:
pyppdf.save_pdf(name, url)
except PageError:
print('URL não pôde ser resolvido.')
except TimeoutError:
print('Timeout.')
except NetworkError:
print('Sem acesso à rede .')
if __name__ == '__main__':
main()