home
·
contact
·
privacy
projects
/
plomrogue
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
New client: Add client->server communication, with QUIT command.
[plomrogue]
/
client_prototype.py
diff --git
a/client_prototype.py
b/client_prototype.py
index 2340bfed6dbaf8e1b3614ee02b6cbe56026ef3a8..3e0ad735b8b8f19d088ad62d37af485b6ea09383 100644
(file)
--- a/
client_prototype.py
+++ b/
client_prototype.py
@@
-1,5
+1,6
@@
import curses
import signal
import curses
import signal
+import os
def set_window_geometries():
def set_window_geometries():
@@
-127,8
+128,8
@@
def draw_screen():
and x_in_screen < screen_size[1]):
stdscr.addch(y_in_screen, x_in_screen, cell)
def draw_scroll_hints():
and x_in_screen < screen_size[1]):
stdscr.addch(y_in_screen, x_in_screen, cell)
def draw_scroll_hints():
- def draw_scroll_string(
hint_number
):
- hint = ' ' + str(
hint_number
+ 1) + ' more ' + unit + ' '
+ def draw_scroll_string(
n_lines_outside
):
+ hint = ' ' + str(
n_lines_outside
+ 1) + ' more ' + unit + ' '
if len(hint) <= win["size"][ni]:
non_hint_space = win["size"][ni] - len(hint)
hint_offset = int(non_hint_space / 2)
if len(hint) <= win["size"][ni]:
non_hint_space = win["size"][ni] - len(hint)
hint_offset = int(non_hint_space / 2)
@@
-174,8
+175,10
@@
def main(stdscr):
while True:
draw_screen()
char = stdscr.getch()
while True:
draw_screen()
char = stdscr.getch()
- if (char >= 0 and chr(char) == 'Q'):
- exit()
+ if (char >= 0):
+ if chr(char) in commands:
+ commands[chr(char)]()
+
def foo():
winmap = ['.', 'o', '.', 'o', 'O', 'o', '.', 'o', '.', 'x', 'y', 'x']
def foo():
winmap = ['.', 'o', '.', 'o', 'O', 'o', '.', 'o', '.', 'x', 'y', 'x']
@@
-184,6
+187,12
@@
def foo():
return offset, size, winmap
return offset, size, winmap
+def command_quit():
+ io["file_out"].write("QUIT\n")
+ io["file_out"].flush()
+ exit()
+
+
windows = [
{"config": [1, 33], "func": foo},
{"config": [-7, 33], "func": foo},
windows = [
{"config": [1, 33], "func": foo},
{"config": [-7, 33], "func": foo},
@@
-191,9
+200,20
@@
windows = [
{"config": [4, 16], "func": foo},
{"config": [0, -34], "func": foo}
]
{"config": [4, 16], "func": foo},
{"config": [0, -34], "func": foo}
]
+io = {
+ "path_out": "server/in"
+}
+commands = {
+ "Q": command_quit
+}
+
sep_size = 1 # Width of inter-window borders and title bars.
stdscr = None
screen_size = [0,0]
sep_size = 1 # Width of inter-window borders and title bars.
stdscr = None
screen_size = [0,0]
-
+if (not os.access(io["path_out"], os.F_OK)):
+ print("No server input file found at expected location.")
+ exit()
+io["file_out"] = open(io["path_out"], "a")
curses.wrapper(main)
curses.wrapper(main)
+io["file_out"].close()