Wobbly-Website/files/python/PyBrow/PyBrow1.3.py
2023-07-30 18:32:42 +02:00

116 lines
No EOL
8.2 KiB
Python

#!/usr/bin/python3
import webview
import os
def pybrow(): # Das macht den Code der laeuft waehrend das Fenster offen ist.
loop01 = 1 # Das ist die Variable die bestimmt ob die wiederholung noch an ist.
while loop01 == 1: # Das ist die wiederholung des Scripts.
input01 = input("URL, search or command: ") #Das ist die Eingabe wo man Links und Commands eingeben kann.
if (input01.__contains__("https://")): #Das guckt ob "https://" davor steht.
url = input01 # Das Setzt dann den URL auf die unveraenderte Eingabe.
command = "False" # Das Bestaetigt, dass die Eingabe kein Command ist.
else: # Das wird nur ausgefuehrt wenn "input01" kein "https://" hat.
if (input01.__contains__(".")): # Das guckt ob die Eingabe ein URL sein koennte.
url = "https://" + input01 # Das setzt, falls nicht vorhanden, das notwendige "https://" davor.
command = "False" # Das Bestaetigt, dass die Eingabe kein Command ist.
else: # Das wird nur ausgefuehrt wenn "input01" kein Link sein kann.
if input01[:1] == "/": #Das guckt ob man einen befehl schreibt.
command_exists = "False" # Das Bestaetigt dass der Befehl nicht existiert indem er die Variable auf "False" Setzt und jeder exsistierende Befehl setzt die Variable auf "True".
command="True" # Das bestaetigt dass das ein Befehl ist.
if input01 == "/exit": # Das erkennt ob man "exit" schreibt und fuehrt dann das Script aus dass das Programm Stoppt.
loop01 = 0 # Das stoppt die Wiederholung.
window.destroy() # Das schliesst das Fenster.
command_exists = "True" # Das bestaetigt dass der Befehl Existiert.
if input01 == "/desktop": # Das fuehrt das Script aus das die Desktopdatei erstellt wenn man den "desktop" Befehl verwendet.
desktop_location = input("Please write the name of your desktop folder: ") # Durch diese Eingabe wird gespeichert wie dein Desktopordner heist.
os.system("chmod +x " + os.path.dirname(os.path.realpath(__file__)) + "/PyBrow1.2.py") # Das macht die Python-Datei ausfuehrbar.
desktop_file = open(os.path.expanduser('~') + "/" + desktop_location + "/PyBrow1.3.desktop", "w") # Das erstellt und oeffnet die Desktopdatei.
desktop_file.write('[Desktop Entry]\nName=PyBrow1.3\nComment=A Web Browser made with Python.\nExec="' + os.path.dirname(os.path.realpath(__file__)) + '/PyBrow1.2.py"\nTerminal=True\nType=Application\nIcon=' + os.path.dirname(os.path.realpath(__file__)) + "/PyBrow-Icon1.0-x.png") # Das schreibt in die Desktopdatei.
desktop_file.close() # Das schliesst die Desktopdatei.
command_exists = "True" # Das bestaetigt dass der Befehl Existiert.
if input01 == "/help": # Das fuehrt das Script aus dass Befehle und so anzeigt.
print("\nCommands:\n \n/help - Shows this here.\n/exit - Closes the program.\n/desktop - Creates a desktop shortcut.\n/startpage - Sets a new startpage\n") # Das zeigt einem alle Befehle.
command_exists = "True" # Das bestaetigt dass der Befehl Existiert.
if input01 == "/startpage": # Das guckt ob man den befehl "/startpage" eingibt.
command_exists = "True" # Das bestätigt dass es den Befehl gibt.
new_startpage_valid = "False" # Das bestaetigt dass die Eingabe kein Link ist wenn die Variable nicht geaendert wird.
new_startpage_input = input("Please enter new startpage url: ") # Das fragt den neuen Link ab.
if (new_startpage_input.__contains__("https://")): # Das guckt ob "https://" davor steht.
new_startpage_url = new_startpage_input # Das setzt die Startseiten Variable auf die Eingabe.
new_startpage_valid = "True" # Das bestaetigt dass die Eingabe ein Link ist.
else:
if(new_startpage_input.__contains__(".")): # Das guckt ob die Eingabe ein link sein kann.
new_startpage_url = "https://" + new_startpage_input # Das macht ein "https://" davor fals nicht vorhanden.
new_startpage_valid = "True" # Das bestaetigt dass die Eingabe ein Link ist.
else:
print("This is not a valid url.") # Das macht eine Nachricht wenn die Eingabe kein Link sein kann.
if new_startpage_valid == "True": # Das guckt ob die Eingabe als Link erkannt wurde.
read_settings01 = open(os.path.dirname(os.path.realpath(__file__)) + "/settings.txt", "rt") # Das oeffnet die Einstellungen.
all_settings_str01 = read_settings01.read() # Das liest die Einstellungen.
read_settings01.close() # Das schliesst die Einstellungen.
all_settings_list01 = all_settings_str01.split(",") # Das macht die Einstellungen zu einer Liste.
print("\nCurrent url is: " + all_settings_list01[0]) # Das schreibt den bis jetzt noch gespeicherten Startseiten-Link.
print("New url is: " + new_startpage_url) # Das schreibt den neuen Startseiten-Link.
yesno_input01 = input("Do you really want to change the url? (y-yes/n-no): ") # Das fragt ob man den Link wirklich aendern will.
if yesno_input01 == "y" or yesno_input01 == "yes": # Das guckt ob man die Aenderungen bestaetigt hat.
all_settings_list01[0] = new_startpage_url # Das ersetzt den alten Link mit dem neuen.
all_settings_str_changed01 = ",".join(map(str, all_settings_list01)) # Das macht die neuen Einstallungen zu einem String.
save_settings01 = open(os.path.dirname(os.path.realpath(__file__)) + "/settings.txt", "wt") # Das oeffnet die Einstallungen.
save_settings01.write(all_settings_str_changed01) # Das speichert die Einstallungen.
save_settings01.close() # Das schliesst die Einstellungen.
if not yesno_input01 == "y" and not yesno_input01 == "yes": # Das guckt ob man nicht "y" oder "yes" geschrieben hat also abgebrochen hat.
print("Canceled.") # Das Macht eine Nachricht dass das Speichern abgebrochen wurde.
if command_exists == "False": # Das bestaetigt dass der Befehl nicht existiert.
print("Command does not exist.")
else: # Das fuehrt das Suchmaschinen-Script aus wenn die Eingabe kein Befehl ist.
url = "https://duckduckgo.com/" + input01 #Das macht "https://duckduckgo.com/" davor um die Suche zu starten.
command = "False" # Das bestaetigt dass das kein Befehl war.
if loop01 == 1 and command == "False": #Das startet das Script dass den Link laedt wenn es kein Befehl war.
window.load_url(url) #Das laedt den Link.
read_startpage = open(os.path.dirname(os.path.realpath(__file__)) + "/settings.txt", "rt") # Das oeffnet die Einstallungen.
startpage_str = read_startpage.read() # Das liest die Einstallungen.
read_startpage.close() # Das schliesst die Einstellungen.
startpage_list = startpage_str.split(",") # Das macht die Einstellungen zu einer Liste.
startpage = startpage_list[0] # Das liest das Element 1 (0) der Liste.
window = webview.create_window("PyBrow",startpage,) #Das macht das Fenster.
webview.start(pybrow) #Das startet das Script.