MCPcopy
hub / github.com/RUB-NDS/PRET / do_edit

Method do_edit

printer.py:538–559  ·  view source on GitHub ↗
(self, arg)

Source from the content-addressed store, hash-verified

536
537 # ------------------------[ edit <file> ]-----------------------------
538 def do_edit(self, arg):
539 # get name of temporary file
540 t = tempfile.NamedTemporaryFile(delete=False)
541 lpath = t.name
542 t.close
543 # download to temporary file
544 self.do_get(arg, lpath)
545 # get md5sum for original file
546 chksum1 = hashlib.md5(open(lpath, "rb").read()).hexdigest()
547 try:
548 subprocess.call([self.editor, lpath])
549 # get md5sum for edited file
550 chksum2 = hashlib.md5(open(lpath, "rb").read()).hexdigest()
551 # upload file, if changed
552 if chksum1 == chksum2:
553 print("File not changed.")
554 else:
555 self.do_put(lpath, arg)
556 except Exception as e:
557 output().errmsg("Cannot edit file - Set self.editor", e)
558 # delete temporary file
559 os.remove(lpath)
560
561 # define alias but do not show alias in help
562 do_vim = do_edit

Callers

nothing calls this directly

Calls 5

do_getMethod · 0.95
do_putMethod · 0.95
outputClass · 0.90
readMethod · 0.80
errmsgMethod · 0.80

Tested by

no test coverage detected