/[webpac]/trunk/hash_sf.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /trunk/hash_sf.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 678 - (show annotations)
Sun Feb 27 23:07:35 2005 UTC (15 years, 9 months ago) by dpavlin
File size: 576 byte(s)
Experimental support for dBase .dbf files. Usege like this in all2xml.conf:

[hda]
       dbf_file=/data/drustvene/hda/ISO.DBF
       type=dbf
       dbf_codepage=cp852
       dbf_mapping=<<_END_OF_MAP_
ID_BROJ                001
ISBN_BROJ      010
SKUPINA1       200
SKUPINA2       205
SKUPINA4       210
SKUPINA5       215
SKUPINA6       225
SKUPINA7       300
ANOTACIJA      330
PREDMET1       610
PREDMET2       610
PREDMET3       510
UDK            675
REDALICA       700
SIGNATURA      990
_END_OF_MAP_

dbf type will use <isis> tag in import_xml and dbf_codepage will
override codepage specified in import_xml file.

Small code refactoring.


1 #
2 # hash_sf($row_data,'field'[,'subfield'])
3 #
4 # e.g. hash_sf($row,'700','a')
5 #
6 sub hash_sf {
7 my $row = shift @_;
8 my $field = shift @_;
9 my $subfield = shift @_;
10
11 my $i = shift @_ || 0;
12
13 my $out;
14
15 if ($row->{$field}->[$i]) {
16 if (! $subfield) {
17 # subfield list undef, empty or no defined subfields for this record
18 my $all_sf = $row->{record}->{$field}->[$i] || confess "can't find field $field:$i",Dumper($row);
19 $all_sf =~ s/[\^\$]./ /g; # nuke definitions
20 return $all_sf;
21 }
22 my $sf = $row->{$field}->[$i]->{$subfield};
23 return $sf if ($sf);
24 }
25 }
26
27 1;
28

Properties

Name Value
cvs2svn:cvs-rev 1.5

  ViewVC Help
Powered by ViewVC 1.1.26