X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;ds=sidebyside;f=dummy;h=43a7e697aa426054f9d2a51c67ea37d94f94f0cc;hb=HEAD;hp=312a47ddca15c2f64cafbfc876f8118cff952ecd;hpb=0122acf0a01fb368a705af3f51ba780bd7551090;p=extfs.d.git diff --git a/dummy b/dummy index 312a47d..8e22a1d 100755 --- a/dummy +++ b/dummy @@ -1,32 +1,100 @@ -#! /usr/local/bin/python -O +#! /usr/bin/env python3 +"""Dummy VFS for Midnight Commander. Just for a test.""" -""" -Dummy VFS for Midnight Commander. Just for a test. +__version__ = "1.1.0" +__author__ = "Oleg Broytman " +__copyright__ = "Copyright (C) 2004-2023 PhiloSoft Design" +__license__ = "GPL" -Author: Oleg BroytMann . -Copyright (C) 2004 PhiloSoft Design. -License: GPL. - -""" - -__version__ = "0.0.1" -__revision__ = "$Id: dummy,v 1.1 2004/06/12 22:14:57 phd Exp $" -__date__ = "$Date: 2004/06/12 22:14:57 $"[7:-2] -__author__ = "Oleg Broytmann " -__copyright__ = "Copyright (C) 2004 PhiloSoft Design" import sys + def log_error(msg): - sys.stderr.write(msg + '\n') + sys.stderr.write(msg + '\n') + def error(msg): - sys.stderr.write(msg + '\n') - sys.exit(1) + log_error(msg + '\n') + sys.exit(1) if len(sys.argv) < 2: - error("Not enough arguments") + error("""\ +It is not a program - it is a dummy VFS for Midnight Commander. +Put it in $HOME/.mc/extfs.d or /usr/lib/mc/extfs.""") + + +def mcdummy_list(): + """List the entire VFS""" + # Ignore the VFS name (sys.argv[2]) + # Emit a dummy listing + print("-r--r--r-- 1 user group 0 Jun 13 02:20 file0") + print("-r--r--r-- 1 user group 1 Jun 13 02:21 file1") + print("dr--r--r-- 1 user group 2 Jun 13 02:22 subdir") + print("-r--r--r-- 1 user group 3 Jun 13 02:23 subdir/file3") + print("-r--r--r-- 1 user group 4 Jun 13 02:23 subdir/file4") + + +def mcdummy_copyout(): + """Extract a file from the VFS""" + # Ignore the VFS name (sys.argv[2]) + dummy_filename = sys.argv[3] + real_filename = sys.argv[4] + + real_file = open(real_filename, 'a') + real_file.write("Copy from %s\n" % dummy_filename) + real_file.write("Copy to %s\n" % real_filename) + real_file.close() + + +def mcdummy_copyin(): + """Put a file to the VFS""" + # Ignore the VFS name (sys.argv[2]) + dummy_filename = sys.argv[3] + real_filename = sys.argv[4] + + real_file = open(real_filename + "-dummy.tmp", 'a') + real_file.write("Copy from %s\n" % real_filename) + real_file.write("Copy to %s\n" % dummy_filename) + real_file.close() + + +def mcdummy_rm(): + """Remove a file from the VFS""" + # Ignore the VFS name (sys.argv[2]) + dummy_filename = sys.argv[3] + + real_file = open(".dummy.tmp", 'a') + real_file.write("Remove %s\n" % dummy_filename) + real_file.close() + + +def mcdummy_mkdir(): + """Create a directory in the VFS""" + # Ignore the VFS name (sys.argv[2]) + dummy_dirname = sys.argv[3] + + real_file = open(".dummy.tmp", 'a') + real_file.write("Create %s\n" % dummy_dirname) + real_file.close() + + +def mcdummy_rmdir(): + """Remove a directory from the VFS""" + # Ignore the VFS name (sys.argv[2]) + dummy_dirname = sys.argv[3] + + real_file = open(".dummy.tmp", 'a') + real_file.write("Remove %s\n" % dummy_dirname) + real_file.close() + + +g = globals() +command = sys.argv[1] +procname = "mcdummy_" + command +if procname not in g: + error("Unknown command %s" % command) -cmd = sys.argv[1] +g[procname]()