Ignore:
Timestamp:
2015-12-16T10:41:27+13:00 (8 years ago)
Author:
jmt12
Message:

Turns out some non-70-hyphen drivers need the functions to convert to and from string... may need to think about further refactoring

File:
1 edited

Legend:

Unmodified
Added
Removed
  • gs2-extensions/tdb/trunk/perllib/DBDrivers/70HyphenFormat.pm

    r30347 r30348  
    8888}
    8989## close_infodb_write_handle(filehandle) => void ##
    90 
    91 
    92 ## @function convert_infodb_hash_to_string(hashmap) => string
    93 #
    94 sub convert_infodb_hash_to_string
    95 {
    96     my $self = shift(@_);
    97     my $infodb_map = shift(@_);
    98     my $infodb_entry_value = "";
    99     foreach my $infodb_value_key (keys(%$infodb_map)) {
    100         foreach my $infodb_value (@{$infodb_map->{$infodb_value_key}}) {
    101             $infodb_entry_value .= "<$infodb_value_key>" . $infodb_value . "\n";
    102         }
    103     }
    104     return $infodb_entry_value;
    105 }
    106 ## convert_infodb_hash_to_string(hashmap) => string ##
    107 
    108 
    109 ## @function convert_infodb_string_to_hash(string) => hashmap
    110 #
    111 sub convert_infodb_string_to_hash
    112 {
    113     my $self = shift(@_);
    114     my $infodb_entry_value = shift(@_);
    115     my $infodb_map = ();
    116 
    117     if (!defined $infodb_entry_value) {
    118     print STDERR "Warning: No value to convert into a infodb hashtable\n";
    119     }
    120     else {
    121         while ($infodb_entry_value =~ /^<(.*?)>(.*)$/mg) {
    122             my $infodb_value_key = $1;
    123             my $infodb_value = $2;
    124 
    125             if (!defined($infodb_map->{$infodb_value_key})) {
    126                 $infodb_map->{$infodb_value_key} = [ $infodb_value ];
    127             }
    128             else {
    129                 push(@{$infodb_map->{$infodb_value_key}}, $infodb_value);
    130             }
    131     }
    132     }
    133 
    134     return $infodb_map;
    135 }
    136 ## convert_infodb_string_to_hash(string) => hashmap ##
    13790
    13891
Note: See TracChangeset for help on using the changeset viewer.