Skip to content

Commit 1c6a5b6

Browse files
committed
update scripts
1 parent c17c743 commit 1c6a5b6

File tree

5 files changed

+140
-14
lines changed

5 files changed

+140
-14
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,4 +160,6 @@ cython_debug/
160160
# and can be added to the global gitignore or merged into this file. For a more nuclear
161161
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
162162
#.idea/
163-
settings.env
163+
settings.env
164+
periodlist.json
165+
reservationlist.json

main.py

Lines changed: 134 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import git
1414
import warnings
1515
import shutil
16-
from settings import PYTHON_EXE, RESERVATION_LIST, PERIOD_LIST
16+
from settings import PYTHON_EXE
1717
from tktimepicker import SpinTimePickerOld
1818

1919
warnings.filterwarnings("ignore", category=UserWarning)
@@ -31,13 +31,6 @@
3131
from subprocess import CREATE_NEW_CONSOLE
3232
import json
3333

34-
# def chromeSetup():
35-
# if platform == "linux" or platform == "linux2":
36-
# CHROME = "google-chrome"
37-
# elif platform == "win32":
38-
# CHROME = s.CHROME_EXE
39-
# Popen([CHROME, "chrome://settings/","--user-data-dir={}".format(s.CHROME_USER_DATA), "--profile-directory={}".format(s.CHROME_PROFILE)])
40-
4134
class Window(Tk):
4235
def __init__(self) -> None:
4336
super().__init__()
@@ -112,6 +105,9 @@ def __init__(self, window) -> None:
112105

