├── README.md ├── backup.py ├── currency.py └── youtube.py /README.md: -------------------------------------------------------------------------------- 1 | # Python-Beginner-Automation-Projects 2 | 3 | # 💻 Launch Your Software Development Career Today! 4 | 5 | 🎓 **No degree? No problem!** My program equips you with everything you need to break into tech and land an entry-level software development role. 6 | 7 | 🚀 **Why Join?** 8 | - 💼 **$70k+ starting salary potential** 9 | - 🕐 **Self-paced:** Complete on your own time 10 | - 🤑 **Affordable:** Low risk compared to expensive bootcamps or degrees 11 | - 🎯 **45,000+ job openings** in the market 12 | 13 | 👉 **[Start your journey today!](https://techwithtim.net/dev)** 14 | No experience needed—just your determination. Future-proof your career and unlock six-figure potential like many of our students have! 15 | -------------------------------------------------------------------------------- /backup.py: -------------------------------------------------------------------------------- 1 | import os 2 | import shutil 3 | import datetime 4 | import schedule 5 | import time 6 | 7 | source_dir = "C:/Users/Tim/Pictures/Screenshots" 8 | destination_dir = "C:/Users/Tim/Desktop/Backups" 9 | 10 | def copy_folder_to_directory(source, dest): 11 | today = datetime.date.today() 12 | dest_dir = os.path.join(dest, str(today)) 13 | 14 | try: 15 | shutil.copytree(source, dest_dir) 16 | print(f"Folder copied to: {dest_dir}") 17 | except FileExistsError: 18 | print(f"Folder already exists in: {dest}") 19 | 20 | 21 | schedule.every().day.at("18:57").do(lambda: copy_folder_to_directory(source_dir, destination_dir)) 22 | 23 | while True: 24 | schedule.run_pending() 25 | time.sleep(60) -------------------------------------------------------------------------------- /currency.py: -------------------------------------------------------------------------------- 1 | import requests 2 | 3 | API_KEY = 'fca_live_QiRD4yaE7K1aJQIAfVLojfu8J2KPxSXPYkDxxTzc' 4 | BASE_URL = f"https://api.freecurrencyapi.com/v1/latest?apikey={API_KEY}" 5 | 6 | CURRENCIES = ["USD", "CAD", "EUR", "AUD", "CNY"] 7 | 8 | def convert_currency(base): 9 | currencies = ",".join(CURRENCIES) 10 | url = f"{BASE_URL}&base_currency={base}¤cies={currencies}" 11 | try: 12 | response = requests.get(url) 13 | data = response.json() 14 | return data["data"] 15 | except: 16 | print("Invalid currency.") 17 | return None 18 | 19 | while True: 20 | base = input("Enter the base currency (q for quit): ").upper() 21 | 22 | if base == "Q": 23 | break 24 | 25 | data = convert_currency(base) 26 | if not data: 27 | continue 28 | 29 | del data[base] 30 | for ticker, value in data.items(): 31 | print(f"{ticker}: {value}") -------------------------------------------------------------------------------- /youtube.py: -------------------------------------------------------------------------------- 1 | from pytube import YouTube 2 | import tkinter as tk 3 | from tkinter import filedialog 4 | 5 | def download_video(url, save_path): 6 | try: 7 | yt = YouTube(url) 8 | streams = yt.streams.filter(progressive=True, file_extension="mp4") 9 | highest_res_stream = streams.get_highest_resolution() 10 | highest_res_stream.download(output_path=save_path) 11 | print("Video downloaded successfully!") 12 | except Exception as e: 13 | print(e) 14 | 15 | def open_file_dialog(): 16 | folder = filedialog.askdirectory() 17 | if folder: 18 | print(f"Selected folder: {folder}") 19 | 20 | return folder 21 | 22 | if __name__ == "__main__": 23 | root = tk.Tk() 24 | root.withdraw() 25 | 26 | video_url = input("Please enter a YouTube url: ") 27 | save_dir = open_file_dialog() 28 | 29 | if save_dir: 30 | print("Started download...") 31 | download_video(video_url, save_dir) 32 | else: 33 | print("Invalid save location.") --------------------------------------------------------------------------------