#!/usr/bin/env python
-# Generate a node-webkit package.json file for a website.
+# Generate an NW.js package.json file for a website.
#
-# https://github.com/rogerwang/node-webkit/wiki/Manifest-format
+# https://github.com/nwjs/nw.js/wiki/Manifest-format
import os
import re
-import shutil
import time
import json
+
def is_html(filename):
return filename.lower().endswith(".html")
+
def attr(name):
- return "data-" + name + """=["']?((?:.(?!["']?\s+(?:\S+)=|[>"']))+.)["']?"""
+ return ("data-" + name
+ + """=["']?((?:.(?!["']?\s+(?:\S+)=|[>"']))+.)["']?""")
+
-def main(appdir):
+def main(appdir, version=None):
if not os.path.isdir(appdir):
raise StandardError("input (%r) is not a directory" % appdir)
indexes = []
for root, dirnames, filenames in os.walk(appdir):
root = os.path.relpath(root, appdir)
for filename in filenames:
- if filename.lower() == "index.html":
+ flower = filename.lower()
+ if flower == "index.html":
indexes.append(os.path.join(root, filename))
- if ("icon" in filename.lower()
- and filename.lower().endswith((".ico", ".png"))):
+ if ("icon" in flower and flower.endswith((".ico", ".png"))):
icons.append(os.path.join(root, filename))
indexes.sort(key=lambda fn: (fn.count("/"), fn))
package = {
"main": indexes[0],
"name": name,
- "version": "0.0.0",
+ "version": version or "0.0.0",
+ "chromium-args": "--enable-webgl --ignore-gpu-blacklist",
"window": {
"show": False,
"toolbar": False,
if __name__ == "__main__":
import sys
- try:
- appdir = sys.argv[1]
- except IndexError:
- raise SystemExit("Usage: %s appdir" %(
- sys.argv[0]))
- else:
- main(appdir)
-
+ main(*sys.argv[1:])