mirror of
https://github.com/dbisu/pico-ducky.git
synced 2026-01-21 09:15:59 +00:00
Small improvements (#195)
* fixed crashes on one-line scripts, auto .dd * Delete button * Additional crash fix * Disable read-only --------- Co-authored-by: Dave <dbisu@users.noreply.github.com>
This commit is contained in:
23
webapp.py
23
webapp.py
@@ -82,7 +82,7 @@ response_html = """<!DOCTYPE html>
|
||||
</html>
|
||||
"""
|
||||
|
||||
newrow_html = "<tr><td>{}</td><td><a href='/edit/{}'><button>Edit</button></a><a href='/run/{}'><button>Run</button></a></tr>"
|
||||
newrow_html = "<tr><td>{}</td><td><a href='/edit/{}'>Edit</a> / <a href='/delete/{}'>Delete</a> / <a href='/run/{}'>Run</a></tr>"
|
||||
|
||||
def setPayload(payload_number):
|
||||
if(payload_number == 1):
|
||||
@@ -103,7 +103,7 @@ def ducky_main(request):
|
||||
for f in files:
|
||||
if ('.dd' in f) == True:
|
||||
payloads.append(f)
|
||||
newrow = newrow_html.format(f,f,f)
|
||||
newrow = newrow_html.format(f,f,f,f)
|
||||
#print(newrow)
|
||||
rows = rows + newrow
|
||||
|
||||
@@ -181,8 +181,8 @@ def write_script(request, filename):
|
||||
textbuffer = form_data['scriptData']
|
||||
textbuffer = cleanup_text(textbuffer)
|
||||
#print(textbuffer)
|
||||
for line in textbuffer:
|
||||
f.write(line)
|
||||
for line in textbuffer.splitlines():
|
||||
f.write(line + '\n')
|
||||
f.close()
|
||||
storage.remount("/",readonly=True)
|
||||
response = response_html.format("Wrote script " + filename)
|
||||
@@ -202,17 +202,28 @@ def write_new_script(request):
|
||||
form_data[key] = value
|
||||
#print(form_data)
|
||||
filename = form_data['scriptName']
|
||||
if ".dd" not in filename:
|
||||
filename = filename + ".dd"
|
||||
textbuffer = form_data['scriptData']
|
||||
textbuffer = cleanup_text(textbuffer)
|
||||
storage.remount("/",readonly=False)
|
||||
f = open(filename,"w",encoding='utf-8')
|
||||
for line in textbuffer:
|
||||
f.write(line)
|
||||
for line in textbuffer.splitlines():
|
||||
f.write(line + '\n')
|
||||
f.close()
|
||||
storage.remount("/",readonly=True)
|
||||
response = response_html.format("Wrote script " + filename)
|
||||
return("200 OK",[('Content-Type', 'text/html')], response)
|
||||
|
||||
@web_app.route("/delete/<filename>")
|
||||
def delete(request, filename):
|
||||
print("Deleting ", filename)
|
||||
storage.remount("/",readonly=False)
|
||||
os.remove(filename)
|
||||
response = response_html.format("Deleted script " + filename)
|
||||
storage.remount("/",readonly=True)
|
||||
return("200 OK",[('Content-Type', 'text/html')], response)
|
||||
|
||||
@web_app.route("/run/<filename>")
|
||||
def run_script(request, filename):
|
||||
print("run_script ", filename)
|
||||
|
||||
Reference in New Issue
Block a user