commit a9db6c3ebd64a26f593dfd3f766dd89c2182516f
parent 056548a8e5c2c671131a370e5bdd351131fe02a8
Author: Kyle Milz <kyle@getaddrinfo.net>
Date: Sun, 9 Nov 2014 12:13:26 -0700
first cut at setting paths to sane system defaults
Diffstat:
6 files changed, 22 insertions(+), 35 deletions(-)
diff --git a/etc/pricechart.cfg b/etc/pricechart.cfg
@@ -1,6 +1,5 @@
*** general ***
-var = /home/kyle/src/pricegraph
# Chrome 36 Win7 64bit
user_agent = Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36;
email = kyle@getaddrinfo.net
diff --git a/gen_index.pl b/gen_index.pl
@@ -13,8 +13,9 @@ my $config = {
INTERPOLATE => 1,
POST_CHOMP => 1,
EVAL_PERL => 1,
+ # XXX: this needs to be changed
INCLUDE_PATH => "html",
- OUTPUT_PATH => "www/htdocs"
+ OUTPUT_PATH => "/var/www/htdocs/pricechart"
};
my $template = Template->new($config);
@@ -35,6 +36,6 @@ my $vars = {
};
$template->process("index.html", $vars, "index.html") || die $template->error();
-copy("html/pricechart.css", "www/htdocs/pricechart.css");
+copy("html/pricechart.css", "/var/www/htdocs/pricechart/pricechart.css");
$dbh->disconnect();
diff --git a/gen_svg.pl b/gen_svg.pl
@@ -13,9 +13,9 @@ use shared;
# http://www.particleincell.com/wp-content/uploads/2012/06/bezier-spline.js
#
-my $log = get_log("pricechart_gen_svg");
+# my $log = get_log("gen_svg");
-my $svg_dir = "$cfg->{general}{var}/www/htdocs/svg";
+my $svg_dir = "/var/www/htdocs/pricechart/svg";
mkdir $svg_dir;
my ($width, $height) = (900, 210);
diff --git a/price_scraper.pl b/price_scraper.pl
@@ -26,7 +26,7 @@ $dbh->do("create table if not exists prices(" .
"duration int, " .
"primary key(date, part_num, vendor, price))") or die $DBI::errstr;
-my $log = get_log("pricechart_scrapes");
+my $log = get_log("scrapes");
printf $log "%-15s [", $part_num;
vprint("$part_num\n");
diff --git a/search.pl b/search.pl
@@ -11,7 +11,7 @@ use shared;
print "disconnecting dbh\n";
$dbh->disconnect();
-my $pid_file = "$cfg->{general}{var}/run/pricegraph_search.pid";
+my $pid_file = "/var/www/run/search.pid";
if (-e $pid_file) {
print "pid file $pid_file exists, search may already be running\n";
@@ -23,9 +23,10 @@ print "daemonizing\n";
my $daemon = Proc::Daemon->new(
- work_dir => "/home/kyle/src/pricegraph",
- child_STDOUT => "log/search.txt",
- child_STDERR => "log/search.txt",
+ setuid => 67,
+ work_dir => "/var/www",
+ child_STDOUT => "logs/pricechart/search.txt",
+ child_STDERR => "logs/pricechart/search.txt",
pid_file => $pid_file
);
@@ -36,8 +37,8 @@ $SIG{TERM} = \&sig_handler;
print "assigned sig handlers\n";
-mkdir "$cfg->{general}{var}/www/run";
-my $socket_path = "$cfg->{general}{var}/www/run/search.sock";
+# mkdir "$cfg->{general}{var}/www/run";
+my $socket_path = "/var/www/run/search.sock";
print "made run dir\n";
@@ -47,20 +48,16 @@ my $request = FCGI::Request(\*STDIN, \*STDOUT, \*STDERR, \%ENV,
print "made socket and request objects\n";
-chmod 0777, $socket_path;
-
-print "chmod 0777\n";
-
my $config = {
- INCLUDE_PATH => "html"
+ # XXX: this needs to be fixed
+ INCLUDE_PATH => "/home/kyle/src/pricechart/html"
};
my $template = Template->new($config);
print "made new template config\n";
-my $db_dir = "$cfg->{general}{var}/db";
my $dbh = DBI->connect(
- "dbi:SQLite:dbname=$db_dir/pricechart.db",
+ "dbi:SQLite:dbname=/var/www/db/pricechart.db",
"",
"",
{ RaiseError => 1 }
diff --git a/shared.pm b/shared.pm
@@ -42,7 +42,6 @@ my $parser = Config::Grammar->new({
},
general => {
_vars => [
- 'var',
'user_agent',
'email',
'smtp',
@@ -51,10 +50,10 @@ my $parser = Config::Grammar->new({
});
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);
+my $db_dir = "/var/www/db";
+mkdir $db_dir;
+
our $dbh = DBI->connect(
"dbi:SQLite:dbname=$db_dir/pricechart.db",
"",
@@ -86,24 +85,15 @@ sub get_ua
sub get_log
{
my $file = shift;
- my $log_dir = "$cfg->{general}{var}/log";
+ my $log_dir = "/var/www/logs/pricechart";
- make_dir($log_dir);
- open my $log, ">>", "$log_dir/$file.txt";
+ mkdir $log_dir;
+ open my $log, ">>", "$log_dir/$file.log" || die "$!";
print $log strftime "%b %e %Y %H:%M ", localtime;
return $log;
}
-sub make_dir
-{
- my $dir = shift;
-
- unless (-e $dir or mkdir $dir) {
- die "Could not create directory $dir: $!\n"
- }
-}
-
sub vprint
{
print $_[0] if ($args{v});