]> lifelog.hopto.org Git - PerlCNF.git/commitdiff
Release 3.3.2
authorWill Budic <redacted>
Wed, 15 Jan 2025 06:52:40 +0000 (17:52 +1100)
committerWill Budic <redacted>
Wed, 15 Jan 2025 06:52:40 +0000 (17:52 +1100)
22 files changed:
system/modules/CNFDateTime.pm
system/modules/CNFJSON.pm
system/modules/CNFMeta.pm
system/modules/CNFNode.pm
system/modules/CNFParser.2.2.pm
system/modules/CNFParser.2.4.pm
system/modules/CNFParser.pm
system/modules/CNFSQL.pm
system/modules/CNFtoJSON.pm
system/modules/ClassicAppSettings.pm
system/modules/DataProcessorPlugin.pm
system/modules/DataProcessorWorldCitiesPlugin.pm
system/modules/DatabaseCentralPlugin.pm
system/modules/HTMLIndexProcessorPlugin.pm
system/modules/HTMLProcessorPlugin.pm
system/modules/MarkdownPlugin.pm
system/modules/RSSFeedsPlugin.pm
system/modules/Settings.pm
system/modules/TestManagerOld.pm
tests/testInclude.pl
tests/testTree.pl
vscode_local_extensions/extensions.json

index e8cc8fc67c1a6d180799cde58e94ccee139f0764..a0ed26f65cfc065eaf5efc95445279c6bfc9adaf 100644 (file)
@@ -20,8 +20,8 @@ use constant{
                 DEFAULT_TIME_ZONE => 'UTC'
 };
 
-# CNFDateTime instances begin with now, can be epoch zero that is $NULL, or _toCNFDateParsed(), they are never new.
-# epoch attibute if not been given will be setting it to now or current time and date.
+# CNFDateTime instances begin with now, can be epoch zero that is $NULL, or _toCNFDate() parsed, they are never new.
+# epoch attribute if not been given will be setting it to now or current time and date.
 # TZ attribute if not given will use  DEFAULT_TIME_ZONE. Avoid to pass only fat arrow type arguments.
 # my $now = CNFDateTime->now(TZ=>$my_zoneh);  #  <- wrong translates to array of arguments and $my_zone might be undef.
 # my $now = CNFDateTime->now({TZ=>$my_zone}); #  <- proper way set with a hash even if $my_zone might be undef.
@@ -72,7 +72,7 @@ sub toSchlong($self){
     return $self->{long} if exists $self->{long};
     $self->{long} = $self->datetime() -> strftime(FORMAT_SCHLONG)
 }
