aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xparrot_zik/parrot_zik_tray28
-rw-r--r--parrot_zik/utils.py31
2 files changed, 32 insertions, 27 deletions
diff --git a/parrot_zik/parrot_zik_tray b/parrot_zik/parrot_zik_tray
index ae57e4d..914a37e 100755
--- a/parrot_zik/parrot_zik_tray
+++ b/parrot_zik/parrot_zik_tray
@@ -1,5 +1,4 @@
#!/usr/bin/env python
-from threading import Lock
import gtk
from parrot_zik.interface.version1 import ParrotZikVersion1Interface
@@ -9,37 +8,12 @@ from parrot_zik import bluetooth_paired_devices
from parrot_zik.indicator import MenuItem
from parrot_zik.indicator import Menu
from parrot_zik.indicator import SysIndicator
+from parrot_zik.utils import repeat
REFRESH_FREQUENCY = 30000
RECONNECT_FREQUENCY = 5000
-class repeat(object):
- def __init__(self, f):
- self.f = f
- self.id = None
- self.lock = Lock()
-
- def __call__(self, cls):
- self.f(cls)
-
- def start(self, cls, frequency):
- self.lock.acquire()
- if not self.id:
- def run():
- self.f(cls)
- return True
-
- self.id = gtk.timeout_add(frequency, run)
- self.lock.release()
-
- def stop(self):
- self.lock.acquire()
- if self.id:
- gtk.timeout_remove(self.id)
- self.id = None
- self.lock.release()
-
class ParrotZikIndicator(SysIndicator):
def __init__(self):
diff --git a/parrot_zik/utils.py b/parrot_zik/utils.py
new file mode 100644
index 0000000..18b878d
--- /dev/null
+++ b/parrot_zik/utils.py
@@ -0,0 +1,31 @@
+from threading import Lock
+
+import gtk
+
+
+class repeat(object):
+ def __init__(self, f):
+ self.f = f
+ self.id = None
+ self.lock = Lock()
+
+ def __call__(self, cls):
+ self.f(cls)
+
+ def start(self, cls, frequency):
+ self.lock.acquire()
+ if not self.id:
+ def run():
+ self.f(cls)
+ return True
+
+ self.id = gtk.timeout_add(frequency, run)
+ self.lock.release()
+
+ def stop(self):
+ self.lock.acquire()
+ if self.id:
+ gtk.timeout_remove(self.id)
+ self.id = None
+ self.lock.release()
+