Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import webbrowser
- import os
- import json
- from tkinter import *
- def write_json_file(path_to_file: str, data: dict) -> None:
- try:
- with open(f'{create_path_if_not_found(path_to_file)}/links.json', 'r') as json_file:
- json_data = json.load(json_file)
- for key in data:
- json_data[key] = data[key]
- json.dump(json_data, open(f'{create_path_if_not_found(path_to_file)}/links.json', 'w'))
- except FileNotFoundError:
- default_links = {
- 'youtube': 'https://www.youtube.com/',
- 'rutube': 'https://rutube.ru/',
- 'yandex': 'https://yandex.ru/',
- 'lamoda': 'https://www.lamoda.ru/',
- 'ozon': 'https://www.ozon.ru/',
- 'wildberries': 'https://www.wildberries.ru/'
- }
- with open(f'{create_path_if_not_found(path_to_file)}/links.json', 'w') as json_file:
- json.dump(default_links, json_file)
- finally:
- print('Сайт добавлен.')
- def read_json_file(path_to_file: str) -> None:
- try:
- with open(f'{path_to_file}/links.json') as json_file:
- data = json.load(json_file)
- for name_site, link_to_site in data.items():
- yield name_site, link_to_site
- except FileNotFoundError as e_fnf:
- print(f'Ошибка! Подробнее: {e_fnf}')
- def create_path_if_not_found(path_to_file: str) -> str:
- if not os.path.exists(f'{path_to_file}'):
- os.mkdir(f'{path_to_file}')
- return path_to_file
- def add_site():
- dict_link = {
- txt_name.get(): txt_link.get()
- }
- write_json_file('sites', dict_link)
- def start_sites():
- for name_site, link_to_site in read_json_file('sites'):
- webbrowser.open(link_to_site, new=2)
- print(f'Сайт {name_site} загружается! Ссылка: {link_to_site}')
- def get_list_sites():
- print('Список сайтов: ')
- for name_site, link_to_site in read_json_file('sites'):
- print(f'\tИмя сайта {name_site} Ссылка: {link_to_site}')
- def clear_list_sites():
- if input('Вы уверены, что хотите удалить все сайты? Нажмите 1, если да, и любую кнопку, если нет. \n>>>') == '1':
- try:
- path = os.path.join(str(os.path.abspath(os.path.dirname(__file__))) + '/sites', 'links.json')
- os.remove(path)
- except FileNotFoundError:
- pass
- finally:
- print('Список очищен.')
- window = Tk()
- window.title("Добро пожаловать в приложение PythonRu")
- window.geometry('1024x720')
- lbl_name = Label(window, text="Название сайта.")
- lbl_name.grid(column=0, row=0)
- txt_name = Entry(window, width=10)
- txt_name.grid(column=1, row=0)
- lbl_link = Label(window, text="Ссылка на сайт.")
- lbl_link.grid(column=0, row=1)
- txt_link = Entry(window, width=10)
- txt_link.grid(column=1, row=1)
- btn_add = Button(window, text="Добавить сайт в список.", command=add_site)
- btn_add.grid(column=0, row=3)
- btn_start = Button(window, text="Запустить сайты.", command=start_sites)
- btn_start.grid(column=0, row=4)
- btn_get_sites = Button(window, text="Получить список сайтов.", command=get_list_sites)
- btn_get_sites.grid(column=0, row=5)
- btn_get_sites = Button(window, text="Очистить список сайтов.", command=clear_list_sites)
- btn_get_sites.grid(column=0, row=6)
- window.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement