Skip to content

Instantly share code, notes, and snippets.

@kived
kived / cbfact.py
Created December 23, 2014 18:22
callback factory
def __init__(self, **kwargs):
super(RootWidget, self).__init__(**kwargs)
for idx, val in enumerate(tx_list):
self.tx_dict[idx] = Button(text="tx_id: {0} | amount: {1:.4f}".format(val[0], val[1]),
size_hint_y=None, height=15, font_size=9)
self.tx_dict[idx].bind(on_press=self._create_button_callback(val[0]))
self.ids.tx_list.add_widget(self.tx_dict[idx])
def _create_button_callback(self, val):
def callback(button):
@kived
kived / decor.py
Last active August 29, 2015 14:12
parameterized decorator
class SecurityDecorator(object):
'''Secures a method by requiring that the security user has
a given set of privileges in order to execute the method.
'''
def __init__(self, *privileges):
self.privileges = privileges
def __call__(self, f):
@functools.wraps(f)
@kived
kived / 2waytest.py
Created December 18, 2014 21:31
Kivy: 2-way binding TextInput
import kivy
kivy.require('1.8.1')
from kivy.app import App
from kivy.lang import Builder
root = Builder.load_string('''
<MyWidget@BoxLayout>:
text: ''
TextInput:
@kived
kived / animgif.py
Created December 12, 2014 21:42
animated gif rectangle
def create(self, dt):
for i in range(1, 10):
with self.canvas:
img = Image('90s-ani.gif')
rect = Rectangle(texture=img.texture, size=(20, 20), pos=(random.randint(1, 300), random.randint(1, 300)))
def animate(iobj, robj, im):
robj.texture = im.texture
img.bind(on_texture=partial(animate, obj=rect, im=img))
diff --git a/kivy/animation.py b/kivy/animation.py
index 577d717..6f1b92b 100644
--- a/kivy/animation.py
+++ b/kivy/animation.py
@@ -391,16 +391,16 @@ class Sequence(Animation):
return self.anim1.duration + self.anim2.duration
def start(self, widget):
- self.stop(widget)
+ self.stop(widget, False)
@kived
kived / rebase
Created December 2, 2014 22:36
rebase matham
ryan@ryan-lappy:~/g/a/kivy (ee-develop:✖)$ git co -b matham-focus-text4 master
Switched to a new branch 'matham-focus-text4'
ryan@ryan-lappy:~/g/a/kivy (matham-focus-text4:✖)$ git fetch https://github.com/matham/kivy.git focus-text4
remote: Counting objects: 112, done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 112 (delta 79), reused 94 (delta 73)
Receiving objects: 100% (112/112), 60.11 KiB | 0 bytes/s, done.
Resolving deltas: 100% (79/79), done.
From https://github.com/matham/kivy
* branch focus-text4 -> FETCH_HEAD
@kived
kived / android.pyx
Created December 2, 2014 21:20
keyboard
from jnius import autoclass
python_act = autoclass('org.renpy.android.PythonActivity')
rctx = autoclass('android.graphics.Rect')()
mActivity = python_act.mActivity
if mActivity:
decor_view = mActivity.getWindow().getDecorView()
height = mActivity.getWindowManager().getDefaultDisplay().getHeight()
# get keyboard height
def get_keyboard_height():
decor_view.getWindowVisibleDisplayFrame(rctx)
@kived
kived / a.py
Created November 26, 2014 19:59
late imports
from b import fnb
def fna():
fnb()
@kived
kived / datauritest.py
Created November 21, 2014 20:08
Kivy: Data URI test
import kivy
kivy.require('1.8.1')
from kivy.app import App
from kivy.lang import Builder
root = Builder.load_string('''
#:import CoreImage kivy.core.image.Image
<DataImage@Widget>:
color: 1, 1, 1, 1
@kived
kived / constructor.py
Created November 19, 2014 15:57
python constructor
class MainScreen(Screen):
def __init__(self, **kwargs):
super(MainScreen, self).__init__(**kwargs)
Clock.schedule_interval(self.test, 0.5)