view scripts/add-group-csv.sh @ 549:2a48690b8cbc

Put $S4NAME in title
author HIROSE Yuuji <yuuji@gentei.org>
date Sun, 07 Apr 2019 08:52:41 +0900
parents 1f7d6999ed4c
children 789258aa857a
line wrap: on
line source

#!/bin/sh

if [ -z "$1" ]; then
  cat<<-EOF >&2
	Usage: $0 CSVfile
	       $0 -a CSVfile		# for al
	Csv file should be the form of:
	   GroupName,UserName(email)
	EOF
  exit 1
fi
cd `dirname $0`/..
if ! . ./s4-funcs.sh; then
  echo "Cannot find s4-funcs.sh, which should be located in $mydir/.."
  exit 1
fi

target=$(cd `dirname "$1"`; pwd)/`basename $1`

query<<-EOF
	.mode csv
	CREATE TEMPORARY TABLE _gusers(gname, user, admin);
	.import $target _gusers
	REPLACE INTO grp SELECT distinct gname FROM _gusers;

	CREATE TEMPORARY TABLE _default_grp_attr(key, val);
	INSERT INTO _default_grp_attr
	VALUES ('tag', 'lecture'), ('mtime', datetime('now', 'localtime'));

	REPLACE INTO grp_s
	 SELECT gname, key, 'string', val, NULL
	 FROM (SELECT distinct gname FROM _gusers)
	      JOIN _default_grp_attr;
	REPLACE INTO grp_mem SELECT gname, user FROM _gusers;
	REPLACE INTO grp_adm SELECT gname, user
	FROM _gusers WHERE admin LIKE 'admin';
EOF

yatex.org