File: 1.2to2.0

package info (click to toggle)
pronto 2.4.0-4
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 3,112 kB
  • ctags: 487
  • sloc: perl: 22,159; makefile: 127; sh: 34; sql: 7
file content (42 lines) | stat: -rwxr-xr-x 1,079 bytes parent folder | download | duplicates (3)
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
#!/usr/bin/perl
use File::Copy;
require "prontolib.pl";
&read_prefs();
$conn=&open_db_conn;
&add_trueregex;

sub add_trueregex
{
	if ($prefs{'DatabaseDriver'} eq "mysql") {
		$sql = "alter table filters add trueregex int";
	} elsif ($prefs{'DatabaseDriver'} eq "Pg") {
		$sql = "alter table filters add column trueregex int";
	} elsif ($prefs{'DatabaseDriver'} eq "CSV") {
		&add_csv_column("$prefs{'MailDir'}/filters","trueregex");
		return 1;
	}	
	$query = $conn->prepare($sql);
	$query->execute();
}

sub add_csv_column
{
	my ($filename, $column) = @_;
	open (FILE, $filename);
	@file = <FILE>;
	close (FILE);
	$columnlist = $file[0];
	if ($columnlist =~ m/\b$column\b/) { print "has been added already\n"; return 1; }
	if ($column eq "ref") {
		$columnlist=~ s/,score/,score,ref/i;
	} elsif ($column eq "count") {
		$columnlist=~ s/,name/,name,count/i;
	} elsif ($column eq "trueregex") {
		$columnlist=~ s/,count/,count,trueregex/i;
	}	
	$file[0] = $columnlist;
	copy($filename,$filename."_bak");
	open(FILE,">$filename");
	foreach(@file) { print FILE $_  }
	close(FILE);
}