blob: f11e44497c789cff245b477afc48a20058ec451a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
#!/usr/bin/perl
#
# Date: 2009-12-10
# Author: Ole Kristian Lien
# License: GNU General Public License
#
# Parse csv-file for information
#
# needs: libtext-csv-perl
use strict;
use warnings;
use Text::CSV;
if ($#ARGV != 2 ) {
print "usage: csv <csv-file> [<video-file> [<info>]]\n";
exit;
}
my $file=$ARGV[0];
my $video=$ARGV[1];
my $info=$ARGV[2];
my $filename;
my $logo;
my $name;
my $title;
my $what;
my $date;
my $location;
my $license;
my @takk;
my @url;
my $csv = Text::CSV->new();
open (CSV, "<:encoding(utf8)", "$file") or die "$file: $!";
while (<CSV>) {
if ($csv->parse($_)) {
my @columns = $csv->fields();
if ($. == 1) {
my $index;
foreach (@columns) {
if ($_ eq "Filename") {
$filename=$index;
} elsif ($_ eq "Title") {
$title=$index;
} elsif ($_ eq "Logo") {
$logo=$index;
} elsif ($_ eq "Name") {
$name=$index;
} elsif ($_ eq "Title") {
$title=$index;
} elsif ($_ eq "What") {
$what=$index;
} elsif ($_ eq "Date") {
$date=$index;
} elsif ($_ eq "Location") {
$location=$index;
} elsif ($_ eq "License") {
$license=$index;
} elsif ($_ eq "Takk") {
push(@takk, $index);
} elsif ($_ eq "URL") {
push(@url, $index);
}
$index++;
}
}
next if ($. == 1);
if ($video eq $columns[0]) {
if ($info eq "filename") {
print "$columns[0]"; #$filename]";
} elsif ($info eq "logo") {
print "$columns[$logo]";
} elsif ($info eq "name") {
print "$columns[$name]";
} elsif ($info eq "title") {
print "$columns[$title]";
} elsif ($info eq "what") {
print "$columns[$what]";
} elsif ($info eq "date") {
print "$columns[$date]";
} elsif ($info eq "location") {
print "$columns[$location]";
} elsif ($info eq "license") {
print "$columns[$license]";
} elsif ($info eq "takk") {
foreach (@takk) {
my $takk = $columns[$_];
if($takk) {
print "$takk\n";
}
}
} elsif ($info eq "url") {
foreach (@url) {
my $lenke = $columns[$_];
print "$lenke\n";
}
} else {
print "$info column doesn't exist\n";
}
} else {
print "$info row doesn't exist\n";
}
} else {
my $err = $csv->error_input;
print "Failed to parse line #$..: $err";
}
}
close CSV;
|