annotate mayachemtool/mayachemtools/docs/modules/txt/FileUtil.txt @ 0:68300206e90d draft default tip

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