root/branches/gajim_0.2-1/common/sleepy.py

Revision 159, 1.2 kB (checked in by asterix, 5 years ago)

- idle in a C module, auto away / xa feature is back
- no need to store .mo files : they are now created by make

  • Property svn:keywords set to LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Line 
1#!/usr/bin/env python
2"""A Quick class to tell if theres any activity on your machine"""
3
4import time
5import idle
6from string import find, lower
7
8
9STATE_UNKNOWN  = "OS probably not supported"
10STATE_XAWAY   = "extanted away"
11STATE_AWAY   = "away"
12STATE_AWAKE    = "awake"
13
14NOT_SUPPORTED = 0
15
16class Sleepy:
17
18    def __init__(self, interval1 = 60, interval2 = 120, devices = ['keyboard', 'mouse', 'ts'] ):
19
20        self.interval1 = interval1
21        self.interval2 = interval2
22        self.state         = STATE_AWAKE ## assume were awake to stake with
23        try:
24            idle.init()
25        except:
26            NOT_SUPPORTED = 1
27            self.state = STATE_UNKNOWN
28
29    def poll(self):
30        if NOT_SUPPORTED: return -1
31        now = time.time()
32
33        idleTime = idle.getIdleSec()
34        if idleTime > self.interval2:
35                self.state = STATE_XAWAY
36        elif idleTime > self.interval1:
37                self.state = STATE_AWAY
38        else:
39                self.state = STATE_AWAKE
40        return 1
41
42    def getState(self):
43        return self.state
44
45    def setState(self,val):
46        self.state = val
47           
48if __name__ == '__main__':
49    s = Sleepy(10)
50    while s.poll():
51        print "state is %s" % s.getState() 
52        time.sleep(5)
Note: See TracBrowser for help on using the browser.