113106
titleLabel = TitleLabel(self, 'Main Menu')
114107
resybotv1Button = FrameButton(self, window, text="Resy Bot v1", class_frame=ResyBotv1Frame)
108+
reservationlistButton = FrameButton(self, window, text="Add Reservation Type", class_frame=AddReservationFrame)
109+
periodlistButton = FrameButton(self, window, text="Add Period", class_frame=AddPeriodFrame)
110+
115111
# extractButton = FrameButton(self, window, text="Extract PDF Diagram", class_frame=ExtractPdfFrame)
116112
# graburlButton = FrameButton(self, window, text="Grab URLs", class_frame=GrabUrlsFrame)
117113
# graburlVendorButton = FrameButton(self, window, text="Grab URLs By Vendor", class_frame=GrabUrlsVendorFrame)
@@ -123,15 +119,145 @@ def __init__(self, window) -> None:
123119
# # # layout
124120
titleLabel.grid(column = 0, row = 0, sticky=(W, E, N, S), padx=15, pady=5, columnspan=3)
125121
resybotv1Button.grid(column = 0, row = 1, sticky=(W, E, N, S), padx=15, pady=5, columnspan=3)
122+
reservationlistButton.grid(column = 0, row = 2, sticky=(W, E, N, S), padx=15, pady=5, columnspan=3)
123+
periodlistButton.grid(column = 0, row = 3, sticky=(W, E, N, S), padx=15, pady=5, columnspan=3)
124+
126125
# extractButton.grid(column = 0, row = 2, sticky=(W, E, N, S), padx=15, pady=5, columnspan=3)
127126
# graburlButton.grid(column = 0, row = 3, sticky=(W, E, N, S), padx=15, pady=5, columnspan=3)
128127
# graburlVendorButton.grid(column = 0, row = 4, sticky=(W, E, N, S), padx=15, pady=5, columnspan=3)
129128
# pdfDownloadButton.grid(column = 0, row = 5, sticky=(W, E, N, S), padx=15, pady=5, columnspan=3)
130129
# graburlVendor2Button.grid(column = 0, row = 6, sticky=(W, E, N, S), padx=15, pady=5, columnspan=3)
131130
# pdfDownload2Button.grid(column = 0, row = 7, sticky=(W, E, N, S), padx=15, pady=5, columnspan=3)
131+
132+
class AddReservationFrame(ttk.Frame):
133+
def __init__(self, window) -> None:
134+
super().__init__(window)
135+
# configure
136+
file = open("reservationlist.json", "r")
137+
listvalue = json.load(file)
138+
tmplist = [value for value in listvalue]
139+
setlist = set(tmplist)
140+
RESERVATION_LIST = sorted(list(setlist), key=str.casefold)
141+
142+
self.grid(column=0, row=0, sticky=(N, E, W, S), columnspan=4)
143+
self.config(padding="20 20 20 20", borderwidth=1, relief='groove')
144+
self.rowconfigure(0, weight=1)
145+
self.rowconfigure(1, weight=1)
146+
147+
self.columnconfigure(0, weight=1)
148+
self.rowconfigure(0, weight=1)
149+
self.rowconfigure(1, weight=1)
150+
self.rowconfigure(2, weight=1)
151+
self.rowconfigure(3, weight=1)
152+
self.rowconfigure(4, weight=1)
153+
self.rowconfigure(5, weight=1)
154+
self.rowconfigure(6, weight=1)
155+
self.rowconfigure(7, weight=1)
156+
self.rowconfigure(8, weight=1)
157+
titleLabel = TitleLabel(self, text="Add Reservation Type")
158+
valuentry = Entry(self, width=80)
159+
dlist = StringVar(value=RESERVATION_LIST)
160+
self.valueslist = Listbox(self, width=80, height=10, listvariable=dlist)
161+
self.valueslist.bind( "<Double-Button-1>" , self.removeValue)
162+
addButton = ttk.Button(self, text='Add', command = lambda:self.addlist(entry=valuentry, list=self.valueslist))
163+
saveButton = ttk.Button(self, text='Save', command = lambda:self.savelist(list=self.valueslist))
164+
closeButton = CloseButton(self)
165+
# layout
166+
titleLabel.grid(column = 0, row = 0, sticky = (W, E, N, S))
167+
valuentry.grid(column = 0, row = 1, sticky=(W))
168+
addButton.grid(column = 0, row = 1, sticky = (E))
169+
self.valueslist.grid(column = 0, row = 2, sticky=(W))
170+
saveButton.grid(column = 0, row = 3, sticky = (W,N))
171+
closeButton.grid(column = 0, row = 8, sticky = (E))
172+
def removeValue(self, event):
173+
selection = self.valueslist.curselection()
174+
for i in self.valueslist.curselection():
175+
messagebox.showinfo("Message box", f"`{self.valueslist.get(i)}` deleted..")
176+
self.valueslist.delete(selection)
177+
178+
179+
def savelist(self, **kwargs):
180+
with open("reservationlist.json", "w") as final:
181+
json.dump(kwargs['list'].get(0, END), final)
182+
messagebox.showinfo("Message box","Reservation List saved..")
183+
184+
def addlist(self, **kwargs):
185+
kwargs['list'].insert(0, kwargs['entry'].get())
186+
kwargs['entry'].delete(0, END)
187+
messagebox.showinfo("Message box","New Reservation added..")
188+
189+
class AddPeriodFrame(ttk.Frame):
190+
def __init__(self, window) -> None:
191+
super().__init__(window)
192+
# configure
193+
file = open("periodlist.json", "r")
194+
listvalue = json.load(file)
195+
tmplist = [value for value in listvalue]
196+
setlist = set(tmplist)
197+
PERIOD_LIST = sorted(list(setlist), key=str.casefold)
198+
199+
self.grid(column=0, row=0, sticky=(N, E, W, S), columnspan=4)
200+
self.config(padding="20 20 20 20", borderwidth=1, relief='groove')
201+
self.rowconfigure(0, weight=1)
202+
self.rowconfigure(1, weight=1)
203+
204+
self.columnconfigure(0, weight=1)
205+
self.rowconfigure(0, weight=1)
206+
self.rowconfigure(1, weight=1)
207+
self.rowconfigure(2, weight=1)
208+
self.rowconfigure(3, weight=1)
209+
self.rowconfigure(4, weight=1)
210+
self.rowconfigure(5, weight=1)
211+
self.rowconfigure(6, weight=1)
212+
self.rowconfigure(7, weight=1)
213+
self.rowconfigure(8, weight=1)
214+
titleLabel = TitleLabel(self, text="Add Period")
215+
valuentry = Entry(self, width=80)
216+
dlist = StringVar(value=PERIOD_LIST)
217+
self.valueslist = Listbox(self, width=80, height=10, listvariable=dlist)
218+
self.valueslist.bind( "<Double-Button-1>" , self.removeValue)
219+
addButton = ttk.Button(self, text='Add', command = lambda:self.addlist(entry=valuentry, list=self.valueslist))
220+
saveButton = ttk.Button(self, text='Save', command = lambda:self.savelist(list=self.valueslist))
221+
closeButton = CloseButton(self)
222+
# layout
223+
titleLabel.grid(column = 0, row = 0, sticky = (W, E, N, S))
224+
valuentry.grid(column = 0, row = 1, sticky=(W))
225+
addButton.grid(column = 0, row = 1, sticky = (E))
226+
self.valueslist.grid(column = 0, row = 2, sticky=(W))
227+
saveButton.grid(column = 0, row = 3, sticky = (W,N))
228+
closeButton.grid(column = 0, row = 8, sticky = (E))
229+
def removeValue(self, event):
230+
selection = self.valueslist.curselection()
231+
for i in self.valueslist.curselection():
232+
messagebox.showinfo("Message box", f"`{self.valueslist.get(i)}` deleted..")
233+
self.valueslist.delete(selection)
234+
235+
236+
def savelist(self, **kwargs):
237+
with open("periodlist.json", "w") as final:
238+
json.dump(kwargs['list'].get(0, END), final)
239+
messagebox.showinfo("Message box","Period List saved..")
240+
241+
def addlist(self, **kwargs):
242+
kwargs['list'].insert(0, kwargs['entry'].get())
243+
kwargs['entry'].delete(0, END)
244+
messagebox.showinfo("Message box","New Period added..")
245+
132246
class ResyBotv1Frame(ttk.Frame):
133247
def __init__(self, window) -> None:
134248
super().__init__(window)
249+
file = open("reservationlist.json", "r")
250+
listvalue = json.load(file)
251+
tmplist = [value for value in listvalue]
252+
setlist = set(tmplist)
253+
RESERVATION_LIST = sorted(list(setlist), key=str.casefold)
254+
255+
file = open("periodlist.json", "r")
256+
listvalue = json.load(file)
257+
tmplist = [value for value in listvalue]
258+
setlist = set(tmplist)
259+
PERIOD_LIST = sorted(list(setlist), key=str.casefold)
260+
135261
# configure
136262
self.grid(column=0, row=0, sticky=(N, E, W, S), columnspan=4)
137263
self.config(padding="20 20 20 20", borderwidth=1, relief='groove')

