[system] / trunk / webwork2 / lib / WeBWorK / Utils.pm Repository:
ViewVC logotype

Diff of /trunk/webwork2/lib/WeBWorK/Utils.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1145 Revision 1150
16use warnings; 16use warnings;
17use Apache::DB; 17use Apache::DB;
18use Date::Format; 18use Date::Format;
19use Date::Parse; 19use Date::Parse;
20use Errno; 20use Errno;
21use File::Path qw(rmtree);
21 22
22use constant MKDIR_ATTEMPTS => 10; 23use constant MKDIR_ATTEMPTS => 10;
23 24
24our @EXPORT = (); 25our @EXPORT = ();
25our @EXPORT_OK = qw( 26our @EXPORT_OK = qw(
26 runtime_use 27 runtime_use
27 backtrace 28 backtrace
28 readFile 29 readFile
30 readDirectory
29 formatDateTime 31 formatDateTime
30 parseDateTime 32 parseDateTime
31 writeLog 33 writeLog
32 writeTimingLogEntry 34 writeTimingLogEntry
33 list2hash 35 list2hash
34 max 36 max
35 readDirectory
36 dbDecode 37 dbDecode
37 dbEncode 38 dbEncode
38 decodeAnswers 39 decodeAnswers
39 encodeAnswers 40 encodeAnswers
40 ref2string 41 ref2string
41 sortByName 42 sortByName
42 makeTempDirectory 43 makeTempDirectory
44 removeTempDirectory
43 pretty_print_rh 45 pretty_print_rh
44); 46);
45 47
46sub runtime_use($) { 48sub runtime_use($) {
47 return unless @_; 49 return unless @_;
65 } 67 }
66} 68}
67 69
68sub readFile($) { 70sub readFile($) {
69 my $fileName = shift; 71 my $fileName = shift;
70 local *INPUTFILE; 72 local $/ = undef; # slurp the whole thing into one string
71 open INPUTFILE, "<", $fileName 73 open my $dh, "<", $fileName
72 or die "Failed to read $fileName: $!"; 74 or die "failed to read file $fileName: $!";
73 local $/ = undef; 75 my $result = <$dh>;
74 my $result = <INPUTFILE>; 76 close $dh;
75 close INPUTFILE;
76 return $result; 77 return $result;
77} 78}
78 79
79sub readDirectory($) { 80sub readDirectory($) {
80 my ($dirname) = @_; 81 my $dirName = shift;
81 82 opendir my $dh, $dirName
82 opendir my $dirhandle, $dirname or die "couldn't open directory $dirname: $!"; 83 or die "failed to read directory $dirName: $!";
83 my @contents = readdir $dirhandle; 84 my @result = readdir $dh;
84 closedir $dirhandle; 85 close $dh;
85 return @contents; 86 return @result;
86} 87}
87 88
88sub formatDateTime($) { 89sub formatDateTime($) {
89 my $dateTime = shift; 90 my $dateTime = shift;
90 # "standard" WeBWorK date/time format (for set definition files): 91 # "standard" WeBWorK date/time format (for set definition files):
284 die "Failed to create directory $fullPath: $!" 285 die "Failed to create directory $fullPath: $!"
285 unless $success; 286 unless $success;
286 return $fullPath; 287 return $fullPath;
287} 288}
288 289
290sub removeTempDirectory($) {
291 my ($dir) = @_;
292 rmtree($dir, 0, 0);
293}
294
289sub pretty_print_rh { 295sub pretty_print_rh {
290 my $rh = shift; 296 my $rh = shift;
291 foreach my $key (sort keys %{$rh}) { 297 foreach my $key (sort keys %{$rh}) {
292 warn " $key => ",$rh->{$key},"\n"; 298 warn " $key => ",$rh->{$key},"\n";
293 } 299 }

Legend:
Removed from v.1145  
changed lines
  Added in v.1150

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9