git://git.jankratochvil.net
/
www.energie.vellum.cz.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update of the ordering list for the year 2005.
[www.energie.vellum.cz.git]
/
obsah_init.pl
diff --git
a/obsah_init.pl
b/obsah_init.pl
index
917e2da
..
1f7be33
100755
(executable)
--- a/
obsah_init.pl
+++ b/
obsah_init.pl
@@
-6,7
+6,7
@@
use strict;
use DBI;
use vars qw/$db_driver $db_host $db_user $db_pwd $DB_PWD $db_name $db/;
use DBI;
use vars qw/$db_driver $db_host $db_user $db_pwd $DB_PWD $db_name $db/;
-use vars qw/$tb_obsah/;
+use vars qw/$tb_obsah
$tb_clanek
/;
$db_driver="mysql";
$db_host="";
$db_driver="mysql";
$db_host="";
@@
-14,6
+14,7
@@
$db_user="short";
$DB_PWD=$ENV{"HOME"}."/priv/mysql.${db_user}.pwd";
$db_name="short";
$tb_obsah="energie_obsah";
$DB_PWD=$ENV{"HOME"}."/priv/mysql.${db_user}.pwd";
$db_name="short";
$tb_obsah="energie_obsah";
+$tb_clanek="energie_clanek";
open DB_PWD or die "Failed open \"$DB_PWD\": $!";
$db_pwd=<DB_PWD>;
open DB_PWD or die "Failed open \"$DB_PWD\": $!";
$db_pwd=<DB_PWD>;
@@
-36,13
+37,24
@@
eval { &db_do("drop table $tb_obsah") };
."month tinyint not null,"
."month_last tinyint not null,"
."sequential smallint not null,"
."month tinyint not null,"
."month_last tinyint not null,"
."sequential smallint not null,"
- ."contents text n
ot n
ull"
+ ."contents text null"
.")");
&db_do("alter table $tb_obsah add unique (year,month)");
.")");
&db_do("alter table $tb_obsah add unique (year,month)");
+eval { &db_do("drop table $tb_clanek") };
+
+&db_do("create table $tb_clanek ("
+ ."year year(4) not null,"
+ ."month tinyint not null,"
+ ."id tinyint not null,"
+ ."name text not null,"
+ ."contents text not null"
+ .")");
-use vars qw/$insert_tb_obsah $year $month $month_last $sequential $contents $first/;
+&db_do("alter table $tb_clanek add unique (year,month,id)");
+
+use vars qw/$insert_tb_obsah $insert_tb_clanek $year $month $month_last $sequential $contents $first $article_id/;
sub where
{
sub where
{
@@
-54,7
+66,8
@@
sub flush_month
$_=$contents;
return if !defined $_;
if (!$_) {
$_=$contents;
return if !defined $_;
if (!$_) {
- print("Empty contents".&where()."!\n");
+ # Permitted to show just the title image
+ #print("Empty contents".&where()."!\n");
}
else {
tr/ \t\n/ \n/s;
}
else {
tr/ \t\n/ \n/s;
@@
-64,14
+77,17
@@
sub flush_month
tr/\002//d;
$_=substr($_,1);
}
tr/\002//d;
$_=substr($_,1);
}
- $insert_tb_obsah->execute($year,$month,$month_last,$sequential,
$_
) or die "SQL insert failure: $!";
+ $insert_tb_obsah->execute($year,$month,$month_last,$sequential,
($_ || undef())
) or die "SQL insert failure: $!";
undef $year,$month;
undef $contents;
undef $first;
undef $year,$month;
undef $contents;
undef $first;
+ undef $article_id;
}
$insert_tb_obsah=$db->prepare("insert into $tb_obsah (year,month,month_last,sequential,contents) values (?,?,?,?,?)")
or die "Prepare fail: $!";
}
$insert_tb_obsah=$db->prepare("insert into $tb_obsah (year,month,month_last,sequential,contents) values (?,?,?,?,?)")
or die "Prepare fail: $!";
+$insert_tb_clanek=$db->prepare("insert into $tb_clanek (year,month,id,name,contents) values (?,?,?,?,?)")
+ or die "Prepare fail: $!";
while (<>) {
chomp;
while (<>) {
chomp;
@@
-84,12
+100,23
@@
while (<>) {
$contents="";
next;
}
$contents="";
next;
}
+ if (/^#(.+)$/) {
+my( $clanek )="";
+my( $line );
+ while (($line=<>)!~/^#$/) {
+ die "Article EOF marker not found".&where() if (!$line);
+ $clanek.=$line;
+ }
+ # $article_id probably should not be zero
+ $insert_tb_clanek->execute($year,$month,++$article_id,$1,$clanek) or die "SQL insert failure: $!";
+ next;
+ }
if (/^Pøíloha:$/) {
die "Multiple \"Pøíloha\"s".&where() if ($contents=~/\004/);
$contents.="\004";
next;
}
if (/^Pøíloha:$/) {
die "Multiple \"Pøíloha\"s".&where() if ($contents=~/\004/);
$contents.="\004";
next;
}
- if (/^[^
[:space:]
]/ || (/^\s/ && $contents=~/\004/)) {
+ if (/^[^
\t
]/ || (/^\s/ && $contents=~/\004/)) {
$contents.="\001$_\002";
$first=$_;
next;
$contents.="\001$_\002";
$first=$_;
next;