File tree Expand file tree Collapse file tree 2 files changed +15
-19
lines changed Expand file tree Collapse file tree 2 files changed +15
-19
lines changed Original file line number Diff line number Diff line change 1
- (defproject clojure-python " 0.0.3 "
1
+ (defproject clojure-python " 0.0.4 "
2
2
:description " Improve seamlessness of Clojure Jython interop."
3
3
:dependencies [[org.clojure/clojure " 1.1.0" ]
4
4
[org.python/jython " 2.5.1" ]]
Original file line number Diff line number Diff line change 77
77
78
78
(defn dir
79
79
" it's slightly nicer to call the dir method in this way"
80
- [x]
81
- (seq (.__dir__ x)))
80
+ [x] (seq (.__dir__ x)))
81
+
82
+ (defn pyobj-nth
83
+ " nth item in a 'PyObjectDerived'"
84
+ [o i] (.__getitem__ o i))
82
85
83
86
(defn pyobj-range
84
- " Access PyObjDerived items by range"
85
- [o start end]
86
- (for [i (range start end)]
87
- (str (.__getitem__ o i))))
87
+ " access 'PyObjectDerived' items as non-lazy range"
88
+ [o start end] (for [i (range start end)] (pyobj-nth o i)))
88
89
89
- (defn pyobj-iterate [pyobj]
90
- " Access 'PyObjectDerived' items as a Lazy Seq"
91
- (let [iter (.__iter__ pyobj)]
92
- (letfn
93
- [(do-iter [iter]
94
- (when (seq iter)
95
- (lazy-seq
96
- (cons (str (.__iternext__ iter))
97
- (do-iter iter)))))]
98
- (do-iter iter))))
90
+ (defn pyobj-iterate
91
+ " access 'PyObjectDerived' items as Lazy Seq"
92
+ [pyobj] (lazy-seq (.__iter__ pyobj)))
99
93
100
94
(defn java2py
101
- " to wrap java objects for input as jython, and unwrap jython output as java
102
- (thanks to Marc Downie on Clojure list for suggesting this)" [args]
95
+ " to wrap java objects for input as jython, and unwrap
96
+ Jython output as java (thanks to Marc Downie on Clojure
97
+ list for suggesting this)"
98
+ [args]
103
99
(into-array
104
100
org.python.core.PyObject
105
101
(map
You can’t perform that action at this time.
0 commit comments