]> git.phdru.name Git - extfs.d.git/blobdiff - dummy
Documented the fact that the script can be put in $HOME/.mc/extfs.d
[extfs.d.git] / dummy
diff --git a/dummy b/dummy
index 312a47ddca15c2f64cafbfc876f8118cff952ecd..43a7e697aa426054f9d2a51c67ea37d94f94f0cc 100755 (executable)
--- a/dummy
+++ b/dummy
@@ -1,19 +1,11 @@
-#! /usr/local/bin/python -O
+#! /usr/bin/env python
+"""Dummy VFS for Midnight Commander. Just for a test."""
 
-"""
-Dummy VFS for Midnight Commander. Just for a test.
+__version__ = "1.0.3"
+__author__ = "Oleg Broytman <phd@phdru.name>"
+__copyright__ = "Copyright (C) 2004-2013 PhiloSoft Design"
+__license__ = "GPL"
 
-Author: Oleg BroytMann <phd@phd.pp.ru>.
-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 <phd@phd.pp.ru>"
-__copyright__ = "Copyright (C) 2004 PhiloSoft Design"
 
 import sys
 
@@ -21,12 +13,86 @@ def log_error(msg):
    sys.stderr.write(msg + '\n')
 
 def error(msg):
-   sys.stderr.write(msg + '\n')
+   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 not g.has_key(procname):
+   error("Unknown command %s" % command)
 
-cmd = sys.argv[1]
+g[procname]()