-## Force the daylights out of this instance during initialisation, usefull for debugging.
+## Force the daylights out of this instance during initialization, useful for debugging.
 sub stamp($self){
     $self -> {timestamp} = $self->datetime() -> strftime(FORMAT_NANO);
     return $self;
@@ -91,12 +91,13 @@ sub _listAvailableTZ($country){
 1;
 
 =begin copyright
-Programed by  : Will Budic
+Programed by  : Will Budić
 EContactHash  : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
-Source        : https://github.com/wbudic/PerlCNF.git
+Source        : git clone git://lifelog.hopto.org/PerlCNF
+              : https://github.com/wbudic/PerlCNF.git
 Documentation : Specifications_For_CNF_ReadMe.md
     This source file is copied and usually placed in a local directory, outside of its repository project.
-    So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+    So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
     Please leave source of origin in this file for future references.
 Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
 =cut copyright
index 51e944e507d57ab2d19421051177835b3d651f87..72b0f24adac4cc84d6694c4f1741ee0814ce5c32 100644 (file)
@@ -133,12 +133,13 @@ sub jsonToCNFNode {
 1;
 
 =begin copyright
-Programed by  : Will Budic
+Programed by  : Will Budić
 EContactHash  : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
-Source        : https://github.com/wbudic/PerlCNF.git
+Source        : git clone git://lifelog.hopto.org/PerlCNF
+              : https://github.com/wbudic/PerlCNF.git
 Documentation : Specifications_For_CNF_ReadMe.md
     This source file is copied and usually placed in a local directory, outside of its repository project.
-    So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+    So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
     Please leave source of origin in this file for future references.
 Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
 =cut copyright
\ No newline at end of file
index fb5722adc4e923e9d4851e8009b28314821d32a5..16496b25b57168a9d63fd49d46b80e496035c532 100644 (file)
@@ -1,7 +1,7 @@
 # Meta flags that can be set for some CNF instructions.
-# Programed by  : Will Budic
+# Programed by  : Will Budić
 # Notice - This source file is copied and usually placed in a local directory, outside of its project.
-# So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+# So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
 # Please leave source of origin in this file for future references.
 # Source of Origin : https://github.com/wbudic/PerlCNF.git
 # Documentation : Specifications_For_CNF_ReadMe.md
@@ -247,4 +247,16 @@ sub _zero_prefix ($times, $val) {
     }
 }
 
-1;
\ No newline at end of file
+1;
+
+=begin copyright
+Programed by  : Will Budić
+EContactHash  : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
+Source        : git clone git://lifelog.hopto.org/PerlCNF
+              : https://github.com/wbudic/PerlCNF.git
+Documentation : Specifications_For_CNF_ReadMe.md
+    This source file is copied and usually placed in a local directory, outside of its repository project.
+    So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
+    Please leave source of origin in this file for future references.
+Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
+=cut copyright
\ No newline at end of file
index fa1f821dae039c4ef1b95d23b5a9b0806a275184..be8698022f5281831fd6cf873e23534903fcdc93 100644 (file)
@@ -288,7 +288,7 @@ sub find {
               $ret  =  $ret -> {$name}
         }
     }
-    return !$ret?\@arr:$ret;
+    return !$ret?\@arr: ref($ret) eq 'SCALAR' ? $$ret : $ret;
 }
 ##
 # Convinence method to find lastChild or all chidren by a certain name.
