Subversion Repositories svn.Prod repos

Rev

Rev 37 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 37 Rev 43
1
#! /usr/bin/env python3
1
#! /usr/bin/env python3
-
 
2
# =============================================================================
-
 
3
# Create
-
 
4
# name  : Andre Rikkert de Koe          date:   Apr 2011
-
 
5
# descr : filefind
-
 
6
#         This is a demo of programming in the Python language.
-
 
7
#         Its part of a project to implement a program to create a directory
-
 
8
#         tree similar to the output of the Unix find program.
-
 
9
# EUID  : Any user who has read access to all the files being searched for.
-
 
10
# run   : interactive
-
 
11
#
-
 
12
# Changes
-
 
13
# name  :                               date:
-
 
14
# descr : short description
-
 
15
#
-
 
16
# =============================================================================
-
 
17
 
2
import sys
18
import sys
3
import os.path
19
import os.path
4
 
20
 
5
# =============================================================================
21
# =============================================================================
6
# Functions
22
# Functions
7
# =============================================================================
23
# =============================================================================
8
 
24
 
9
def Usage(mesg):
25
def Usage(mesg):
10
        print ("Usage: " + progname + " directory")
26
        print ("Usage: " + progname + " directory")
11
        print (mesg)
27
        print (mesg)
12
 
28
 
13
def traverse(directory):
29
def traverse(directory):
14
        curdir = os.getcwd()
30
        curdir = os.getcwd()
15
        os.chdir(directory)
31
        os.chdir(directory)
16
        curdir2 = os.getcwd()
32
        curdir2 = os.getcwd()
17
        files = os.listdir(curdir2)
33
        files = os.listdir(curdir2)
18
        for file in files:
34
        for file in files:
19
                pfile = curdir2 + "/" + file
35
                pfile = curdir2 + "/" + file
20
                if os.path.isdir(file) and not os.path.islink(file):
36
                if os.path.isdir(file) and not os.path.islink(file):
21
                        print (pfile)
37
                        print (pfile)
22
                        traverse(file)
38
                        traverse(file)
23
                else:
39
                else:
24
                        if os.path.isfile(file) or os.path.islink(file):
40
                        if os.path.isfile(file) or os.path.islink(file):
25
                                print (pfile)
41
                                print (pfile)
26
                        else:
42
                        else:
27
                                print ("WARNING: Could not process file " + pfile)
43
                                print ("WARNING: Could not process file " + pfile)
28
        os.chdir(curdir)
44
        os.chdir(curdir)
29
 
45
 
30
def start_traverse(directory):
46
def start_traverse(directory):
31
        print (directory)
47
        print (directory)
32
        traverse(directory)
48
        traverse(directory)
33
 
49
 
34
# =============================================================================
50
# =============================================================================
35
# MAIN
51
# MAIN
36
# =============================================================================
52
# =============================================================================
37
 
53
 
38
progname = os.path.basename(sys.argv[0])
54
progname = os.path.basename(sys.argv[0])
39
if (len(sys.argv) == 2):
55
if (len(sys.argv) == 2):
40
        directory = sys.argv[1]
56
        directory = sys.argv[1]
41
        if os.path.isdir(directory):
57
        if os.path.isdir(directory):
42
            start_traverse(directory)
58
            start_traverse(directory)
43
        else:
59
        else:
44
            Usage("ERROR: Not a directory : " + directory)
60
            Usage("ERROR: Not a directory : " + directory)
45
else:
61
else:
46
        Usage("ERROR: 1 argument expected")
62
        Usage("ERROR: 1 argument expected")
47
 
63