#!/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, version=None):
if not os.path.isdir(appdir):
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))
"main": indexes[0],
"name": name,
"version": version or "0.0.0",
+ "chromium-args": "--enable-webgl --ignore-gpu-blacklist",
"window": {
"show": False,
"toolbar": False,