periodlist.json.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
["Dinner", "Lunch", "Brunch"]

reservationlist.json.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
["Bar", "Bar Counter", "Bar Mutsumi", "Bar Seat", "counter", "Dining Room", "High Top", "Kitchen Counter", "Omakase Bar", "Patio", "Side Table (Not Sushi Bar)", "Side table(not bar)", "Street Seating", "SUSHI COUNTER", "Sushi Counter", "Table", "Table (Not Bar)", "WHISKY ROOM"]

settings.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
11
from pathlib import Path
22
import os
3+
import json
34
PYTHON_EXE = os.getcwd() + os.sep + r"venv\Scripts\python.exe"
45
RESY_EMAIL='[email protected]'
56
RESY_PASSWORD='Upworktest1!'
67
HEADLESS='no'
78
CLOSE_MESSAGE=" --> Press any key to close..."
8-
tmplist = ["Table", "Dining Room", "Bar", "Bar Counter", "Kitchen Counter", "Table (Not Bar)", "Side table(not bar)", "Patio", "Street Seating", "WHISKY ROOM", "SUSHI COUNTER", "High Top", "Bar Mutsumi", "Bar Seat", "Omakase Bar", "Side Table (Not Sushi Bar)", "Sushi Counter", "counter"]
9-
setlist = set(tmplist)
10-
RESERVATION_LIST = list(setlist)
11-
RESERVATION_LIST.sort()
12-
PERIOD_LIST = ["Dinner", "Lunch", "Brunch"]

0 commit comments

Comments
 (0)