Brion VIBBER has submitted this change and it was merged.

Change subject: Add python script that generates pngs from svgs
......................................................................


Add python script that generates pngs from svgs

- Requires rsvg-convert and the python sh module
- Has svgs in subfolders of icon-svgs/, where the name of the
  subfolder is taken to be the size of the (square) icon in dp
- Also add ldpi support. 8% of devices, and it is trivial for us to
  support anyway
- Maintains aspect ratio by fixing height

Change-Id: Icd9a8fbc9ff698036c28f53060c120ebe46165af
---
A icon-svgs/32/external.png
R icon-svgs/32/external.svg
A icon-svgs/32/link.png
R icon-svgs/32/link.svg
A icon-svgs/32/random.png
R icon-svgs/32/random.svg
A icon-svgs/32/search.png
R icon-svgs/32/search.svg
A scripts/convert-icons.py
D wikipedia/convertify.bash
A wikipedia/res/drawable-ldpi/external.png
A wikipedia/res/drawable-ldpi/link.png
A wikipedia/res/drawable-ldpi/random.png
A wikipedia/res/drawable-ldpi/search.png
14 files changed, 40 insertions(+), 11 deletions(-)

Approvals:
  Brion VIBBER: Verified; Looks good to me, approved



diff --git a/icon-svgs/32/external.png b/icon-svgs/32/external.png
new file mode 100644
index 0000000..f4e4b0e
--- /dev/null
+++ b/icon-svgs/32/external.png
Binary files differ
diff --git a/wikipedia/icon-sources/external.svg b/icon-svgs/32/external.svg
similarity index 100%
rename from wikipedia/icon-sources/external.svg
rename to icon-svgs/32/external.svg
old mode 100755
new mode 100644
diff --git a/icon-svgs/32/link.png b/icon-svgs/32/link.png
new file mode 100644
index 0000000..41a2d19
--- /dev/null
+++ b/icon-svgs/32/link.png
Binary files differ
diff --git a/wikipedia/icon-sources/link.svg b/icon-svgs/32/link.svg
similarity index 100%
rename from wikipedia/icon-sources/link.svg
rename to icon-svgs/32/link.svg
old mode 100755
new mode 100644
diff --git a/icon-svgs/32/random.png b/icon-svgs/32/random.png
new file mode 100644
index 0000000..2d959dc
--- /dev/null
+++ b/icon-svgs/32/random.png
Binary files differ
diff --git a/wikipedia/icon-sources/random.svg b/icon-svgs/32/random.svg
similarity index 100%
rename from wikipedia/icon-sources/random.svg
rename to icon-svgs/32/random.svg
old mode 100755
new mode 100644
diff --git a/icon-svgs/32/search.png b/icon-svgs/32/search.png
new file mode 100644
index 0000000..ee49761
--- /dev/null
+++ b/icon-svgs/32/search.png
Binary files differ
diff --git a/wikipedia/icon-sources/search.svg b/icon-svgs/32/search.svg
similarity index 100%
rename from wikipedia/icon-sources/search.svg
rename to icon-svgs/32/search.svg
old mode 100755
new mode 100644
diff --git a/scripts/convert-icons.py b/scripts/convert-icons.py
new file mode 100644
index 0000000..0cd073d
--- /dev/null
+++ b/scripts/convert-icons.py
@@ -0,0 +1,40 @@
+import os
+import sh
+
+from glob import glob
+
+DENSITIES = {
+    "ldpi": 0.75,
+    "mdpi": 1,
+    "hdpi": 1.5,
+    "xhdpi": 2,
+    "xxhdpi": 3
+}
+
+OUTPUT_PATH_PREFIX = os.path.abspath(os.path.join(os.path.dirname(__file__), 
"../wikipedia/res/"))
+
+
+class ImagesBatch(object):
+    def __init__(self, path):
+        self.dp = int(os.path.basename(path))
+        self.path = path
+        self.svgs = [os.path.abspath(p) for p in glob(os.path.join(path, 
"*.svg"))]
+
+    def _do_export(self, density, input_path):
+        file_name = os.path.basename(os.path.splitext(input_path)[0] + ".png")
+        output_file_path = os.path.join(OUTPUT_PATH_PREFIX, "drawable-" + 
density, file_name)
+        px = int(DENSITIES[density] * self.dp)
+        sh.rsvg_convert(input_path, "-a", h=px, o=output_file_path)
+
+    def convert(self):
+        for svg in self.svgs:
+            for density in DENSITIES.keys():
+                self._do_export(density, svg)
+            print u"\u2713 %s" % os.path.basename(svg)
+
+        
+if __name__ == "__main__":
+    paths = glob(os.path.join(os.path.dirname(__file__), "../icon-svgs/*"))
+    for path in paths:
+        ib = ImagesBatch(path)
+        ib.convert()
diff --git a/wikipedia/convertify.bash b/wikipedia/convertify.bash
deleted file mode 100755
index 10bc087..0000000
--- a/wikipedia/convertify.bash
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-
-for F in icon-sources/*;
-do
-    echo "Converting $F"
-    IMGNAME=`basename $F .svg`
-    rsvg-convert -w 32 -h 32 -o "res/drawable-mdpi/$IMGNAME.png" "$F"
-    rsvg-convert -w 48 -h 48 -o "res/drawable-hdpi/$IMGNAME.png" "$F"
-    rsvg-convert -w 72 -h 72 -o "res/drawable-xhdpi/$IMGNAME.png" "$F"
-    rsvg-convert -w 96 -h 96 -o "res/drawable-xxhdpi/$IMGNAME.png" "$F"
-done
diff --git a/wikipedia/res/drawable-ldpi/external.png 
b/wikipedia/res/drawable-ldpi/external.png
new file mode 100644
index 0000000..28d9f26
--- /dev/null
+++ b/wikipedia/res/drawable-ldpi/external.png
Binary files differ
diff --git a/wikipedia/res/drawable-ldpi/link.png 
b/wikipedia/res/drawable-ldpi/link.png
new file mode 100644
index 0000000..e7a2e1c
--- /dev/null
+++ b/wikipedia/res/drawable-ldpi/link.png
Binary files differ
diff --git a/wikipedia/res/drawable-ldpi/random.png 
b/wikipedia/res/drawable-ldpi/random.png
new file mode 100644
index 0000000..6e851b0
--- /dev/null
+++ b/wikipedia/res/drawable-ldpi/random.png
Binary files differ
diff --git a/wikipedia/res/drawable-ldpi/search.png 
b/wikipedia/res/drawable-ldpi/search.png
new file mode 100644
index 0000000..d504955
--- /dev/null
+++ b/wikipedia/res/drawable-ldpi/search.png
Binary files differ

-- 
To view, visit https://gerrit.wikimedia.org/r/119016
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Icd9a8fbc9ff698036c28f53060c120ebe46165af
Gerrit-PatchSet: 3
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Yuvipanda <yuvipa...@gmail.com>
Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to