annotate docs/modules/txt/FileUtil.txt @ 0:4816e4a8ae95 draft default tip

Uploaded
author deepakjadmin
date Wed, 20 Jan 2016 09:23:18 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1 NAME
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2 FileUtil
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
3
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
4 SYNOPSIS
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
5 use FileUtil;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
6
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
7 use FileUtil qw(:all);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
8
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
9 DESCRIPTION
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
10 FileUtil module provides the following functions:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
11
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
12 CheckFileType, ConvertCygwinPath, ExpandFileNames,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
13 FileModificationTimeAndDate, FileSize, FormatFileSize,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
14 FormattedFileModificationTimeAndDate, GetMayaChemToolsLibDirName,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
15 GetUsageFromPod, ParseFileName
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
16
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
17 FUNCTIONS
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
18 CheckFileType
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
19 $Status = CheckFileType($FileName, $FileExts);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
20
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
21 Based on *FileExts*, decides type of *FileName* and return 1 or 0.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
22
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
23 ConvertCygwinPath
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
24 $NewPath = ConvertCygwinPath($Path);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
25
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
26 Check to see whether *Path* contains any Cygwin drive specification
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
27 and convert it into Windows path.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
28
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
29 ExpandFileNames
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
30 @FilesList = ExpandFileNames(\@Files, $FileExts);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
31 @FilesList = ExpandFileNames(\@Files, $FileExts, $IncludeDirName);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
32
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
33 For each directory name or wild card file name in *Files*, generate
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
34 all file names which correspond to the specification along with
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
35 match to any extensions in *FileExts* and return an array FileList
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
36 containing these file names and other names. *IncludeDirName*
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
37 controls controls whether directory prefixes are included in
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
38 expanded file names. Default is to always append directory name
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
39 before expanded file name.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
40
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
41 Notes:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
42
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
43 . Multiple file extensions are delimited by spaces.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
44 . Wild card, *, is supported in directory and file names along with file
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
45 extensions.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
46 . For a specified directory name in the files list, all the files in the
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
47 directory are retrieved using Perl opendir function and files filtered using file
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
48 extensions. The file names "." and ".." returned by opendir are ignored.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
49 . For file names containing wild cards with and without any explicit file
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
50 extension specification in the file name, all the files in the directory are retrieved
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
51 using Perl opendir function and files filtered using file name along with any
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
52 file extension. The file names "." and ".." returned by opendir are ignored.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
53
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
54 FormattedFileModificationTimeAndDate
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
55 ($TimeString, $DateString) =
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
56 FormattedFileModificationTimeAndDate($FileName);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
57
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
58 Returns a formatted time and date string corresponding to *FileName*
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
59 modification time.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
60
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
61 FileModificationTimeAndDate
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
62 ($Hours, $Mins, $Secs, $DayName, $MonthName, $Month, $Year) =
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
63 FileModificationTimeAndDate($FileName);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
64
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
65 Returns file modification time and date values for specified
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
66 *FileName*.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
67
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
68 FormatFileSize
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
69 $FormattedSize= FormatFileSize($Size, [$Precision]);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
70
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
71 Formats the file size in bytes to human readable value and returns a
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
72 formatted file size string.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
73
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
74 FileSize
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
75 $Size= FileSize($FileName);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
76
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
77 Returns size of *FileName* in bytes
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
78
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
79 GetMayaChemToolsLibDirName
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
80 $MayaChemToolsLibDir = GetMayaChemToolsLibDirName();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
81
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
82 Returns MayaChemTools lib directory name by parsing INC values to
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
83 extract MAYACHEMTOOLS/lib directory location: first entry in INC
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
84 path should contain MayaChemTools lib location.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
85
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
86 GetUsageFromPod
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
87 $ScriptUsage = GetUsageFromPod($AbsoluteScriptPath);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
88
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
89 Generates a ScriptUsage string from pod documentation in the script
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
90 file using pod2text or perdoc.bat Perl utitities.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
91
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
92 ParseFileName
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
93 ($FileDir, $FileName, $FileExt) = ParseFileName($FullFileName);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
94
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
95 Splits *FullFileName* into directory name, file name, and extension.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
96 FileDir is set to current directory for absent directory name in
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
97 *FullFileName*. And *FileExt* is set to NULL string for
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
98 *FullFileName* without any extension.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
99
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
100 This function doesn't perform checking ragarding the presence of the
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
101 directory *FileDir* and *FullFileName* and the *FullFileName*
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
102 without any extension is assumed to be a file instead of a
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
103 directory.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
104
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
105 AUTHOR
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
106 Manish Sud <msud@san.rr.com>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
107
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
108 SEE ALSO
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
109 TextUtil.pm, TimeUtil.pm
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
110
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
111 COPYRIGHT
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
112 Copyright (C) 2015 Manish Sud. All rights reserved.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
113
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
114 This file is part of MayaChemTools.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
115
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
116 MayaChemTools is free software; you can redistribute it and/or modify it
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
117 under the terms of the GNU Lesser General Public License as published by
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
118 the Free Software Foundation; either version 3 of the License, or (at
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
119 your option) any later version.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
120