annotate scripts/add-group-csv.sh @ 1027:f389a311a8d4 draft

Rename function name
author HIROSE Yuuji <yuuji@gentei.org>
date Wed, 06 Dec 2023 20:13:42 +0900
parents 789258aa857a
children 65397dab6c6c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
546
768e80ef2b80 add group-add.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
1 #!/bin/sh
768e80ef2b80 add group-add.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
2
768e80ef2b80 add group-add.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
3 if [ -z "$1" ]; then
768e80ef2b80 add group-add.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
4 cat<<-EOF >&2
768e80ef2b80 add group-add.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
5 Usage: $0 CSVfile
936
789258aa857a Fix for adding to other world
HIROSE Yuuji <yuuji@gentei.org>
parents: 549
diff changeset
6 DB=db/world.sq3 $0 CSVfile # for other world
546
768e80ef2b80 add group-add.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
7 Csv file should be the form of:
768e80ef2b80 add group-add.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
8 GroupName,UserName(email)
936
789258aa857a Fix for adding to other world
HIROSE Yuuji <yuuji@gentei.org>
parents: 549
diff changeset
9 or
789258aa857a Fix for adding to other world
HIROSE Yuuji <yuuji@gentei.org>
parents: 549
diff changeset
10 GroupName,UserName(email),admin
546
768e80ef2b80 add group-add.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
11 EOF
768e80ef2b80 add group-add.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
12 exit 1
768e80ef2b80 add group-add.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
13 fi
548
1f7d6999ed4c Rename group-add script
HIROSE Yuuji <yuuji@gentei.org>
parents: 547
diff changeset
14 cd `dirname $0`/..
1f7d6999ed4c Rename group-add script
HIROSE Yuuji <yuuji@gentei.org>
parents: 547
diff changeset
15 if ! . ./s4-funcs.sh; then
1f7d6999ed4c Rename group-add script
HIROSE Yuuji <yuuji@gentei.org>
parents: 547
diff changeset
16 echo "Cannot find s4-funcs.sh, which should be located in $mydir/.."
1f7d6999ed4c Rename group-add script
HIROSE Yuuji <yuuji@gentei.org>
parents: 547
diff changeset
17 exit 1
1f7d6999ed4c Rename group-add script
HIROSE Yuuji <yuuji@gentei.org>
parents: 547
diff changeset
18 fi
547
bb34c7fbf1ad Syntax error resolved
HIROSE Yuuji <yuuji@gentei.org>
parents: 546
diff changeset
19
546
768e80ef2b80 add group-add.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
20 target=$(cd `dirname "$1"`; pwd)/`basename $1`
768e80ef2b80 add group-add.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
21
936
789258aa857a Fix for adding to other world
HIROSE Yuuji <yuuji@gentei.org>
parents: 549
diff changeset
22 echo target=$target
789258aa857a Fix for adding to other world
HIROSE Yuuji <yuuji@gentei.org>
parents: 549
diff changeset
23 echo DB=$DB
789258aa857a Fix for adding to other world
HIROSE Yuuji <yuuji@gentei.org>
parents: 549
diff changeset
24 echo -n 'Proceed? (Ctrl-C to break)'
789258aa857a Fix for adding to other world
HIROSE Yuuji <yuuji@gentei.org>
parents: 549
diff changeset
25 read x
789258aa857a Fix for adding to other world
HIROSE Yuuji <yuuji@gentei.org>
parents: 549
diff changeset
26
546
768e80ef2b80 add group-add.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
27 query<<-EOF
768e80ef2b80 add group-add.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
28 .mode csv
768e80ef2b80 add group-add.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
29 CREATE TEMPORARY TABLE _gusers(gname, user, admin);
768e80ef2b80 add group-add.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
30 .import $target _gusers
549
2a48690b8cbc Put $S4NAME in title
HIROSE Yuuji <yuuji@gentei.org>
parents: 548
diff changeset
31 REPLACE INTO grp SELECT distinct gname FROM _gusers;
2a48690b8cbc Put $S4NAME in title
HIROSE Yuuji <yuuji@gentei.org>
parents: 548
diff changeset
32
2a48690b8cbc Put $S4NAME in title
HIROSE Yuuji <yuuji@gentei.org>
parents: 548
diff changeset
33 CREATE TEMPORARY TABLE _default_grp_attr(key, val);
2a48690b8cbc Put $S4NAME in title
HIROSE Yuuji <yuuji@gentei.org>
parents: 548
diff changeset
34 INSERT INTO _default_grp_attr
2a48690b8cbc Put $S4NAME in title
HIROSE Yuuji <yuuji@gentei.org>
parents: 548
diff changeset
35 VALUES ('tag', 'lecture'), ('mtime', datetime('now', 'localtime'));
2a48690b8cbc Put $S4NAME in title
HIROSE Yuuji <yuuji@gentei.org>
parents: 548
diff changeset
36
2a48690b8cbc Put $S4NAME in title
HIROSE Yuuji <yuuji@gentei.org>
parents: 548
diff changeset
37 REPLACE INTO grp_s
2a48690b8cbc Put $S4NAME in title
HIROSE Yuuji <yuuji@gentei.org>
parents: 548
diff changeset
38 SELECT gname, key, 'string', val, NULL
2a48690b8cbc Put $S4NAME in title
HIROSE Yuuji <yuuji@gentei.org>
parents: 548
diff changeset
39 FROM (SELECT distinct gname FROM _gusers)
2a48690b8cbc Put $S4NAME in title
HIROSE Yuuji <yuuji@gentei.org>
parents: 548
diff changeset
40 JOIN _default_grp_attr;
2a48690b8cbc Put $S4NAME in title
HIROSE Yuuji <yuuji@gentei.org>
parents: 548
diff changeset
41 REPLACE INTO grp_mem SELECT gname, user FROM _gusers;
2a48690b8cbc Put $S4NAME in title
HIROSE Yuuji <yuuji@gentei.org>
parents: 548
diff changeset
42 REPLACE INTO grp_adm SELECT gname, user
2a48690b8cbc Put $S4NAME in title
HIROSE Yuuji <yuuji@gentei.org>
parents: 548
diff changeset
43 FROM _gusers WHERE admin LIKE 'admin';
546
768e80ef2b80 add group-add.sh
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff changeset
44 EOF

yatex.org