Ramesh-vani commited on
Commit
4b43770
·
verified ·
1 Parent(s): 9880f39

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +129 -4
app.py CHANGED
@@ -343,11 +343,136 @@ async def handle_user_input(websocket, process):
343
  break
344
  # message = await websocket.recv()
345
  async for message in websocket:
346
- user_input = json.loads(message)
347
- print(user_input)
348
- print(f'Received user input: {user_input["command"]["command"]}')
349
 
350
- process_input(user_input["command"]["command"], process)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
351
  break
352
  except websockets.ConnectionClosed:
353
  print("WebSocket connection closed")
 
343
  break
344
  # message = await websocket.recv()
345
  async for message in websocket:
346
+ # user_input = json.loads(message)
347
+ # print(user_input)
348
+ # print(f'Received user input: {user_input["command"]["command"]}')
349
 
350
+ # process_input(user_input["command"]["command"], process)
351
+ event = json.loads(message)
352
+ assert event["type"] == "cmd"
353
+ # command = event["command"]
354
+ print(event)
355
+ try:
356
+ if event["command"]["type"]=="shell":
357
+ process_input(event["command"]["command"], process)
358
+
359
+ elif event["command"]["type"]=="write":
360
+
361
+ await wirte_file(websocket, key,event["project_name"], event["path"], event["content"], connected)
362
+ elif event["command"]["type"]=="curl":
363
+
364
+ response = requests.get(event['url'])
365
+ event = {
366
+ "type": "web-data",
367
+
368
+ "data": response.text,
369
+
370
+ }
371
+ await websocket.send(json.dumps(event))
372
+ elif event["command"]["type"]=="create":
373
+ if event["item"]=="folder":
374
+ await create_folder(websocket, key,event["project_name"], event["path"],event["name"],event['root'],event['targetElementData'],event["rpath"], connected)
375
+ else:
376
+ await create_file(websocket, key,event["project_name"], event["path"],event["name"],event['root'],event['targetElementData'],event["rpath"], connected)
377
+
378
+
379
+ elif event["command"]["type"]=="delete":
380
+
381
+ await delete_item(websocket, key,event["project_name"], event["path"],event['rpath'],event['targetElementData'], connected)
382
+ elif event["command"]["type"]=="get_content":
383
+
384
+ await get_file_content(websocket, key,event["project_name"],event["filePath"], event["rfilePath"],event["fileName"] ,connected)
385
+ elif event["command"]["type"]=="rename":
386
+
387
+ await rename_item(websocket, key,event["project_name"], event["path"],event['rpath'], event["name"], event["root"], connected)
388
+ elif event["command"]["type"]=="join":
389
+ await join(websocket, event["join"])
390
+ elif event["command"]["type"]=="sendDir":
391
+ data=json.loads(event["file_structure"])
392
+ event = {
393
+ "type": "createDir",
394
+
395
+ "path": data,
396
+ "root":event['root'],
397
+
398
+ }
399
+ # websockets.broadcast(connected,json.dumps(event))
400
+ websockets.broadcast(connected, json.dumps(event))
401
+ elif event["command"]["type"]=="createItemUI":
402
+
403
+ event = {
404
+ "type": "createItemUI",
405
+
406
+ 'targetElementData':event['targetElementData'],
407
+ 'data':event['data']
408
+
409
+ }
410
+ # websockets.broadcast(connected,json.dumps(event))
411
+ websockets.broadcast(connected, json.dumps(event))
412
+
413
+ elif event["command"]["type"]=="renameItemInUI":
414
+
415
+ event = {
416
+ "type": "renameItemInUI",
417
+
418
+ 'path':event['path'],
419
+ 'new_path':event['new_path'],
420
+ 'name':event['name'],
421
+ 'new_rpath':event['new_rpath'],
422
+
423
+ }
424
+ # websockets.broadcast(connected,json.dumps(event))
425
+ websockets.broadcast(connected, json.dumps(event))
426
+ elif event["command"]["type"]=="createFolderUI":
427
+
428
+ event = {
429
+ "type": "createFolderUI",
430
+
431
+ 'targetElementData':event['targetElementData'],
432
+ 'data':event['data']
433
+
434
+ }
435
+ # websockets.broadcast(connected,json.dumps(event))
436
+ websockets.broadcast(connected, json.dumps(event))
437
+
438
+ elif event["command"]["type"]=="removeItemFromUI":
439
+
440
+ event = {
441
+ "type": "removeItemFromUI",
442
+
443
+ 'targetElementData':event['targetElementData'],
444
+ 'path':event['path']
445
+
446
+ }
447
+ # websockets.broadcast(connected,json.dumps(event))
448
+ websockets.broadcast(connected, json.dumps(event))
449
+
450
+ elif event["command"]["type"]=="project":
451
+ base_path = os.path.join(os.getcwd(), 'projects',key, event["project_name"])
452
+ data=json.loads(event["file_structure"])
453
+
454
+ await create_file_structure(websocket,data, base_path=base_path)
455
+ # await rename_item(websocket, key,event["project_name"], event["path"], event["name"], connected)
456
+ elif event["command"]["type"]=="collabration":
457
+
458
+ event = {
459
+ "type": "collabration",
460
+ 'name': event["name"],
461
+ 'line': event["cursorPos-line"],
462
+ 'ch': event["cursorPos-ch"],
463
+ 'file':event["file"],
464
+ 'content': event["content"],
465
+ 'color':event["color"]
466
+ }
467
+ websockets.broadcast(connected, json.dumps(event))
468
+
469
+ else:
470
+ # First player starts a new game.
471
+ pass
472
+ except RuntimeError as exc:
473
+ # Send an "error" event if the move was illegal.
474
+ await error(websocket, str(exc))
475
+ continue
476
  break
477
  except websockets.ConnectionClosed:
478
  print("WebSocket connection closed")