[tepl] tools: implement shared-mime-info-list-text-plain-globs
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tepl] tools: implement shared-mime-info-list-text-plain-globs
- Date: Fri, 15 May 2020 05:30:03 +0000 (UTC)
commit 56de388367c6bc94ea4a8ad468a85f0d2196c8fe
Author: Sébastien Wilmet <swilmet gnome org>
Date: Fri May 15 02:27:29 2020 +0200
tools: implement shared-mime-info-list-text-plain-globs
.../.gitignore | 1 +
.../compile.sh | 3 +++
.../globs-to-add | 1 +
.../globs-to-ignore | 20 +++++++++++++++
.../mime-type-is-text-plain.c | 27 +++++++++++++++++++
.../shared-mime-info-list-text-plain-globs.sh | 30 ++++++++++++++++++++++
6 files changed, 82 insertions(+)
---
diff --git a/tools/shared-mime-info-list-text-plain-globs/.gitignore
b/tools/shared-mime-info-list-text-plain-globs/.gitignore
new file mode 100644
index 0000000..eba48aa
--- /dev/null
+++ b/tools/shared-mime-info-list-text-plain-globs/.gitignore
@@ -0,0 +1 @@
+mime-type-is-text-plain
diff --git a/tools/shared-mime-info-list-text-plain-globs/compile.sh
b/tools/shared-mime-info-list-text-plain-globs/compile.sh
new file mode 100755
index 0000000..51995fc
--- /dev/null
+++ b/tools/shared-mime-info-list-text-plain-globs/compile.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+gcc -o mime-type-is-text-plain -Wall -Wextra `pkg-config --cflags --libs gio-2.0` mime-type-is-text-plain.c
diff --git a/tools/shared-mime-info-list-text-plain-globs/globs-to-add
b/tools/shared-mime-info-list-text-plain-globs/globs-to-add
new file mode 100644
index 0000000..1e2da57
--- /dev/null
+++ b/tools/shared-mime-info-list-text-plain-globs/globs-to-add
@@ -0,0 +1 @@
+*.build
diff --git a/tools/shared-mime-info-list-text-plain-globs/globs-to-ignore
b/tools/shared-mime-info-list-text-plain-globs/globs-to-ignore
new file mode 100644
index 0000000..825b31f
--- /dev/null
+++ b/tools/shared-mime-info-list-text-plain-globs/globs-to-ignore
@@ -0,0 +1,20 @@
+*.abw.gz
+authors
+changelog
+cmakelists.txt
+copying
+credits
+gmon.out
+gnumakefile
+install
+makefile
+makefile.*
+meson.build
+meson_options.txt
+pom.xml
+readme*
+sconscript
+sconscript.*
+sconstruct
+settings.xml
+*,v
diff --git a/tools/shared-mime-info-list-text-plain-globs/mime-type-is-text-plain.c
b/tools/shared-mime-info-list-text-plain-globs/mime-type-is-text-plain.c
new file mode 100644
index 0000000..a361bd3
--- /dev/null
+++ b/tools/shared-mime-info-list-text-plain-globs/mime-type-is-text-plain.c
@@ -0,0 +1,27 @@
+/* SPDX-FileCopyrightText: 2020 - Sébastien Wilmet <swilmet gnome org>
+ * SPDX-License-Identifier: LGPL-3.0-or-later
+ */
+
+#include <gio/gio.h>
+
+int
+main (int argc,
+ char **argv)
+{
+ const gchar *mime_type;
+
+ if (argc != 2)
+ {
+ g_printerr ("Usage: %s <mime-type>\n", argv[0]);
+ return EXIT_FAILURE;
+ }
+
+ mime_type = argv[1];
+
+ if (g_content_type_is_a (mime_type, "text/plain"))
+ {
+ return EXIT_SUCCESS;
+ }
+
+ return EXIT_FAILURE;
+}
diff --git a/tools/shared-mime-info-list-text-plain-globs/shared-mime-info-list-text-plain-globs.sh
b/tools/shared-mime-info-list-text-plain-globs/shared-mime-info-list-text-plain-globs.sh
new file mode 100755
index 0000000..ef906de
--- /dev/null
+++ b/tools/shared-mime-info-list-text-plain-globs/shared-mime-info-list-text-plain-globs.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+# SPDX-FileCopyrightText: 2020 - Sébastien Wilmet <swilmet gnome org>
+# SPDX-License-Identifier: LGPL-3.0-or-later
+
+shared_mime_info_xml_file='/usr/share/mime/packages/freedesktop.org.xml'
+tmp_dir='/tmp/tepl-shared-mime-info-tool/'
+
+# Have only the shared-mime-info database, not additional mime types from other
+# packages.
+rm -rf "$tmp_dir"
+mkdir -p "$tmp_dir/packages/"
+cp "$shared_mime_info_xml_file" "$tmp_dir/packages/"
+update-mime-database "$tmp_dir" 2>/dev/null
+
+sed '/^#/d' "${tmp_dir}/globs2" | cut -d':' -f'2,3' > "${tmp_dir}/globs2-simplified"
+
+for line in `cat "${tmp_dir}/globs2-simplified"`
+do
+ mime_type=`echo "$line" | cut -d':' -f1`
+ glob=`echo "$line" | cut -d':' -f2`
+
+ if `./mime-type-is-text-plain "$mime_type"`
+ then
+ echo "$glob"
+ fi
+done | sort | uniq > "${tmp_dir}/text-plain-globs"
+
+comm -2 -3 "${tmp_dir}/text-plain-globs" globs-to-ignore > "${tmp_dir}/text-plain-globs-filtered"
+cat "${tmp_dir}/text-plain-globs-filtered" globs-to-add | sort | uniq > "${tmp_dir}/text-plain-globs-final"
+cat "${tmp_dir}/text-plain-globs-final"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]