commit 3cc2401e79e0f6503e5415e71f108cde6ecb430d
parent 0d18d24b3f87db1c5b7e6c652337e50907e4f9ad
Author: Kyle Milz <kyle@getaddrinfo.net>
Date:   Fri, 24 Oct 2014 01:47:28 -0600
shared: always export $cfg and $dbh
Diffstat:
6 files changed, 46 insertions(+), 69 deletions(-)
diff --git a/gen_index.pl b/gen_index.pl
@@ -9,9 +9,6 @@ use Template;
 use shared;
 
 
-my $cfg = get_config();
-my $dbh = get_dbh($cfg);
-
 my $config = {
 	INTERPOLATE => 1,
 	POST_CHOMP => 1,
diff --git a/gen_svg.pl b/gen_svg.pl
@@ -8,9 +8,8 @@ use POSIX;
 
 use shared;
 
-my $cfg = get_config();
-my $dbh = get_dbh($cfg);
-my $log = get_log($cfg, "pricechart_gen_svg");
+
+my $log = get_log("pricechart_gen_svg");
 
 print $log strftime "%b %e %Y %H:%M ", localtime;
 
diff --git a/price_scraper.pl b/price_scraper.pl
@@ -8,11 +8,8 @@ use POSIX;
 use shared;
 
 
-my $cfg = get_config();
-my $dbh = get_dbh($cfg);
-my $ua  = get_ua($cfg);
-my $log = get_log($cfg, "pricechart_scrapes");
-
+my $ua  = get_ua();
+my $log = get_log("pricechart_scrapes");
 
 my $part_num;
 if ($args{p}) {
diff --git a/product_scraper.pl b/product_scraper.pl
@@ -11,9 +11,7 @@ use POSIX;
 use shared;
 
 
-my $cfg = get_config();
-my $dbh = get_dbh($cfg);
-my $ua  = get_ua($cfg);
+my $ua  = get_ua();
 
 srand;
 
diff --git a/search.pl b/search.pl
@@ -8,8 +8,6 @@ use Template;
 
 use shared;
 
-my $cfg = get_config();
-my $dbh = get_dbh($cfg);
 
 mkdir "$cfg->{general}{var}/www/run";
 my $socket_path = "$cfg->{general}{var}/www/run/search.sock";
diff --git a/shared.pm b/shared.pm
@@ -9,7 +9,7 @@ use HTML::Grabber;
 use LWP::Simple;
 
 @ISA = ("Exporter");
-@EXPORT = qw(get_dom get_config get_dbh get_ua get_log vprint vprintf %args);
+@EXPORT = qw(get_dom get_ua get_log vprint vprintf %args $cfg $dbh);
 
 
 our %args;
@@ -17,6 +17,46 @@ getopts('f:np:v', \%args);
 
 $| = 1 if ($args{v});
 
+if (!$args{f}) {
+	if (-e "etc/pricechart.cfg") {
+		$cfg_file = "etc/pricechart.cfg";
+	} else {
+		$cfg_file = "/etc/pricechart.cfg";
+	}
+}
+
+my $parser = Config::Grammar->new({
+	_sections => ['vendors', 'general'],
+	vendors	=> {
+		# vendor regular expression
+		_sections => ['/[A-Za-z ]+/'],
+		'/[A-Za-z ]+/' => {
+			_vars => ['search_uri', 'reg_price', 'sale_price', 'color'],
+		},
+	},
+	general => {
+		_vars => [
+			'var',
+			'user_agent',
+			'email',
+			'smtp',
+		],
+	},
+});
+
+our $cfg =$parser->parse($cfg_file) or die "error: $parser->{err}\n";
+make_dir($cfg->{general}{var});
+
+my $db_dir = "$cfg->{general}{var}/db";
+make_dir($db_dir);
+our $dbh = DBI->connect(
+	"dbi:SQLite:dbname=$db_dir/pricechart.db",
+	"",
+	"",
+	{ RaiseError => 1 }
+) or die $DBI::errstr;
+
+
 sub get_dom
 {
 	my $url = shift;
@@ -30,59 +70,8 @@ sub get_dom
 	return HTML::Grabber->new(html => $resp->decoded_content);
 }
 
-sub get_config
-{
-	if (!$args{f}) {
-		if (-e "etc/pricechart.cfg") {
-			$cfg_file = "etc/pricechart.cfg";
-		} else {
-			$cfg_file = "/etc/pricechart.cfg";
-		}
-	}
-
-	my $parser = Config::Grammar->new({
-		_sections => ['vendors', 'general'],
-		vendors	=> {
-			# vendor regular expression
-			_sections => ['/[A-Za-z ]+/'],
-			'/[A-Za-z ]+/' => {
-				_vars => ['search_uri', 'reg_price', 'sale_price', 'color'],
-			},
-		},
-		general => {
-			_vars => [
-				'var',
-				'user_agent',
-				'email',
-				'smtp',
-			],
-		},
-	});
-
-	my $cfg =$parser->parse($cfg_file) or die "error: $parser->{err}\n";
-	make_dir($cfg->{general}{var});
-
-	return $cfg;
-}
-
-sub get_dbh
-{
-	my $cfg = shift;
-	my $db_dir = "$cfg->{general}{var}/db";
-
-	make_dir($db_dir);
-	my $dbh = DBI->connect(
-		"dbi:SQLite:dbname=$db_dir/pricechart.db",
-		"",
-		"",
-		{ RaiseError => 1 },) or die $DBI::errstr;
-	return $dbh;
-}
-
 sub get_ua
 {
-	my $cfg = shift;
-
 	my $ua = LWP::UserAgent->new(agent => $cfg->{general}{user_agent});
 	$ua->default_header("Accept" => "*/*");
 	return $ua;
@@ -90,7 +79,6 @@ sub get_ua
 
 sub get_log
 {
-	my $cfg = shift;
 	my $file = shift;
 	my $log_dir = "$cfg->{general}{var}/log";