rainmeter-python/README.md

81 lines
1.9 KiB
Markdown

rainmeter-python
================
Plugin for Rainmeter enabling Python 3 scripting
Installation
------------
Binaries: [x86-32](http://www.jblume.com/rainmeter-python/x86/Python.dll) and [x86-64](http://www.jblume.com/rainmeter-python/x64/Python.dll)
Simply copy the appropriate file to the 'Plugins' folder of your Rainmeter installation.
For this plugin to function, you need to install the Python 3.3 distribution matching your Rainmeter's architecture.
The corresponding 'python33.dll' needs to be in your DLL search path; all standard installers of Python 3.3 automatically put the DLL into your System32 directory, so this should normally be the case.
Example (Simple)
-------
```ini
[Measure]
Measure=Plugin
Plugin=Plugins\Python.dll
PythonHome=c:\Python33
ScriptPath=default.py
ClassName=Measure
UpdateDivider=1
```
```python
class Measure:
def Reload(self, rm, maxValue):
rm.RmLog(rm.LOG_NOTICE, "Reload called")
def Update(self):
return 1.0
def GetString(self):
return 'Test'
def ExecuteBang(self, args):
pass
def Finalize(self):
pass
```
Example (IMAP Unread Mail Count)
-------
```ini
[Measure]
Measure=Plugin
Plugin=Plugins\Python.dll
ScriptPath=IMAP.py
PythonHome=c:\Python33
ClassName=Measure
UpdateDivider=60
Username=username
Password=password
Host=mail.com
```
```python
import imaplib
class Measure:
def Reload(self, rm, maxValue):
self.host = rm.RmReadString('Host', 'example.com', False)
self.username = rm.RmReadString('Username', 'user', False)
self.password = rm.RmReadString('Password', 'pass', False)
def Update(self):
con = imaplib.IMAP4(self.host)
con.starttls()
con.login(self.username, self.password)
con.select('INBOX', True)
_, msgnums = con.search(None, '(UNSEEN)')
con.close()
con.logout()
return float(len(msgnums[0].split()))
```