#! /usr/local/bin/python -O """ Dummy VFS for Midnight Commander. Just for a test. Author: Oleg BroytMann . Copyright (C) 2004 PhiloSoft Design. License: GPL. """ __version__ = "1.0.1" __revision__ = "$Id: dummy,v 1.9 2004/06/13 20:49:36 phd Exp $" __date__ = "$Date: 2004/06/13 20:49:36 $"[7:-2] __author__ = "Oleg Broytmann " __copyright__ = "Copyright (C) 2004 PhiloSoft Design" import sys def log_error(msg): sys.stderr.write(msg + '\n') def error(msg): log_error(msg + '\n') sys.exit(1) if len(sys.argv) < 2: error("""\ It is not a program - it is a dummy VFS for Midnight Commander. Put it in /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 not g.has_key(procname): error("Unknown command %s" % command) g[procname]()