Update to v2.1.4:
New: Allow for comma separated list of references in aux_cmd.
This commit is contained in:
parent
9eafbe43eb
commit
2136ba3f69
@ -1,3 +1,8 @@
|
|||||||
|
2.1.4:
|
||||||
|
|
||||||
|
* New: Allow for comma separated list of references in aux_cmd.
|
||||||
|
|
||||||
|
|
||||||
2.1.3:
|
2.1.3:
|
||||||
|
|
||||||
* Fixed: entries that contain a '%' do not cause a failure.
|
* Fixed: entries that contain a '%' do not cause a failure.
|
||||||
|
29
bin/BBlog
29
bin/BBlog
@ -15,10 +15,10 @@
|
|||||||
## limitations under the License.
|
## limitations under the License.
|
||||||
|
|
||||||
# directory containing the engine files
|
# directory containing the engine files
|
||||||
enginedir=/home/ian/Programs/BBlog2/src/engines
|
enginedir=/usr/share/BBlog/engines
|
||||||
|
|
||||||
# version
|
# version
|
||||||
version=2.1.3
|
version=2.1.4
|
||||||
|
|
||||||
function print_config {
|
function print_config {
|
||||||
echo "engine: $engine"
|
echo "engine: $engine"
|
||||||
@ -272,17 +272,20 @@ function inverse_map_citeref {
|
|||||||
|
|
||||||
foundref=0
|
foundref=0
|
||||||
# sift through aux file
|
# sift through aux file
|
||||||
grep -h "$aux_cmd" $aux | while read -r ref; do
|
grep -h "$aux_cmd" $aux | while read -r refs; do
|
||||||
eval "ref=\${ref#$aux_cmd}"
|
eval "refs=\${refs#$aux_cmd}"
|
||||||
ref="${ref%\}}"
|
refs="${ref%\}}"
|
||||||
# replace the ref via the ref_map
|
# can be a comma separated list
|
||||||
possibleref=$(map_citeref "$ref")
|
for ref in $(echo -n "$refs" | tr ',' '\n'); do
|
||||||
# check whether the ref is the right one
|
# replace the ref via the ref_map
|
||||||
if [ "$possibleref" = "$newref" ]; then
|
possibleref=$(map_citeref "$ref")
|
||||||
echo "$ref"
|
# check whether the ref is the right one
|
||||||
foundref=1
|
if [ "$possibleref" = "$newref" ]; then
|
||||||
return 1
|
echo "$ref"
|
||||||
fi
|
foundref=1
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
done && echo "$foundref$newref"
|
done && echo "$foundref$newref"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
base_SQL="SELECT title,author,journal,year,token,doi,arxiv,citeref,prauth FROM bibliography"
|
base_SQL="SELECT title,author,journal,year,token,doi,arxiv,citeref,prauth,bibtex FROM bibliography"
|
||||||
base_SQL_noprauth="SELECT title,author,journal,year,token,doi,arxiv,citeref FROM bibliography"
|
base_SQL_noprauth="SELECT title,author,journal,year,token,doi,arxiv,citeref,bibtex FROM bibliography"
|
||||||
|
|
||||||
# add quotes
|
# add quotes
|
||||||
function SQL_addquotes {
|
function SQL_addquotes {
|
||||||
@ -23,32 +23,36 @@ function generate_SQL_alpha {
|
|||||||
exists_citeref=0
|
exists_citeref=0
|
||||||
|
|
||||||
# sift through aux file
|
# sift through aux file
|
||||||
grep -h "$aux_cmd" $aux | while read -r citeref; do
|
grep -h "$aux_cmd" $aux | while read -r citerefs; do
|
||||||
eval "citeref=\${citeref#$aux_cmd}"
|
eval "citerefs=\${citerefs#$aux_cmd}"
|
||||||
citeref="${citeref%\}}"
|
citerefs="${citerefs%\}}"
|
||||||
|
|
||||||
# replace the citeref with a ref_map if there is any
|
# can be a comma separated list
|
||||||
if [ -n "$ref_map" ]; then
|
for citeref in $(echo -n "$citerefs" | tr ',' '\n'); do
|
||||||
citeref=$(map_citeref "$citeref")
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Only query the db if there is no matching extra entry
|
# replace the citeref with a ref_map if there is any
|
||||||
foundit=0
|
if [ -n "$ref_map" ]; then
|
||||||
if [ ${#extra} -gt 0 ]; then
|
citeref=$(map_citeref "$citeref")
|
||||||
for entry in "${extra[@]}"; do
|
fi
|
||||||
ref="${entry#*:}"
|
|
||||||
ref="${ref%%:*}"
|
|
||||||
if [ "$ref" = "$citeref" ]; then
|
|
||||||
foundit=1
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$foundit" = 0 ]; then
|
# Only query the db if there is no matching extra entry
|
||||||
echo -n "$citeref' OR citeref='"
|
foundit=0
|
||||||
exists_citeref=1
|
if [ ${#extra} -gt 0 ]; then
|
||||||
fi
|
for entry in "${extra[@]}"; do
|
||||||
|
ref="${entry#*:}"
|
||||||
|
ref="${ref%%:*}"
|
||||||
|
if [ "$ref" = "$citeref" ]; then
|
||||||
|
foundit=1
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$foundit" = 0 ]; then
|
||||||
|
echo -n "$citeref' OR citeref='"
|
||||||
|
exists_citeref=1
|
||||||
|
fi
|
||||||
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
# if there are no citerefs close '
|
# if there are no citerefs close '
|
||||||
@ -70,46 +74,50 @@ function fetch_BBlog_entries_appearance {
|
|||||||
citeref_list=""
|
citeref_list=""
|
||||||
|
|
||||||
# sift through aux file
|
# sift through aux file
|
||||||
grep -h "$aux_cmd" $aux | while read -r citeref; do
|
grep -h "$aux_cmd" $aux | while read -r citerefs; do
|
||||||
eval "citeref=\${citeref#$aux_cmd}"
|
eval "citerefs=\${citerefs#$aux_cmd}"
|
||||||
citeref="${citeref%\}}"
|
citerefs="${citerefs%\}}"
|
||||||
|
|
||||||
# replace the citeref with a ref_map if there is any
|
# can be a comma separated list
|
||||||
if [ -n "$ref_map" ]; then
|
for citeref in $(echo -n "$citerefs" | tr ',' '\n'); do
|
||||||
citeref=$(map_citeref "$citeref")
|
|
||||||
fi
|
|
||||||
|
|
||||||
# check whether the reference was already cited
|
# replace the citeref with a ref_map if there is any
|
||||||
citeref_list="$citeref_list;"
|
if [ -n "$ref_map" ]; then
|
||||||
if $(echo "$citeref_list" | grep -q ";$citeref;"); then
|
citeref=$(map_citeref "$citeref")
|
||||||
# remove trailing ';'
|
|
||||||
citeref_list="${citeref_list%;}"
|
|
||||||
else
|
|
||||||
citeref_list="$citeref_list$citeref"
|
|
||||||
|
|
||||||
# Only query the db if there is no matching extra entry
|
|
||||||
foundit=0
|
|
||||||
if [ ${#extra} -gt 0 ]; then
|
|
||||||
for entry in "${extra[@]}"; do
|
|
||||||
ref="${entry#*:}"
|
|
||||||
ref="${ref%%:*}"
|
|
||||||
if [ "$ref" = "$citeref" ]; then
|
|
||||||
foundit=1
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$foundit" = 0 ]; then
|
# check whether the reference was already cited
|
||||||
SQL="$base_SQL_noprauth WHERE citeref='$citeref'"
|
citeref_list="$citeref_list;"
|
||||||
sqlite3 -line "$db" "$SQL" | SQL_addquotes
|
if $(echo "$citeref_list" | grep -q ";$citeref;"); then
|
||||||
|
# remove trailing ';'
|
||||||
|
citeref_list="${citeref_list%;}"
|
||||||
else
|
else
|
||||||
echo "citeref=$citeref"
|
citeref_list="$citeref_list$citeref"
|
||||||
fi
|
|
||||||
|
|
||||||
# add an empty line
|
# Only query the db if there is no matching extra entry
|
||||||
echo ""
|
foundit=0
|
||||||
fi
|
if [ ${#extra} -gt 0 ]; then
|
||||||
|
for entry in "${extra[@]}"; do
|
||||||
|
ref="${entry#*:}"
|
||||||
|
ref="${ref%%:*}"
|
||||||
|
if [ "$ref" = "$citeref" ]; then
|
||||||
|
foundit=1
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$foundit" = 0 ]; then
|
||||||
|
SQL="$base_SQL_noprauth WHERE citeref='$citeref'"
|
||||||
|
sqlite3 -line "$db" "$SQL" | SQL_addquotes
|
||||||
|
else
|
||||||
|
echo "citeref=$citeref"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# add an empty line
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
done
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
.Dd $Mdocdate: November 5 2019 $
|
.Dd $Mdocdate: November 13 2019 $
|
||||||
.Dt BBLOG 2.1.3
|
.Dt BBLOG 2.1.4
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
.Nm BBlog
|
.Nm BBlog
|
||||||
|
Loading…
Reference in New Issue
Block a user