Hi,

Recently (since 1.1.2) some functions were moved from
window.carbon.__init__ to libs.darwin.__init__, and one was renamed
from _create_cfstring to create_cfstring, and some modules were
renamed: window.carbon.constants -> libs.darwin.constants,
window.win32.constants -> libs.win32.constants (and similarly for two
types.py modules).

This broke some code in contrib and experimental.

Here is a patch which fixes experimental/quicktime.py and partly fixes
contrib/wydget/wydget/clipboard/carbon.py (copied below).

It doesn't fix the moved constants.py/types.py module issues, because
a search for lines containing ("window.carbon" or "window.win32") and
("constants" or "types" or "import *") finds quite a few files that
might be affected, and someone who knows this code better would be
better placed to fix them all (especially since I can't test on
Windows).

(BTW the patch also adds a little verbosity to the self-test code in
wydget/clipboard/carbon.py.)

- Bruce

=====

patch (as svn diff output -- let me know if another form is more
useful):

% svn diff
Index: experimental/quicktime.py
===================================================================
--- experimental/quicktime.py   (revision 2445)
+++ experimental/quicktime.py   (working copy)
@@ -15,14 +15,14 @@
 import sys
 import time

-from pyglet.window.carbon import _create_cfstring, _oscheck
-from pyglet.window.carbon import carbon
-from pyglet.window.carbon import quicktime
+from pyglet.libs.darwin import create_cfstring, _oscheck
+from pyglet.libs.darwin import carbon
+from pyglet.libs.darwin import quicktime

 quicktime.EnterMovies()

 filename = sys.argv[1]
-filename = _create_cfstring(filename)
+filename = create_cfstring(filename)
 data_ref = ctypes.c_void_p()
 data_ref_type = ctypes.c_ulong()
 result = quicktime.QTNewDataReferenceFromFullPathCFString(filename,
Index: contrib/wydget/wydget/clipboard/carbon.py
===================================================================
--- contrib/wydget/wydget/clipboard/carbon.py   (revision 2445)
+++ contrib/wydget/wydget/clipboard/carbon.py   (working copy)
@@ -8,23 +8,20 @@
 from ctypes import *

 import pyglet.lib
-from pyglet.window.carbon import _create_cfstring, carbon, _oscheck
 from pyglet.window.carbon.constants import *
 from pyglet.window.carbon.types import *
+from pyglet.libs.darwin import create_cfstring, carbon, _oscheck

-carbon = pyglet.lib.load_library(
-    framework='/System/Library/Frameworks/Carbon.framework')
-
 PasteboardRef = c_void_p
 PasteboardItemID = c_void_p
 CFArrayRef = c_void_p
 CFDataRef = c_void_p
 ItemCount = c_int32
-kPasteboardClipboard = _create_cfstring
("com.apple.pasteboard.clipboard")
+kPasteboardClipboard = create_cfstring
("com.apple.pasteboard.clipboard")
 kPasteboardModified = 1 << 0
 kPasteboardClientIsOwner = 1 << 1
-utf16_plain_text = _create_cfstring("public.utf16-plain-text")
-traditional_mac_plain_text = _create_cfstring("com.apple.traditional-
mac-plain-text")
+utf16_plain_text = create_cfstring("public.utf16-plain-text")
+traditional_mac_plain_text = create_cfstring("com.apple.traditional-
mac-plain-text")

 carbon.CFDataGetBytePtr.restype = POINTER(c_char)

@@ -138,8 +135,11 @@

 if __name__ == '__main__':
     clipboard = CarbonPasteboard()
-    print `clipboard.get_text()`
+    print "got from clipboard:", `clipboard.get_text()`

     if len(sys.argv) > 1:
-        clipboard.put_text(''.join(sys.argv[1:]).decode('utf8'))
+        text = ''.join(sys.argv[1:]).decode('utf8')
+        print "will copy to system clipboard:", `text`
+        clipboard.put_text(text)
+        print "after that, got from clipboard:", `clipboard.get_text()
`

[end]


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pyglet-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/pyglet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to