Added a primitive form of querying the user to enter search terms. It works.

This commit is contained in:
sloumdrone 2018-10-31 22:13:00 -07:00
parent f8d00aa48f
commit b63b914de1
3 changed files with 12 additions and 5 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
__pycache__/* __pycache__/*
__pycache__ __pycache__
*.swp *.swp
*.json

14
gui.py
View File

@ -1,6 +1,7 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import tkinter as tk import tkinter as tk
from tkinter import simpledialog as sdb
from connect import connect as conn from connect import connect as conn
from parser import parser from parser import parser
import time import time
@ -156,7 +157,14 @@ class GUI:
if parsed_url['type'] == '7': if parsed_url['type'] == '7':
self.send_to_screen(parsed_url, parsed_url['type']) # self.send_to_screen(parsed_url, parsed_url['type'])
terms = sdb.askstring('Search','Please enter your search terms...')
print(terms)
if terms:
self.parser.resource = "{}\t{}".format(self.parser.resource,terms)
print(self.parser.resource)
else:
return False
response = self.conn.request(self.parser.resource, self.parser.host, self.parser.filetype, self.parser.port) response = self.conn.request(self.parser.resource, self.parser.host, self.parser.filetype, self.parser.port)
@ -318,13 +326,11 @@ class GUI:
def send_to_screen(self, data, itemtype='1', clear=True): def send_to_screen(self, data, itemtype='1', clear=True):
if itemtype == '0': if itemtype == '0':
self.show_text(data) self.show_text(data)
elif itemtype in ['1','3']: elif itemtype in ['1','3','7']:
data = self.parser.parse_menu(data) data = self.parser.parse_menu(data)
self.show_menu(data, clear) self.show_menu(data, clear)
elif itemtype in ['p','I','g']: elif itemtype in ['p','I','g']:
self.show_image(data) self.show_image(data)
elif itemtype == '7':
pass
def update_status(self, event, href=False): def update_status(self, event, href=False):

View File

@ -16,7 +16,7 @@ class parser:
def parse_url(self, url): def parse_url(self, url):
# Take in a URL and output a dict of the url parts # Take in a URL and output a dict of the url parts
regex = r'^(?P<protocol>(?:(gopher|http):\/\/)?)?(?P<host>[\w\.\d]+)(?P<port>(?::\d+)?)?(?P<type>(?:\/[\dgIp])?)?(?P<resource>(?:\/\S*)?)?$' regex = r'^(?P<protocol>(?:(gopher|http):\/\/)?)?(?P<host>[\w\.\d]+)(?P<port>(?::\d+)?)?(?P<type>(?:\/[\dgIp])?)?(?P<resource>(?:\/.*)?)?$'
match = re.match(regex, url) match = re.match(regex, url)
protocol = match.group('protocol') protocol = match.group('protocol')