@@ -556,10 +556,12 @@ sub process {
                     if(@attr>1){
                         my $n = $attr[0];
                         my $v = $attr[1];
-                        if($v =~ /[<\[]\*[<\[](.*)[]>\]]\*[>\]]/){
+                        if($v =~ m/[<\[]\*[<\[](.*)[]>\]]\*[>\]]/){
                            $v = $self-> obtainLink($parser, $1)
-                         } $v =~ m/^(['"]).*(['"])$/g;
+                         }else{
+                           $v =~ m/^(['"]).*(['"])$/g;
                            $v =~ s/^$1|$2$//g if($1 && $2 && $1 eq $2);
+                         }
                         $self->{$n} = $v;
                         next;
                     }else{
@@ -898,12 +900,13 @@ sub toScript {
 1;
 
 =begin copyright
-Programed by  : Will Budic
+Programed by  : Will Budić
 EContactHash  : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
-Source        : https://github.com/wbudic/PerlCNF.git
+Source        : git clone git://lifelog.hopto.org/PerlCNF
+              : https://github.com/wbudic/PerlCNF.git
 Documentation : Specifications_For_CNF_ReadMe.md
     This source file is copied and usually placed in a local directory, outside of its repository project.
-    So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+    So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
     Please leave source of origin in this file for future references.
 Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
 =cut copyright
\ No newline at end of file
index a4516e2bdbb0d98e3afe8aced6c984c90dc54084..1a4c28f815538dbf9ff9cb39656884d431dbb16b 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 #
-# Programed by: Will Budic
+# Programed by: Will Budić
 # Open Source License -> https://choosealicense.com/licenses/isc/
 #
 package CNFParser;
index 2e95fa24d7b27df57c2517e5d3b4abea99788a65..651c8c04ebe7235e5b5ac51efda98e9df99f3249 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 #
-# Programed by: Will Budic
+# Programed by: Will Budić
 # Open Source License -> https://choosealicense.com/licenses/isc/
 #
 package CNFParser;
index 48f23d5fc911c119e0900c58cb5abafb1d53e8eb..af5bcd783be4a86104dbfcffd5fe0303c83f4328 100644 (file)
@@ -15,12 +15,12 @@ require CNFNode;
 require CNFDateTime;
 
 # Do not remove the following no critic, no security or object issues possible.
-# We can use perls default behaviour on return.
+# We can use perls default behavior on return.
 ##no critic qw(Subroutines::RequireFinalReturn)
 ##no critic Perl::Critic::Policy::ControlStructures::ProhibitMutatingListFunctions
 
-use constant VERSION => '3.3.1';
-use constant APPSET   => 'APP_SETTINGS';
+use constant VERSION => '3.3.2';
+use constant APP_STS => 'APP_SETTINGS';
 our @files;
 our %lists;
 our %properties;
@@ -57,7 +57,7 @@ our $CONSTREQ = 0;
 
 ###
 # Create a new CNFParser instance.
-# $path - Path to some .cnf_file file, to parse, not compsuluory to add now? Make undef.
+# $path - Path to some .cnf_file file, to parse, not compulsory to add now? Make undef.
 # $attrs - is reference to hash of constances and settings to dynamically employ.
 # $del_keys -  is a reference to an array of constance attributes to dynamically remove.
 sub new { my ($class, $path, $attrs, $del_keys, $self) = @_;
@@ -69,8 +69,8 @@ sub new { my ($class, $path, $attrs, $del_keys, $self) = @_;
                   ANONS_ARE_PUBLIC=> 1,  # Anon's are shared and global for all of instances of this object, by default.
                   ENABLE_WARNINGS => 1,  # Disable this one, and you will stare into the void, about errors or operations skipped.
                   STRICT          => 1,  # Enable/Disable strict processing to FATAL on errors, this throws and halts parsing on errors.
-                  HAS_EXTENSIONS  => 0,  # Enable/Disable extension of custom instructions. These is disabled by default and ingored.
-                  DEBUG           => 0,  # Not internally used by the parser, but possible a convienince bypass setting for code using it.
+                  HAS_EXTENSIONS  => 0,  # Enable/Disable extension of custom instructions. These is disabled by default and ignored.
+                  DEBUG           => 0,  # Not internally used by the parser, but possible a convenience bypass setting for code using it.
                   CNF_CONTENT     => "", # Origin of the script, this will be set by the parser, usually the path of a script file or is direct content.
                   RUN_PROCESSORS  => 1,  # When enabled post parse processors are run, are these outside of the scope of the parsers executions.
         };
@@ -151,7 +151,7 @@ __JSON
 }
 ###
 # Check a value if it is CNFPerl boolean true.
-# For isFalse just negate check with not, as undef is concidered false or 0.
+# For isFalse just negate check with not, as undef is considered false or 0.
 ##
 sub _isTrue{
     my $value = shift;
@@ -311,7 +311,7 @@ sub const { my ($self,$c)=@_;
 # Collections are global, Reason for this is that any number of subsequent files parsed,
 # might contain properties that overwrite previous existing ones.
 # Or require ones that don't include, and expecting them to be there.
-# This overwritting can be erronous, but also is not expected to be very common to happen.
+# This overwriting can be erroneous, but also is not expected to be very common to happen.
 # Following method, provides direct access to the properties, this method shouldn't be used in general.
 sub collections {\%properties}
 
@@ -320,7 +320,7 @@ sub collection {
 return property(@_);
 }
 ###
-# Collection now returns the contained type dereferenced and is concidered a property.
+# Collection now returns the contained type dereferenced and is considered a property.
 # Make sure you use the appropriate Perl type on the receiving end.
 # Note, if properties contain any scalar key row, it sure hasn't been set by this parser.
 #
@@ -328,17 +328,21 @@ sub property { my($self, $name) = @_;
     if(exists($properties{$name})){
        my $ret = $properties{$name};
        my $ref = ref($ret);
-       if($ref eq 'ARRAY'){
+       if($ref eq 'REF'){ 
+         #This should ideally return and dereferenced to an reference.
+          return $$ret
+       }elsif($ref eq 'ARRAY'){
           return  @{$ret}
        }elsif($ref eq 'PropertyValueStyle'){
-          return ${$ret->{plugin}} if $ret->{instructor} eq APPSET;
-          return $ret;
-       }
-       else{
+          return ${$ret->{plugin}} if $ret->{instructor} eq APP_STS;
+          return $ret
+       }elsif($ref eq 'SCALAR'){ 
+          return $ret
+       }else{
           return  %{$ret}
        }
     }
-    return %properties{$name}
+    return
 }
 
 sub data {return shift->{'__DATA__'}}
@@ -574,8 +578,8 @@ sub doInstruction { my ($self,$e,$t,$v) = @_;
     elsif($t eq 'MACRO'){
         $instructs{$e}=$v;
     }
-    elsif($t eq APPSET){
-        $self->instructPlugin(InstructedDataItem -> new($e, APPSET, $v));
+    elsif($t eq APP_STS){
+        $self->instructPlugin(InstructedDataItem -> new($e, APP_STS, $v));
     }
     elsif(exists $instructors{$t}){
         if(not $instructors{$t}->instruct($e, $v) && $self->{STRICT}){
@@ -768,11 +772,11 @@ sub parse {  my ($self, $cnf_file, $content, $del_keys) = @_;
            $self->{CNF_CONTENT} = 'script'
         }
     }
-    $content =~ m/^\!(CNF(\d+\.\d+))/;
-    my $CNF_VER = $1;
+    $content =~ m/^\!(CNF\s*(\d+\.\d+))/;
+    my $CNF_VER = $1; my $CNF_VER_SRC = $2;
     if (not $CNF_VER){
             $CNF_VER="Undefined!"
-    }elsif(VERSION()<$2){
+    }elsif(VERSION =~ m/^(\d+\.\d+)/ && $CNF_VER_SRC > $1){
         $self->warn("CNF Script version is newer, are you using the latest parser version $CNF_VER?");
     }
     $self->{CNF_VERSION} = $CNF_VER;
@@ -818,13 +822,17 @@ sub parse {  my ($self, $cnf_file, $content, $del_keys) = @_;
               }
            }else{
               $v =~ s/\s*>$//;
+              if(!$t){
+                  $v =~ m/([\w ]*)\s+(.*)/gms;
+                  $t = $1;
+                  $v = $2;
+              }
               $ANONS->{$t} = $v;
            }
 
         }else{
-            #vars are e-element,t-token or instruction,v- for value, vv -array of the lot.
+            # Vars are e-element,t-token or instruction,v- for value, vv -array of the lot.
             my ($e,$t,$v,@vv);
-
             # Check if very old format and don't parse the data for old code compatibility to (still) do it.
             # This is interesting, as a newer format file is expected to use the DATA instruction and final data specified script rules.
             if($CNF_VER eq 'CNF2.2' && $tag =~ m/(\w+)\s*(<\d+>\s)\s*(.*\n)/mg){#It is old DATA format annon
@@ -853,9 +861,9 @@ sub parse {  my ($self, $cnf_file, $content, $del_keys) = @_;
                 $tag =~ m/\s*([@%\$\.\/\w]+)\s* # The name.
                                 ([ <>\n])       # begin or close of instruction, where '\n' mark in script as instruction less.
                                 ([^<^>^^\n]+)   # instruction or value of anything
-                                    ([<>\n]?)   # close mark for instuction or is less if \n encountered before.
+                                    ([<>\n]?)   # close mark for instruction or is less if \n encountered before.
                                     (.*)        # actual value is the rest.
-                                       (>$)*    # capture above value up to here from buffer, i.e. if comming from a >>> tag.
+                                       (>$)*    # capture above value up to here from buffer, i.e. if coming from a >>> tag.
                          /gmxs;                 ###############################################################################
 
                 $e =$1;
@@ -949,7 +957,7 @@ sub parse {  my ($self, $cnf_file, $content, $del_keys) = @_;
                                     $value =~ s/\Q$find\E/$r/g;
                                 }
                             }
-                            $hsh{$name}=$value;  $self->log("macro $t.$name->$value\n") if $self->{DEBUG}
+                            $hsh{$name}=$value;  $self->log("macro $t.$name->$value") if $self->{DEBUG}
                         }
                     }
                     $properties{$t}=\%hsh;
@@ -1228,7 +1236,7 @@ sub runPostParseProcessors {
 #
 
 ###
-# Setup and pass to pluging CNF functionality.
+# Setup and pass to plugin CNF functionality.
 # @TODO Currently Under development.
 ###
 sub doPlugin {
@@ -1238,8 +1246,8 @@ sub doPlugin {
     my $pck = $plugin->{package};
     my $prp = $plugin->{property};
     my $sub = $plugin->{subroutine};
-    if($instructor eq APPSET){
-        $pck = 'ClassicAppSettings' if ! $pck;
+    if($instructor eq APP_STS){
+        $pck = 'ClassicAPP_STStings' if ! $pck;
         ## no critic (RequireBarewordIncludes)
         require "$pck.pm";
         my $obj = $pck -> new($plugin);
@@ -1339,7 +1347,7 @@ sub writeOut { my ($self, $handle, $property) = @_;
             }
             $buffer .= ' 'x$spc. $key .  " = $val\n";
         }
-        $buffer .= ">>";
+        $buffer .= ">>>";
         return $buffer if !$handle;
         print $handle $buffer;
         return 1
@@ -1409,31 +1417,34 @@ sub log {
 
     $message = "$type $message" if $isWarning;
     if($message =~ /^ERROR/ || ($isWarning && $self->{ENABLE_WARNINGS})){
+        $message =~ s/(\s+line\s)(\d+)\.*\s+/:$2\n/gm;
         warn  $time . " " .$message;
     }
     elsif(%log && $log{console}){
         print $time . " " .$message ."\n"
     }
     if(%log && _isTrue($log{enabled}) && $message){
+        my $dir      = $log{directory}; $dir = '.' if not $dir; $dir .= '/' if $dir !~ /\/$/;
         my $logfile  = $log{file};
         my $tail_cnt = $log{tail};
         if($logfile){
-                        open (my $fh, ">>", $logfile) or die $!;
-                        print $fh $time . " - " . $message ."\n";
-                        close $fh;
-                        if($tail_cnt>0 && !$LOG_TRIM_SUB){
-                           $fh = File::ReadBackwards->new($logfile) or die $!;
-                           if($fh->{lines}>$tail_cnt){
-                                $LOG_TRIM_SUB = sub {
-                                my $fh = File::ReadBackwards->new($logfile) or die $!;
-                                my @buffer; $buffer[@buffer] = $fh->readline() for (1..$tail_cnt);
-                                   open (my $fhTemp, ">", "/tmp/$logfile") or die $!;
-                                    print $fhTemp $_ foreach (reverse @buffer);
-                                    close $fhTemp;
-                                   move("/tmp/$logfile",$logfile)
-                                }
-                           }
+                mkdir $dir if not ( -e $dir and -d $dir);
+                open (my $fh, ">>", $dir.$logfile) or die $!;
+                print $fh $time . " - " . $message ."\n";
+                close $fh;
+                if($tail_cnt>0 && !$LOG_TRIM_SUB){
+                    $fh = File::ReadBackwards->new($dir.$logfile) or die $!;
+                    if($fh->{lines}>$tail_cnt){
+                        $LOG_TRIM_SUB = sub {
+                            my $fh = File::ReadBackwards->new($dir.$logfile) or die $!;
+                            my @buffer; $buffer[@buffer] = $fh->readline() for (1..$tail_cnt);
+                            open (my $fhTemp, ">", "/tmp/$logfile") or die $!;
+                                    foreach my $line(reverse @buffer){print $fhTemp $line if $line}
+                            close $fhTemp;
+                            move("/tmp/$logfile",$dir.$logfile)
                         }
+                    }
+                }
         }
     }
     return $time . " " .$message;
@@ -1511,8 +1522,9 @@ sub getTree {
     return;
 }
 ##
-# Conviently ribs an cnf file for an pl source file to be next too in marriage.
-# @$const - Dynamic instance assaignable hash with constances, optional can be undef.
+# Conveniently ribs an cnf file for an pl source file to be next too in marriage.
+# Ribs means the config file is same name next to it.
+# @$const - Dynamic instance assignable hash with constances, optional can be undef.
 # @$file  - Path to CNF file if missing will be created.
 # @return a configuration instance per script usually assigned.
 ##
@@ -1539,7 +1551,7 @@ sub _configure{
 sub _fetchScriptStat{
      my $cnf_file = shift;
      my @stat = stat($cnf_file);
-     open(my $fh, "<:perlio", $cnf_file )  or  die "Can't open $cnf_file -> $!"; close $fh;
+     #open(my $fh, "<:perlio", $cnf_file )  or  die "Can't open $cnf_file -> $!"; close $fh;
      return \@stat;
 }
 
@@ -1553,12 +1565,13 @@ undef %instructors;
 }
 1;
 =begin copyright
-Programed by  : Will Budic
+Programed by  : Will Budić
 EContactHash  : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
-Source        : https://github.com/wbudic/PerlCNF.git
+Source        : git clone git://lifelog.hopto.org/PerlCNF
+              : https://github.com/wbudic/PerlCNF.git
 Documentation : Specifications_For_CNF_ReadMe.md
     This source file is copied and usually placed in a local directory, outside of its repository project.
-    So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+    So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
     Please leave source of origin in this file for future references.
 Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
 =cut copyright
index 9d96cd55dd82ce71c7a91a70c8dc846ea9a94873..7ee49f8e70d2d69c0314300fd628222e788ccfba 100644 (file)
@@ -516,12 +516,13 @@ undef %tables_creat_stmts;undef %views;
 1;
 
 =begin copyright
-Programed by  : Will Budic
+Programed by  : Will Budić
 EContactHash  : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
-Source        : https://github.com/wbudic/PerlCNF.git
+Source        : git clone git://lifelog.hopto.org/PerlCNF
+              : https://github.com/wbudic/PerlCNF.git
 Documentation : Specifications_For_CNF_ReadMe.md
     This source file is copied and usually placed in a local directory, outside of its repository project.
-    So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+    So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
     Please leave source of origin in this file for future references.
 Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
 =cut copyright
\ No newline at end of file
index c9f5e865eeca4e4ad8dc8ecc2d9db6911b02134d..b8a27766af83dfe6c37efd4ee681709b08897678 100644 (file)
@@ -1,5 +1,5 @@
 # SQL Processing part for the Configuration Network File Format.
-# Programed by  : Will Budic
+# Programed by  : Will Budić
 # Source Origin : https://github.com/wbudic/PerlCNF.git
 # Open Source License -> https://choosealicense.com/licenses/isc/
 #
@@ -99,4 +99,15 @@ sub _translateNL {
 }
 
 
-1;
\ No newline at end of file
+1;
+=begin copyright
+Programed by  : Will Budić
+EContactHash  : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
+Source        : git clone git://lifelog.hopto.org/PerlCNF
+              : https://github.com/wbudic/PerlCNF.git
+Documentation : Specifications_For_CNF_ReadMe.md
+    This source file is copied and usually placed in a local directory, outside of its repository project.
+    So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
+    Please leave source of origin in this file for future references.
+Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
+=cut copyright
\ No newline at end of file
index d42822c32494355e6bd5d9cc1ceb700a42df5e43..ff21a13fc447338799376695d3d13202c73324c7 100644 (file)
@@ -130,12 +130,12 @@ sub sync_with($this, %store){
 1;
 
 =begin copyright
-Programed by  : Will Budic
+Programed by  : Will Budić
 EContactHash  : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
 Source        : https://github.com/wbudic/PerlCNF.git
 Documentation : Specifications_For_CNF_ReadMe.md
     This source file is copied and usually placed in a local directory, outside of its repository project.
-    So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+    So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
     Please leave source of origin in this file for future references.
 Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
 =cut copyright
\ No newline at end of file
index ac6a67ac69ee45827cdb1c17a211f95c73c41b97..d7ed32ed252f66d7919ec945ce0eb5424859cf7e 100644 (file)
@@ -210,12 +210,12 @@ sub processOLD ($self, $parser, $property) {
 1;
 
 =begin copyright
-Programed by  : Will Budic
+Programed by  : Will Budić
 EContactHash  : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
 Source        : https://github.com/wbudic/PerlCNF.git
 Documentation : Specifications_For_CNF_ReadMe.md
     This source file is copied and usually placed in a local directory, outside of its repository project.
-    So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+    So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
     Please leave source of origin in this file for future references.
 Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
 =cut copyright
\ No newline at end of file
index d644b577bd5c9691fc22c105dd236eb0588b9918..a6c3caf55ac8b2262a5cf9ff496fd4ff4b9f2a19 100644 (file)
@@ -88,12 +88,12 @@ sub loadAndProcess ($self, $parser, $property) {
 1;
 
 =begin copyright
-Programed by  : Will Budic
+Programed by  : Will Budić
 EContactHash  : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
 Source        : https://github.com/wbudic/PerlCNF.git
 Documentation : Specifications_For_CNF_ReadMe.md
     This source file is copied and usually placed in a local directory, outside of its repository project.
-    So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+    So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
     Please leave source of origin in this file for future references.
 Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
 =cut copyright
\ No newline at end of file
index 9da079f1aa92bae23e05200b6ddb0f54d19a7f82..c117d77bf933f00aca0cae3ed05b49d31d66b584 100644 (file)
@@ -21,6 +21,7 @@ use Date::Manip;
 use Scalar::Util qw(looks_like_number);
 
 require CNFDateTime;
+require CNFMeta;
 use constant VERSION => '1.1';
 
 my  ($isSQLite,$dsn)=(0,());
@@ -218,7 +219,7 @@ if($ref eq 'CNFNode'){
                 my $idT  = CNFMeta::_deRefArray($header[$MHDR{ID_TYPE}]);
 
                 ###
-                # Following is rare to see in code, my (wbudic) forward override conditional mapping algorithm,
+                # Following is rare to see in code, my (wBudić) forward override conditional mapping algorithm,
                 # as actual data @row length could be larger to the relative column map, of what we are inserting.
                 # I know, it looks like a unlocking a magick riddle. It indexes based on the insert statment.
                 #
@@ -731,12 +732,13 @@ sub getConfigFiles($self, $parser, $property){
 1;
 
 =begin copyright
-Programed by  : Will Budic
+Programed by  : Will Budić
 EContactHash  : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
-Source        : https://github.com/wbudic/PerlCNF.git
+Source        : git clone git://lifelog.hopto.org/PerlCNF
+              : https://github.com/wbudic/PerlCNF.git
 Documentation : Specifications_For_CNF_ReadMe.md
     This source file is copied and usually placed in a local directory, outside of its repository project.
-    So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+    So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
     Please leave source of origin in this file for future references.
 Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
 =cut copyright
\ No newline at end of file
index afce2c18e737cedd82dbe67348c69a3b6f9094cc..9b3ea7610f182735d879f5e8e4f13c35e69b0450 100644 (file)
@@ -263,12 +263,13 @@ sub isParagraphName {
 1;
 
 =begin copyright
-Programed by  : Will Budic
+Programed by  : Will Budić
 EContactHash  : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
-Source        : https://github.com/wbudic/PerlCNF.git
+Source        : git clone git://lifelog.hopto.org/PerlCNF
+              : https://github.com/wbudic/PerlCNF.git
 Documentation : Specifications_For_CNF_ReadMe.md
     This source file is copied and usually placed in a local directory, outside of its repository project.
-    So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+    So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
     Please leave source of origin in this file for future references.
 Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
 =cut copyright
\ No newline at end of file
index 2977a311ef470238bb4284fa79f88f0922979a66..96168f7d39ce10070065a4d115c775dbb5dd8a4d 100644 (file)
@@ -199,12 +199,12 @@ sub isParagraphName {
 1;
 
 =begin copyright
-Programed by  : Will Budic
+Programed by  : Will Budić
 EContactHash  : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
 Source        : https://github.com/wbudic/PerlCNF.git
 Documentation : Specifications_For_CNF_ReadMe.md
     This source file is copied and usually placed in a local directory, outside of its repository project.
-    So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+    So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
     Please leave source of origin in this file for future references.
 Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
 =cut copyright
\ No newline at end of file
index 39484d95a9a1e4f65540bc59231d4381bf3b1616..bd8dfffec8b40df274adfbefc7088baa6b09bffd 100644 (file)
@@ -809,7 +809,7 @@ div .cnf {
 1;
 
 =begin copyright
-Programed by  : Will Budic
+Programed by  : Will Budić
 EContactHash  : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
 
 Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
index 468495472253fc065736551a3c1580006ba8c335..ceee7b7fa7695d5a0e15c9a19157d16b97bacf1f 100644 (file)
@@ -397,12 +397,12 @@ my  $buffer = capture_stdout {
 =cut scrap
 
 =begin copyright
-Programed by  : Will Budic
+Programed by  : Will Budić
 EContactHash  : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
 Source        : https://github.com/wbudic/PerlCNF.git
 Documentation : Specifications_For_CNF_ReadMe.md
     This source file is copied and usually placed in a local directory, outside of its repository project.
-    So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+    So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
     Please leave source of origin in this file for future references.
 Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
 =cut copyright
\ No newline at end of file
index c4c59b69dd3792b81b5f36fc3cdda4a3afa21c92..7cfb1db5f0d4e9c23f9d621fe2a9a1b204420317 100644 (file)
@@ -2,7 +2,7 @@
 #
 # Web interaction, reusable tri state of configuration concerns, set of utilities. 
 #
-# Programed by: Will Budic
+# Programed by: Will Budić
 # Open Source License -> https://choosealicense.com/licenses/isc/
 #
 package Settings;
@@ -939,4 +939,15 @@ sqlPubors      {$SQL_PUB}
         /;
 }
 
-1;
\ No newline at end of file
+1;
+=begin copyright
+Programed by  : Will Budić
+EContactHash  : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
+Source        : git clone git://lifelog.hopto.org/PerlCNF
+              : https://github.com/wbudic/PerlCNF.git
+Documentation : Specifications_For_CNF_ReadMe.md
+    This source file is copied and usually placed in a local directory, outside of its repository project.
+    So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
+    Please leave source of origin in this file for future references.
+Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
+=cut copyright
\ No newline at end of file
index 6f825a2989274642337b2e1060984b7fb962b06a..8c4393a79c76b20bb2bd8ee6d08086736d279885 100644 (file)
@@ -3,7 +3,7 @@
 # Test Manager to make test case source code more readable and organised. 
 # This is initial version, not supporting fall through and multiple test files and cases.
 #
-# Programed by: Will Budic
+# Programed by: Will Budić
 # Open Source License -> https://choosealicense.com/licenses/isc/
 #
 package TestManager;
index d5ab9ba64e68a2488efa785e9ee1dfc5abc907d5..b888a862adcdd4655fd3fbf8c453cbc472b1cdbe 100644 (file)
@@ -11,6 +11,7 @@ require CNFParser;
 my $test = TestManager -> new($0);
 my $cnf;
 
+
 try{
     ###
     # Test instance creation.
index 4beab75464764cc0e4ad78b5e7923615163f671c..a4fcaed42f79ac884bd867197b02a53cd163c685 100644 (file)
@@ -230,8 +230,6 @@ $test->evaluate("\$TEST/test",$nada,'me too');
    $test->isDefined('node/@@/p1/b', $val);
    $test->evaluate('node/@@/p1/b', $val, '2' );
 
-
    #   
     $test->done();    
    #
index de52e06da431996fd3cac71d6ad786a44196487b..78945e6b5c454c8eb95a140a48c7f66a588524ba 100644 (file)
@@ -1 +1 @@
-[{"identifier":{"id":"wbudic.perlcnf"},"version":"0.0.2","location":{"$mid":1,"path":"/home/will/dev/PerlCNF/vscode_local_extensions/wbudic.perlcnf-0.0.2","scheme":"file"},"relativeLocation":"wbudic.perlcnf-0.0.2"},{"identifier":{"id":"richterger.perl","uuid":"effbf376-b9ad-4395-9b0e-8cf0537fbf04"},"version":"2.6.1","location":{"$mid":1,"fsPath":"/home/will/dev/PerlCNF/vscode_local_extensions/richterger.perl-2.6.1","path":"/home/will/dev/PerlCNF/vscode_local_extensions/richterger.perl-2.6.1","scheme":"file"},"relativeLocation":"richterger.perl-2.6.1","metadata":{"id":"effbf376-b9ad-4395-9b0e-8cf0537fbf04","publisherId":"f5ad92f6-de6c-4381-a399-f8a7201ceb52","publisherDisplayName":"Gerald Richter","targetPlatform":"undefined","isApplicationScoped":false,"updated":true,"isPreReleaseVersion":false,"installedTimestamp":1690363217626,"preRelease":false}}]
\ No newline at end of file
+[{"identifier":{"id":"wbudic.perlcnf"},"version":"0.0.2","location":{"$mid":1,"path":"/home/will/dev_new/PerlCNF/vscode_local_extensions/wbudic.perlcnf-0.0.2","scheme":"file"},"relativeLocation":"wbudic.perlcnf-0.0.2","metadata":{"isApplicationScoped":true}}