rubypython 0.6.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
data.tar.gz.sig CHANGED
@@ -1,2 +1,2 @@
1
- ��C_c��Pg��Sv�jG�j��
2
- }MK����(��)If�1:gL�-e�}�p�#�w7Y�[!@�K\j���{kI�l�Y|�/'��S��J{���`%J3�bG��<X����f^�#*JVq�|������=�\q��R�8��L(�m��챣�%�5��m�_I%�f)���"<�:��2�I檻��3>�+Z׎���4�����u������W�U� '�Q$��m��B94����
1
+ ������M��2*��{\lW�0��1��?n��v{}<)B���� �e%d\<n��{�"ۗD�qc�<7S()d{p�-x�C�O�Z�j[.�w�u�1��!���LI���x�>��Jݓ=Z����c\Ћ����z�Q:|�w�0�Hu�����k�q�0�*�d�r/�e| 0�m��5iRwypu0��6%ã����Rτ�M��KE�y��<p�;�� ����
2
+ ��|�j��ʶ�>d���>av�
data/History.rdoc CHANGED
@@ -1,3 +1,7 @@
1
+ === 0.6.2 / 2012-05-24
2
+ * Bug Fixes:
3
+ * Fixed a possible namespace collision bug with the FFI library. [Akzhan]
4
+
1
5
  === 0.6.1 / 2012-05-18
2
6
  * Bug Fixes:
3
7
  * Widened the library naming schemes that RubyPython will search for the Python library. [Akzhan]
data/lib/rubypython.rb CHANGED
@@ -15,7 +15,7 @@
15
15
  # puts cPickle.dumps("RubyPython is awesome!").rubify
16
16
  # RubyPython.stop
17
17
  module RubyPython
18
- VERSION = '0.6.1'
18
+ VERSION = '0.6.2'
19
19
  end
20
20
 
21
21
  require 'rubypython/blankobject'
@@ -95,7 +95,7 @@ module RubyPython::Conversion
95
95
  # Convert a Ruby Proc to a \Python Function. Returns an FFI::Pointer to a
96
96
  # PyCFunction.
97
97
  def self.rtopFunction(rObj)
98
- proc = FFI::Function.new(:pointer, [:pointer, :pointer]) do |p_self, p_args|
98
+ proc = ::FFI::Function.new(:pointer, [:pointer, :pointer]) do |p_self, p_args|
99
99
  retval = rObj.call(*ptorTuple(p_args))
100
100
  pObject = retval.is_a?(RubyPython::RubyPyProxy) ? retval.pObject : RubyPython::PyObject.new(retval)
101
101
 
@@ -105,7 +105,7 @@ module RubyPython::Conversion
105
105
  end
106
106
 
107
107
  defn = RubyPython::Python::PyMethodDef.new
108
- defn[:ml_name] = FFI::MemoryPointer.from_string("RubyPython::Proc::%s" % rObj.object_id)
108
+ defn[:ml_name] = ::FFI::MemoryPointer.from_string("RubyPython::Proc::%s" % rObj.object_id)
109
109
  defn[:ml_meth] = proc
110
110
  defn[:ml_flags] = RubyPython::Python::METH_VARARGS
111
111
  defn[:ml_doc] = nil
@@ -169,17 +169,17 @@ module RubyPython::Conversion
169
169
  # Convert an FFI::Pointer to a \Python String (PyStringObject) to a Ruby
170
170
  # String.
171
171
  def self.ptorString(pString)
172
- strPtr = FFI::MemoryPointer.new(:pointer)
173
- sizePtr = FFI::MemoryPointer.new(:ssize_t)
172
+ strPtr = ::FFI::MemoryPointer.new(:pointer)
173
+ sizePtr = ::FFI::MemoryPointer.new(:ssize_t)
174
174
 
175
175
  RubyPython::Python.PyString_AsStringAndSize(pString, strPtr, sizePtr)
176
176
 
177
- size = case FFI.find_type(:ssize_t)
178
- when FFI.find_type(:long)
177
+ size = case ::FFI.find_type(:ssize_t)
178
+ when ::FFI.find_type(:long)
179
179
  sizePtr.read_long
180
- when FFI.find_type(:int)
180
+ when ::FFI.find_type(:int)
181
181
  sizePtr.read_int
182
- when FFI.find_type(:long_long)
182
+ when ::FFI.find_type(:long_long)
183
183
  sizePtr.read_long_long
184
184
  else
185
185
  nil
@@ -237,10 +237,10 @@ module RubyPython::Conversion
237
237
  def self.ptorDict(pDict)
238
238
  rb_hash = {}
239
239
 
240
- pos = FFI::MemoryPointer.new :ssize_t
240
+ pos = ::FFI::MemoryPointer.new :ssize_t
241
241
  pos.write_int 0
242
- key = FFI::MemoryPointer.new :pointer
243
- val = FFI::MemoryPointer.new :pointer
242
+ key = ::FFI::MemoryPointer.new :pointer
243
+ val = ::FFI::MemoryPointer.new :pointer
244
244
 
245
245
  while RubyPython::Python.PyDict_Next(pDict, pos, key, val) != 0
246
246
  pKey = key.read_pointer
@@ -47,7 +47,7 @@ class RubyPython::Interpreter
47
47
  rc, @version = runpy "import sys; print '%d.%d' % sys.version_info[:2]"
48
48
  rc, @sys_prefix = runpy "import sys; print sys.prefix"
49
49
 
50
- if FFI::Platform.windows?
50
+ if ::FFI::Platform.windows?
51
51
  flat_version = @version.tr('.', '')
52
52
  basename = File.basename(@python, '.exe')
53
53
 
@@ -72,15 +72,15 @@ class RubyPython::Interpreter
72
72
  def find_python_lib
73
73
  # By default, the library name will be something like
74
74
  # libpython2.6.so, but that won't always work.
75
- @libbase = "#{FFI::Platform::LIBPREFIX}#{@version_name}"
76
- @libext = FFI::Platform::LIBSUFFIX
75
+ @libbase = "#{::FFI::Platform::LIBPREFIX}#{@version_name}"
76
+ @libext = ::FFI::Platform::LIBSUFFIX
77
77
  @libname = "#{@libbase}.#{@libext}"
78
78
 
79
79
  # We may need to look in multiple locations for Python, so let's
80
80
  # build this as an array.
81
81
  @locations = [ File.join(@sys_prefix, "lib", @libname) ]
82
82
 
83
- if FFI::Platform.mac?
83
+ if ::FFI::Platform.mac?
84
84
  # On the Mac, let's add a special case that has even a different
85
85
  # @libname. This may not be fully useful on future versions of OS
86
86
  # X, but it should work on 10.5 and 10.6. Even if it doesn't, the
@@ -92,12 +92,12 @@ class RubyPython::Interpreter
92
92
  File.join(@sys_prefix, "lib", "#{@realname}", "config", @libname)
93
93
  end
94
94
 
95
- if FFI::Platform.unix?
95
+ if ::FFI::Platform.unix?
96
96
  # On Unixes, let's look in some standard alternative places, too.
97
97
  # Just in case. Some Unixes don't include a .so symlink when they
98
98
  # should, so let's look for the base cases of .so.1 and .so.1.0, too.
99
99
  [ @libname, "#{@libname}.1", "#{@libname}.1.0" ].each do |name|
100
- if FFI::Platform::ARCH != 'i386'
100
+ if ::FFI::Platform::ARCH != 'i386'
101
101
  @locations << File.join("/opt/local/lib64", name)
102
102
  @locations << File.join("/opt/lib64", name)
103
103
  @locations << File.join("/usr/local/lib64", name)
@@ -110,7 +110,7 @@ class RubyPython::Interpreter
110
110
  end
111
111
  end
112
112
 
113
- if FFI::Platform.windows?
113
+ if ::FFI::Platform.windows?
114
114
  # On Windows, the appropriate DLL is usually be found in
115
115
  # %SYSTEMROOT%\system or %SYSTEMROOT%\system32; as a fallback we'll
116
116
  # use C:\Windows\system{,32} as well as the install directory and the
@@ -190,7 +190,7 @@ class RubyPython::Interpreter
190
190
  # Run a Python command-line command.
191
191
  def runpy(command)
192
192
  i = @python || @python_exe || 'python'
193
- if FFI::Platform.windows?
193
+ if ::FFI::Platform.windows?
194
194
  o = %x(#{i} -c "#{command}" 2> NUL:)
195
195
  else
196
196
  o = %x(#{i} -c "#{command}" 2> /dev/null)
@@ -212,9 +212,9 @@ class RubyPython::Interpreter
212
212
 
213
213
  def debug_s(format = nil)
214
214
  system = ""
215
- system << "windows " if FFI::Platform.windows?
216
- system << "mac " if FFI::Platform.mac?
217
- system << "unix " if FFI::Platform.unix?
215
+ system << "windows " if ::FFI::Platform.windows?
216
+ system << "mac " if ::FFI::Platform.mac?
217
+ system << "unix " if ::FFI::Platform.unix?
218
218
  system << "unknown " if system.empty?
219
219
 
220
220
  case format
@@ -42,7 +42,7 @@ def rubypython_generator(callback):
42
42
  fib = Fiber.new do
43
43
  yield *args
44
44
  Python.PyErr_SetNone(Python.PyExc_StopIteration)
45
- FFI::Pointer::NULL
45
+ ::FFI::Pointer::NULL
46
46
  end
47
47
  generator_type.__call__(lambda { fib.resume })
48
48
  end
@@ -11,7 +11,7 @@ class RubyPython::PyObject # :nodoc: all
11
11
  # This class wraps C <tt>Py…Object</tt>s so that the RubyPython::Python
12
12
  # reference count is automatically decreased when the Ruby object
13
13
  # referencing them goes out of scope.
14
- class AutoPyPointer < FFI::AutoPointer # :nodoc:
14
+ class AutoPyPointer < ::FFI::AutoPointer # :nodoc:
15
15
  class << self
16
16
  # Keeps track of which objects are associated with the currently
17
17
  # running RubyPython::Python interpreter, so that RubyPython knows not
@@ -57,11 +57,11 @@ class RubyPython::PyObject # :nodoc: all
57
57
  # and wrapped in an AutoPyPointer. The conversion is done with
58
58
  # +RubyPython::Conversion.rtopObject+.
59
59
  def initialize(rObject)
60
- if rObject.kind_of? FFI::AutoPointer
61
- new_pointer = FFI::Pointer.new rObject
60
+ if rObject.kind_of? ::FFI::AutoPointer
61
+ new_pointer = ::FFI::Pointer.new rObject
62
62
  @pointer = AutoPyPointer.new new_pointer
63
63
  xIncref
64
- elsif rObject.kind_of? FFI::Pointer
64
+ elsif rObject.kind_of? ::FFI::Pointer
65
65
  @pointer = AutoPyPointer.new rObject
66
66
  else
67
67
  @pointer = AutoPyPointer.new RubyPython::Conversion.rtopObject(rObject)
@@ -18,7 +18,7 @@ class RubyPython::Interpreter
18
18
  undef :infect!
19
19
  end
20
20
 
21
- mod.extend FFI::Library
21
+ mod.extend ::FFI::Library
22
22
  # FFI::DynamicLibrary::RTLD_LAZY | FFI::DynamicLibrary::RTLD_GLOBAL
23
23
  mod.ffi_lib_flags :lazy, :global
24
24
  mod.ffi_lib self.library
@@ -26,7 +26,7 @@ class RubyPython::Interpreter
26
26
  # This class is a little bit of a hack to extract the address of
27
27
  # global structs. If someone knows a better way please let me know.
28
28
  mod.module_eval do
29
- self.const_set :DummyStruct, Class.new(FFI::Struct)
29
+ self.const_set :DummyStruct, Class.new(::FFI::Struct)
30
30
  self::DummyStruct.layout :dummy_var, :int
31
31
 
32
32
  self.const_set(:PY_FILE_INPUT, 257)
@@ -177,12 +177,12 @@ class RubyPython::Interpreter
177
177
  # struct. The C struct is actually much larger, but since we only access
178
178
  # the first two data members via FFI and always deal with struct
179
179
  # pointers there is no need to mess around with the rest of the object.
180
- self.const_set :PyObjectStruct, Class.new(FFI::Struct)
180
+ self.const_set :PyObjectStruct, Class.new(::FFI::Struct)
181
181
  self::PyObjectStruct.layout :ob_refcnt, :ssize_t,
182
182
  :ob_type, :pointer
183
183
 
184
184
  # This struct is used when defining Python methods.
185
- self.const_set :PyMethodDef, Class.new(FFI::Struct)
185
+ self.const_set :PyMethodDef, Class.new(::FFI::Struct)
186
186
  self::PyMethodDef.layout :ml_name, :pointer,
187
187
  :ml_meth, :PyCFunction,
188
188
  :ml_flags, :int,
@@ -56,9 +56,9 @@ class RubyPython::PythonError < RuntimeError
56
56
  # with three PyObject instances, representing the Type, the Value, and the
57
57
  # stack trace of the Python error.
58
58
  def self.fetch
59
- typePointer = FFI::MemoryPointer.new :pointer
60
- valuePointer = FFI::MemoryPointer.new :pointer
61
- tracebackPointer = FFI::MemoryPointer.new :pointer
59
+ typePointer = ::FFI::MemoryPointer.new :pointer
60
+ valuePointer = ::FFI::MemoryPointer.new :pointer
61
+ tracebackPointer = ::FFI::MemoryPointer.new :pointer
62
62
 
63
63
  RubyPython::Python.PyErr_Fetch typePointer, valuePointer, tracebackPointer
64
64
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubypython
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -39,11 +39,11 @@ cert_chain:
39
39
  OWdkQjNqVmViN0puVExZK1dsSFd0MnJGVmJlcXY3S3RKbHA3KzR1V01La3pU
40
40
  YlcvdWpkRwpjZ3VKTWlRQ1NPbFVQWnhDV1dNa2pmWmJYdnRTNVZkekpldlNx
41
41
  UT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
42
- date: 2012-05-18 00:00:00.000000000 Z
42
+ date: 2012-05-24 00:00:00.000000000 Z
43
43
  dependencies:
44
44
  - !ruby/object:Gem::Dependency
45
45
  name: ffi
46
- requirement: &70327225730940 !ruby/object:Gem::Requirement
46
+ requirement: &70207972655700 !ruby/object:Gem::Requirement
47
47
  none: false
48
48
  requirements:
49
49
  - - ~>
@@ -51,10 +51,10 @@ dependencies:
51
51
  version: 1.0.7
52
52
  type: :runtime
53
53
  prerelease: false
54
- version_requirements: *70327225730940
54
+ version_requirements: *70207972655700
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: blankslate
57
- requirement: &70327225730320 !ruby/object:Gem::Requirement
57
+ requirement: &70207972655080 !ruby/object:Gem::Requirement
58
58
  none: false
59
59
  requirements:
60
60
  - - ! '>='
@@ -62,10 +62,10 @@ dependencies:
62
62
  version: 2.1.2.3
63
63
  type: :runtime
64
64
  prerelease: false
65
- version_requirements: *70327225730320
65
+ version_requirements: *70207972655080
66
66
  - !ruby/object:Gem::Dependency
67
67
  name: rubyforge
68
- requirement: &70327225729260 !ruby/object:Gem::Requirement
68
+ requirement: &70207972653860 !ruby/object:Gem::Requirement
69
69
  none: false
70
70
  requirements:
71
71
  - - ! '>='
@@ -73,10 +73,10 @@ dependencies:
73
73
  version: 2.0.4
74
74
  type: :development
75
75
  prerelease: false
76
- version_requirements: *70327225729260
76
+ version_requirements: *70207972653860
77
77
  - !ruby/object:Gem::Dependency
78
78
  name: rdoc
79
- requirement: &70327225727800 !ruby/object:Gem::Requirement
79
+ requirement: &70207972652560 !ruby/object:Gem::Requirement
80
80
  none: false
81
81
  requirements:
82
82
  - - ~>
@@ -84,10 +84,10 @@ dependencies:
84
84
  version: '3.10'
85
85
  type: :development
86
86
  prerelease: false
87
- version_requirements: *70327225727800
87
+ version_requirements: *70207972652560
88
88
  - !ruby/object:Gem::Dependency
89
89
  name: rspec
90
- requirement: &70327225726700 !ruby/object:Gem::Requirement
90
+ requirement: &70207972651440 !ruby/object:Gem::Requirement
91
91
  none: false
92
92
  requirements:
93
93
  - - ~>
@@ -95,10 +95,10 @@ dependencies:
95
95
  version: '2.0'
96
96
  type: :development
97
97
  prerelease: false
98
- version_requirements: *70327225726700
98
+ version_requirements: *70207972651440
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: tilt
101
- requirement: &70327225725280 !ruby/object:Gem::Requirement
101
+ requirement: &70207972649980 !ruby/object:Gem::Requirement
102
102
  none: false
103
103
  requirements:
104
104
  - - ~>
@@ -106,10 +106,10 @@ dependencies:
106
106
  version: '1.0'
107
107
  type: :development
108
108
  prerelease: false
109
- version_requirements: *70327225725280
109
+ version_requirements: *70207972649980
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: hoe
112
- requirement: &70327225723880 !ruby/object:Gem::Requirement
112
+ requirement: &70207972648560 !ruby/object:Gem::Requirement
113
113
  none: false
114
114
  requirements:
115
115
  - - ~>
@@ -117,7 +117,7 @@ dependencies:
117
117
  version: '3.0'
118
118
  type: :development
119
119
  prerelease: false
120
- version_requirements: *70327225723880
120
+ version_requirements: *70207972648560
121
121
  description: ! 'RubyPython is a bridge between the Ruby and Python interpreters. It
122
122
  embeds a
123
123
 
metadata.gz.sig CHANGED
Binary file