Project

General

Profile

« Previous | Next » 

Revision 8463

lib/util.run: echo_func (): use the caller's FUNCNAME via the $FUNCNAME[] array instead of requiring them to pass it in the function args as `echo_func "$FUNCNAME" "$@"`

View differences:

inputs/GBIF/table.run
3 3

  
4 4
MySQL_export ()
5 5
{
6
	echo_func "$FUNCNAME" "$@"
6
	echo_func "$@"
7 7
	inline_make <<'EOF'
8 8
table.tsv:
9 9
	$(self_dir)/MySQL_export >$@
......
12 12

  
13 13
import ()
14 14
{
15
	echo_func "$FUNCNAME" "$@"
15
	echo_func "$@"
16 16
	MySQL_export
17 17
	"$(dirname "${BASH_SOURCE[0]}")"/../../lib/table.run "$FUNCNAME" "$@"
18 18
}
inputs/GBIF/raw_occurrence_record/run
3 3

  
4 4
MySQL_export ()
5 5
{
6
	echo_func "$FUNCNAME" "$@"
6
	echo_func "$@"
7 7
	"$(dirname "${BASH_SOURCE[0]}")"/../table.run "$FUNCNAME" "$@"
8 8
}
inputs/GBIF/_MySQL/run
3 3

  
4 4
import ()
5 5
{
6
	echo_func "$FUNCNAME" "$@"
6
	echo_func "$@"
7 7
	make
8 8
}
inputs/GBIF/run
5 5

  
6 6
import ()
7 7
{
8
	echo_func "$FUNCNAME" "$@"
8
	echo_func "$@"
9 9
	fwd "$FUNCNAME" "$@"
10 10
}
lib/table.run
6 6

  
7 7
import ()
8 8
{
9
	echo_func "$FUNCNAME" "$@"
9
	echo_func "$@"
10 10
	before_import_cmds
11 11
	"$(dirname "${BASH_SOURCE[0]}")"/path/to/table.run "$FUNCNAME" "$@"
12 12
	after_import_cmds
......
24 24

  
25 25
psql () # usage: ([file=...] [dir=...]; self)
26 26
{
27
	echo_func "$FUNCNAME" "$@"
27
	echo_func "$@"
28 28
	local dir="$dir"
29 29
	if test -n "$file"; then
30 30
		set -- --file "$file" "$@"
......
45 45

  
46 46
input_make ()
47 47
{
48
	echo_func "$FUNCNAME" "$@"
48
	echo_func "$@"
49 49
	echo_run env make --directory="$top_dir"/.. "${@/#/$table/}"
50 50
}
51 51

  
52 52
map_table ()
53 53
{
54
	echo_func "$FUNCNAME" "$@"
54
	echo_func "$@"
55 55
	input_make map.csv
56 56
	psql <<EOF
57 57
SELECT util.reset_map_table('pg_temp.map');
......
62 62

  
63 63
mk_derived ()
64 64
{
65
	echo_func "$FUNCNAME" "$@"
65
	echo_func "$@"
66 66
	"$root_dir"/schemas/VegCore/mk_derived
67 67
}
68 68

  
69 69
remake_VegBIEN_mappings ()
70 70
{
71
	echo_func "$FUNCNAME" "$@"
71
	echo_func "$@"
72 72
	echo_run rm header.csv map.csv # remake them
73 73
	yes|input_make test
74 74
}
75 75

  
76 76
postprocess () # overridable
77 77
{
78
	echo_func "$FUNCNAME" "$@"
78
	echo_func "$@"
79 79
	local file="$top_dir"/postprocess.sql
80 80
	if test -e "$file"; then psql "$@"; fi
81 81
}
82 82

  
83 83
import ()
84 84
{
85
	echo_func "$FUNCNAME" "$@"
85
	echo_func "$@"
86 86
	map_table
87 87
	postprocess
88 88
	mk_derived
lib/import.run
6 6

  
7 7
import ()
8 8
{
9
	echo_func "$FUNCNAME" "$@"
9
	echo_func "$@"
10 10
	import_cmds
11 11
}
12 12
fi ####
......
15 15

  
16 16
import ()
17 17
{
18
	echo_func "$FUNCNAME" "$@"
18
	echo_func "$@"
19 19
}
20 20

  
21 21
all ()
22 22
{
23
	echo_func "$FUNCNAME" "$@"
23
	echo_func "$@"
24 24
	import
25 25
}
lib/util.run
11 11

  
12 12
cmd ()
13 13
{
14
	echo_func "$FUNCNAME" "$@"
14
	echo_func "$@"
15 15
	"$(dirname "${BASH_SOURCE[0]}")"/path_relative_to_self
16 16
	"$(dirname "${BASH_SOURCE[1]}")"/path_relative_to_caller
17 17
	"$top_dir"/path_relative_to_outermost_script
......
22 22

  
23 23
echo_run () { echo_cmd "$@"; "$@"; }
24 24

  
25
# usage: echo_func "$FUNCNAME" "$@"
26
echo_func () { echo_cmd "${BASH_SOURCE[1]}:${BASH_LINENO[0]}" "$@"; }
25
# usage: echo_func "$@"
26
echo_func ()
27
{
28
	echo_cmd "${BASH_SOURCE[1]}:${BASH_LINENO[0]}" "${FUNCNAME[1]}" "$@"
29
}
27 30

  
28 31
echo_stdin () { tee -a /dev/stderr; } # usage: input|echo_stdin|cmd
29 32

  
......
42 45

  
43 46
fwd () # usage: subdirs=(...); fwd "$FUNCNAME" "$@"
44 47
{
45
	echo_func "$FUNCNAME" "$@"
48
	echo_func "$@"
46 49
	: "${subdirs?}"
47 50
	
48 51
	for subdir in "${subdirs[@]}"; do
......
52 55

  
53 56
make ()
54 57
{
55
	echo_func "$FUNCNAME" "$@"
58
	echo_func "$@"
56 59
	echo_run env make --directory="$top_dir" "$@"
57 60
}
58 61

  
......
65 68
fi ##
66 69
inline_make ()
67 70
{
68
	echo_func "$FUNCNAME" "$@"
71
	echo_func "$@"
69 72
	(cat
70 73
	cat <<EOF
71 74

  

Also available in: Unified diff