Current Path: > > usr > local > share > perl5 > CPAN
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
API | Directory | - | - | |
Exception | Directory | - | - | |
FTP | Directory | - | - | |
HTTP | Directory | - | - | |
Kwalify | Directory | - | - | |
LWP | Directory | - | - | |
Meta | Directory | - | - | |
Plugin | Directory | - | - | |
Admin.pm | File | 7791 bytes | November 27 2018 02:51:46. | |
Author.pm | File | 6842 bytes | September 22 2018 19:39:13. | |
Bundle.pm | File | 10144 bytes | May 19 2020 08:43:52. | |
CacheMgr.pm | File | 7664 bytes | March 01 2020 16:07:13. | |
Complete.pm | File | 6023 bytes | September 22 2018 19:39:13. | |
Debug.pm | File | 2102 bytes | August 17 2016 05:38:12. | |
DeferredCode.pm | File | 189 bytes | September 08 2012 09:00:31. | |
Distribution.pm | File | 183259 bytes | April 03 2022 19:00:28. | |
Distroprefs.pm | File | 11990 bytes | March 01 2020 17:11:25. | |
Distrostatus.pm | File | 972 bytes | September 08 2012 09:00:31. | |
FTP.pm | File | 49847 bytes | April 03 2022 18:19:14. | |
FirstTime.pm | File | 74773 bytes | April 03 2022 18:19:14. | |
HandleConfig.pm | File | 24183 bytes | April 03 2022 18:19:14. | |
Index.pm | File | 22236 bytes | April 03 2022 18:19:14. | |
InfoObj.pm | File | 6909 bytes | November 24 2013 14:12:21. | |
Kwalify.pm | File | 3428 bytes | September 08 2012 09:00:31. | |
Mirrors.pm | File | 18250 bytes | May 23 2020 17:14:15. | |
Module.pm | File | 22390 bytes | September 22 2018 19:39:13. | |
Nox.pm | File | 953 bytes | August 17 2016 05:38:12. | |
Plugin.pm | File | 3219 bytes | May 19 2020 08:43:52. | |
Prompt.pm | File | 567 bytes | September 08 2012 09:00:31. | |
Queue.pm | File | 7124 bytes | May 19 2020 08:43:52. | |
Shell.pm | File | 73684 bytes | May 23 2020 17:14:15. | |
Tarzip.pm | File | 16640 bytes | May 19 2020 08:43:52. | |
URL.pm | File | 588 bytes | September 08 2012 09:00:31. | |
Version.pm | File | 4398 bytes | September 22 2018 19:39:13. |
=head1 NAME CPAN::Kwalify - Interface between CPAN.pm and Kwalify.pm =head1 SYNOPSIS use CPAN::Kwalify; validate($schema_name, $data, $file, $doc); =head1 DESCRIPTION =over =item _validate($schema_name, $data, $file, $doc) $schema_name is the name of a supported schema. Currently only C<distroprefs> is supported. $data is the data to be validated. $file is the absolute path to the file the data are coming from. $doc is the index of the document within $doc that is to be validated. The last two arguments are only there for better error reporting. Relies on being called from within CPAN.pm. Dies if something fails. Does not return anything useful. =item yaml($schema_name) Returns the YAML text of that schema. Dies if something fails. =back =head1 AUTHOR Andreas Koenig C<< <andk@cpan.org> >> =head1 LICENSE This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See L<http://www.perl.com/perl/misc/Artistic.html> =cut use strict; package CPAN::Kwalify; use vars qw($VERSION $VAR1); $VERSION = "5.50"; use File::Spec (); my %vcache = (); my $schema_loaded = {}; sub _validate { my($schema_name,$data,$abs,$y) = @_; my $yaml_module = CPAN->_yaml_module; if ( $CPAN::META->has_inst($yaml_module) && $CPAN::META->has_inst("Kwalify") ) { my $load = UNIVERSAL::can($yaml_module,"Load"); unless ($schema_loaded->{$schema_name}) { eval { my $schema_yaml = yaml($schema_name); $schema_loaded->{$schema_name} = $load->($schema_yaml); }; if ($@) { # we know that YAML.pm 0.62 cannot parse the schema, # so we try a fallback my $content = do { my $path = __FILE__; $path =~ s/\.pm$//; $path = File::Spec->catfile($path, "$schema_name.dd"); local *FH; open FH, $path or die "Could not open '$path': $!"; local $/; <FH>; }; $VAR1 = undef; eval $content; if (my $err = $@) { die "parsing of '$schema_name.dd' failed: $err"; } $schema_loaded->{$schema_name} = $VAR1; } } } if (my $schema = $schema_loaded->{$schema_name}) { my $mtime = (stat $abs)[9]; for my $k (keys %{$vcache{$abs}}) { delete $vcache{$abs}{$k} unless $k eq $mtime; } return if $vcache{$abs}{$mtime}{$y}++; eval { Kwalify::validate($schema, $data) }; if (my $err = $@) { my $info = {}; yaml($schema_name, info => $info); die "validation of distropref '$abs'[$y] against schema '$info->{path}' failed: $err"; } } } sub _clear_cache { %vcache = (); } sub yaml { my($schema_name, %opt) = @_; my $content = do { my $path = __FILE__; $path =~ s/\.pm$//; $path = File::Spec->catfile($path, "$schema_name.yml"); if ($opt{info}) { $opt{info}{path} = $path; } local *FH; open FH, $path or die "Could not open '$path': $!"; local $/; <FH>; }; return $content; } 1; # Local Variables: # mode: cperl # cperl-indent-level: 4 # End:
SILENT KILLER Tool