Version 0.2.0. Copyout.
[extfs.d.git] / dummy
1 #! /usr/local/bin/python -O
2
3 """
4 Dummy VFS for Midnight Commander. Just for a test.
5
6 Author: Oleg BroytMann <phd@phd.pp.ru>.
7 Copyright (C) 2004 PhiloSoft Design.
8 License: GPL.
9
10 """
11
12 __version__ = "0.2.0"
13 __revision__ = "$Id: dummy,v 1.5 2004/06/13 10:18:37 phd Exp $"
14 __date__ = "$Date: 2004/06/13 10:18:37 $"[7:-2]
15 __author__ = "Oleg Broytmann <phd@phd.pp.ru>"
16 __copyright__ = "Copyright (C) 2004 PhiloSoft Design"
17
18
19 import sys
20
21 def log_error(msg):
22    sys.stderr.write(msg + '\n')
23
24 def error(msg):
25    log_error(msg + '\n')
26    sys.exit(1)
27
28
29 if len(sys.argv) < 2:
30    error("""\
31 It is not a program - it is a dummy VFS for Midnight Commander.
32 Put it in /usr/lib/mc/extfs.""")
33
34
35 def mcdummy_list():
36    """List the entire VFS"""
37    # Ignore the VFS name (sys.argv[2])
38    # Emit a dummy listing
39    print "-r--r--r-- 1 user group 0 Jun 13 02:20 file0"
40    print "-r--r--r-- 1 user group 1 Jun 13 02:21 file1"
41    print "dr--r--r-- 1 user group 2 Jun 13 02:22 subdir"
42    print "-r--r--r-- 1 user group 3 Jun 13 02:23 subdir/file3"
43    print "-r--r--r-- 1 user group 4 Jun 13 02:23 subdir/file4"
44
45
46 def mcdummy_copyout():
47    """Extract a file from the VFS"""
48    # Ignore the VFS name (sys.argv[2])
49    dummy_filename = sys.argv[3]
50    real_filename = sys.argv[4]
51
52    real_file = open(real_filename, 'w')
53    real_file.write("Copied from %s\n" % dummy_filename)
54    real_file.write("Copied  to  %s\n" % real_filename)
55    real_file.close()
56
57
58 g = globals()
59 command = sys.argv[1]
60 procname = "mcdummy_" + command
61
62 if not g.has_key(procname):
63    error("Unknown command %s" % command)
64
65 g[procname]()