]> git.nbdom.net Git - nb.git/commitdiff
lib/postgres/mime.sql
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Tue, 9 Jan 2018 03:38:59 +0000 (03:38 +0000)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Tue, 9 Jan 2018 03:38:59 +0000 (03:38 +0000)
lib/postgres/mime.sql

index 6ca0a66b9b7b91099aa8238e1907ca7685de76d7..270f5f536a398c607484da426958650d47b8a713 100644 (file)
@@ -8,6 +8,7 @@ CREATE TABLE IF NOT EXISTS mime (
 CREATE INDEX IF NOT EXISTS mime_ext_idx ON mime (ext);
 BEGIN TRANSACTION;
 CREATE TEMPORARY TABLE tmp_mime ON COMMIT DROP AS SELECT * FROM mime LIMIT 0;
+DELETE FROM mime;
 
 COPY mime FROM STDIN WITH (format 'text', NULL '');
 x3d    application/vnd.hzn-3d-crossword        3D Crossword Plugin
@@ -690,6 +691,7 @@ xul application/vnd.mozilla.xul+xml XUL - XML User Interface Language
 xwd    image/x-xwindowdump     X Window Dump
 xyz    chemical/x-xyz  XYZ File Format
 yaml   text/yaml       YAML Ain't Markup Language / Yet Another Markup Language
+yml    text/yaml       
 yang   application/yang        YANG Data Modeling Language
 yin    application/yin+xml     YIN (YANG - XML)
 zip    application/zip Zip Archive
@@ -708,6 +710,7 @@ https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Comp
 | sed "s,<td>,\t,g" \
 | sed -E -e "s/ *<br[^>]*> */,/g" -e "s/,[^\t]+//" -e "s, *<[^>]+> *,,g" -e "s/^[\t ]*//" -e "s/([^\t]+)\t([^\t]+)$/\2\t\1/" \
 | perl -pe "0 and /^([^\t]+,[^\t]+)/ and @_=split(qq|,|,\$_) and s/^[^\t]+/join(qq|,|,sort {length(\$b)<=>length(\$a)} @_)/e" \
+| sed -e "s/^\.//"
 ' WITH (format 'text', NULL '');
 INSERT INTO mime SELECT * FROM tmp_mime ON CONFLICT DO NOTHING;
 
@@ -716,6 +719,8 @@ COPY tmp_mime FROM PROGRAM 'true && curl -s \
 https://gist.githubusercontent.com/electerious/3d5a31a73cfd6423f835c074ab25fc06/raw/d48b8410e9aa6746cfd946bca21a1bb54c351c4e/Caddyfile \
 | sed -e "s/^ *//" -e "/^[^\.]/d" -e "s/ /\t/" -e "s/$/\t/" -e "s/^\.//" \
 ' WITH (format 'text', NULL '');
-DELETE FROM tmp_mime WHERE LENGTH(ext)>4;
 INSERT INTO mime SELECT * FROM tmp_mime ON CONFLICT DO NOTHING;
+
+DELETE FROM mime WHERE LENGTH(ext)>4;
+UPDATE mime AS m1 SET name=(SELECT name FROM mime AS m2 WHERE m2.name<>'' AND m2.type=m1.type ORDER BY name LIMIT 1) WHERE COALESCE(name,'')='';
 COMMIT;