Mercurial > hgrepos > hgweb.cgi > s4
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 |
rev | line source |
---|---|
546 | 1 #!/bin/sh |
2 | |
3 if [ -z "$1" ]; then | |
4 cat<<-EOF >&2 | |
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 | 7 Csv file should be the form of: |
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 | 11 EOF |
12 exit 1 | |
13 fi | |
548 | 14 cd `dirname $0`/.. |
15 if ! . ./s4-funcs.sh; then | |
16 echo "Cannot find s4-funcs.sh, which should be located in $mydir/.." | |
17 exit 1 | |
18 fi | |
547 | 19 |
546 | 20 target=$(cd `dirname "$1"`; pwd)/`basename $1` |
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 | 27 query<<-EOF |
28 .mode csv | |
29 CREATE TEMPORARY TABLE _gusers(gname, user, admin); | |
30 .import $target _gusers | |
549 | 31 REPLACE INTO grp SELECT distinct gname FROM _gusers; |
32 | |
33 CREATE TEMPORARY TABLE _default_grp_attr(key, val); | |
34 INSERT INTO _default_grp_attr | |
35 VALUES ('tag', 'lecture'), ('mtime', datetime('now', 'localtime')); | |
36 | |
37 REPLACE INTO grp_s | |
38 SELECT gname, key, 'string', val, NULL | |
39 FROM (SELECT distinct gname FROM _gusers) | |
40 JOIN _default_grp_attr; | |
41 REPLACE INTO grp_mem SELECT gname, user FROM _gusers; | |
42 REPLACE INTO grp_adm SELECT gname, user | |
43 FROM _gusers WHERE admin LIKE 'admin'; | |
546 | 44 EOF |