File: convert_to_sqlite.pl

package info (click to toggle)
uhub 0.4.1-3.1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, stretch
  • size: 1,436 kB
  • ctags: 2,270
  • sloc: ansic: 18,123; xml: 575; perl: 568; sh: 368; makefile: 24
file content (18 lines) | stat: -rwxr-xr-x 522 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/perl

# Usage:
#   cat /etc/uhub/users.conf | tools/convert_to_sqlite.pl | sqlite3 users.db

print <<_;
CREATE TABLE users(
	nickname CHAR(64) UNIQUE,
	password CHAR(64),
	credentials CHAR(5),
	created TIMESTAMP DEFAULT (DATETIME('NOW')),
	activity TIMESTAMP DEFAULT (DATETIME('NOW'))
);
_
sub e($) { (my $v = shift) =~ s/'/\\'/g; $v }
s{^\s*user_(op|admin|super|reg)\s+([^#\s]+):([^#\s]+)}{
	printf "INSERT INTO users (nickname, password, credentials) VALUES('%s','%s','%s');\n", e $2, e $3, $1
}eg while(<>);