added Resource(), to create new resources from Python
diff --git a/Mac/Modules/res/Resmodule.c b/Mac/Modules/res/Resmodule.c
index 484bca6..a0e487c 100644
--- a/Mac/Modules/res/Resmodule.c
+++ b/Mac/Modules/res/Resmodule.c
@@ -30,6 +30,8 @@
 extern PyObject *CtlObj_New(ControlHandle);
 extern int CtlObj_Convert(PyObject *, ControlHandle *);
 
+extern PyObject *WinObj_WhichWindow(WindowPtr);
+
 #include <Resources.h>
 
 #define resNotFound -192 /* Can't include <Errors.h> because of Python's "errors.h" */
@@ -1161,6 +1163,30 @@
 	return _res;
 }
 
+static PyObject *Res_Resource(_self, _args)
+	PyObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+
+	char *buf;
+	int len;
+	Handle h;
+
+	if (!PyArg_ParseTuple(_args, "s#", &buf, &len))
+		return NULL;
+	h = NewHandle(len);
+	if ( h == NULL ) {
+		PyErr_NoMemory();
+		return NULL;
+	}
+	HLock(h);
+	memcpy(*h, buf, len);
+	HUnlock(h);
+	return (PyObject *)ResObj_New(h);
+
+}
+
 static PyMethodDef Res_methods[] = {
 	{"InitResources", (PyCFunction)Res_InitResources, 1,
 	 "() -> (short _rv)"},
@@ -1228,6 +1254,8 @@
 	 "(FSSpec spec, SignedByte permission) -> (short _rv)"},
 	{"FSpCreateResFile", (PyCFunction)Res_FSpCreateResFile, 1,
 	 "(FSSpec spec, OSType creator, OSType fileType, ScriptCode scriptTag) -> None"},
+	{"Resource", (PyCFunction)Res_Resource, 1,
+	 "Convert a string to a resource object.\n\nThe created resource object is actually just a handle.\nApply AddResource() to write it to a resource file.\n"},
 	{NULL, NULL, 0}
 };
 
diff --git a/Mac/Modules/res/ressupport.py b/Mac/Modules/res/ressupport.py
index 5c0d70f..a44af09 100644
--- a/Mac/Modules/res/ressupport.py
+++ b/Mac/Modules/res/ressupport.py
@@ -69,6 +69,7 @@
 resmethods = []
 
 execfile('resgen.py')
+execfile('resedit.py')
 
 for f in functions: module.add(f)
 for f in resmethods: resobject.add(f)