Initial commit

This commit is contained in:
Blue Fox 2022-09-10 08:07:14 +02:00
commit b729fb9a3d
2 changed files with 44 additions and 0 deletions

41
http_downloader.py Normal file
View File

@ -0,0 +1,41 @@
#!/usr/bin/python3
"""
Usage:
./http_downloader.py <list_of_urls_filepath>
Description:
The program was intended to work as a simple downloader of multiple http urls using wget. The URLs are
given in the first parameter of the program. Then it reads every line of the file and interprets it as
one URL. Each line is passed to wget to download.
"""
import sys
import os
import subprocess
if __name__ == "__main__":
# some checks
if len(sys.argv) < 1: # something malicious, no start from shell! (when sys.argv is an empty list)
exit(1)
if len(sys.argv) == 1:
print(f"Usage: {sys.argv[0]} <list_of_urls_filepath>")
exit(1)
if len(sys.argv) > 2:
print(f"[WARNING] Only the first argument given will be used ({sys.argv[1]})")
# now sys.argv is shurely 2 elements in length; let the real process begin
try:
with open(sys.argv[1]) as f:
print(f"Opened {sys.argv[1]}, reading...")
urls = f.readlines()
for url in urls:
print(f"Getting {url}: ", end="") # print text, without newline at the end
returncode = subprocess.run(["wget", url], shell=True, stderr=subprocess.STDOUT, stdout=subprocess.PIPE).returncode
if returncode != 0:
print(f"not a valid URL/not existent, skipping!")
print("100%.")
except FileNotFoundError:
print(f"File \"{sys.argv[1]}\" could not be found, maybe not a file or path badly specified?")
exit(1)

3
test_list.txt Normal file
View File

@ -0,0 +1,3 @@
https://example.org/
https://www.python.org/ftp/python/3.10.7/Python-3.10.7.tar.xz
https://pypi.org/project/pip