summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--scripts/Makefile.am9
-rw-r--r--scripts/beep_beep.py37
-rw-r--r--scripts/dccmove.py33
-rw-r--r--scripts/df.py41
-rw-r--r--src/irssi.py27
6 files changed, 151 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index a6d3ee8..381bda9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,3 +7,8 @@ loafier, 2006-08-16:
changed intstallation location of docs (irssi/docs/irssi-python.html -> doc/irssi/irssi-python.html)
added online help document ( -> irssi/help/py)
changed name of shared library from libirssi_python.so to libpython.so
+
+loafier, 2006-08-17:
+ added a few simple scripts
+ added settings_add_* wrappers to irssi.py
+
diff --git a/scripts/Makefile.am b/scripts/Makefile.am
index 32ad5a3..fd88f2c 100644
--- a/scripts/Makefile.am
+++ b/scripts/Makefile.am
@@ -1,6 +1,13 @@
scriptsdir = $(datadir)/irssi/scripts
-scripts_DATA = hello.py dumper.py test_window.py fork.py
+scripts_DATA = \
+ beep_beep.py \
+ dccmove.py \
+ df.py \
+ dumper.py \
+ fork.py \
+ hello.py \
+ test_window.py
EXTRA_DIST = $(scripts_DATA)
diff --git a/scripts/beep_beep.py b/scripts/beep_beep.py
new file mode 100644
index 0000000..2f941e9
--- /dev/null
+++ b/scripts/beep_beep.py
@@ -0,0 +1,37 @@
+"""
+ Translation of Perl script by Georg Lukas
+"""
+
+import irssi
+import os
+
+might_beep = True
+
+def beep_overflow_timeout():
+ global might_beep
+ might_beep = True
+
+ return False
+
+def sig_beep():
+ global might_beep
+
+ beep_cmd = irssi.settings_get_str('beep_cmd')
+ if not beep_cmd:
+ return
+
+ beep_flood = irssi.settings_get_int('beep_flood')
+ if beep_flood <= 0:
+ beep_flood = 1000
+
+ if might_beep:
+ os.system(beep_cmd)
+ might_beep = False
+ irssi.timeout_add(beep_flood, beep_overflow_timeout)
+
+ irssi.signal_stop()
+
+irssi.settings_add_str("lookandfeel", "beep_cmd", "play ~/.irssi/scripts/beep_beep.wav 2>&1 > /dev/null &")
+irssi.settings_add_int("lookandfeel", "beep_flood", 250)
+irssi.signal_add("beep", sig_beep)
+
diff --git a/scripts/dccmove.py b/scripts/dccmove.py
new file mode 100644
index 0000000..a441090
--- /dev/null
+++ b/scripts/dccmove.py
@@ -0,0 +1,33 @@
+"""
+ Translation of Perl script by Peder Stray
+"""
+
+import irssi
+import os
+from os import path
+import shutil
+
+def sig_dcc_closed(dcc):
+ if not isinstance(dcc, irssi.DccGet) or not path.isfile(dcc.file):
+ return
+
+ dir = path.dirname(dcc.file)
+ dir = path.join(dir, 'done')
+ file = path.basename(dcc.file)
+
+ if dcc.transfd < dcc.size:
+ remain = 0
+ if dcc.size:
+ remain = 100 - dcc.transfd / dcc.size * 100
+ print '%%gDCC aborted %%_%s%%_, %%R%d%%%%%%g remaining%%n' % \
+ (file, remain)
+ return
+
+ if not path.isdir(dir):
+ os.mkdir(dir, 0755)
+
+ shutil.move(dcc.file, dir)
+
+ print '%%gDCC moved %%_%s%%_ to %%_%s%%_%%n' % (file, dir)
+
+irssi.signal_add('dcc closed', sig_dcc_closed)
diff --git a/scripts/df.py b/scripts/df.py
new file mode 100644
index 0000000..19ff57b
--- /dev/null
+++ b/scripts/df.py
@@ -0,0 +1,41 @@
+"""
+ Translation of script by Jochem Meyers
+"""
+
+import irssi
+import os
+
+output = ''
+
+def get_disk_info():
+ fp = os.popen('/bin/df -h')
+ lines = fp.readlines()
+ ret = []
+
+ #dev, size, used, avail, pct, mnt_on
+ maxm = irssi.settings_get_int('df_max_mounts')
+ for line in lines[1:maxm + 1]:
+ ret.append(line.split())
+
+ return ret
+
+def sb_df(item, get_size):
+ item.default_handler(get_size, '{sb %s}' % output)
+
+def refresh_df():
+ global output
+
+ tmp = []
+ for dev, size, used, avail, pct, mnt_on in get_disk_info():
+ tmp.append(' [%s: A: %s U%%%%: %s]' % (dev, avail, pct))
+
+ output = 'DF' + ''.join(tmp)
+ irssi.statusbar_items_redraw('df')
+ irssi.timeout_add(irssi.settings_get_int('df_refresh_time') * 1000, refresh_df)
+
+ return False
+
+irssi.statusbar_item_register('df', func=sb_df)
+irssi.settings_add_int('misc', 'df_refresh_time', 60)
+irssi.settings_add_int('misc', 'df_max_mounts', 6)
+refresh_df()
diff --git a/src/irssi.py b/src/irssi.py
index 3f193ad..33a3083 100644
--- a/src/irssi.py
+++ b/src/irssi.py
@@ -29,3 +29,30 @@ def io_add_watch(*args, **kwargs):
""" see Script.io_add_watch """
get_script().io_add_watch(*args, **kwargs)
+def statusbar_item_register(*args, **kwargs):
+ """ see Script.statusbar_item_register """
+ get_script().statusbar_item_register(*args, **kwargs)
+
+def settings_add_str(*args, **kwargs):
+ """ see Script.settings_add_str """
+ get_script().settings_add_str(*args, **kwargs)
+
+def settings_add_int(*args, **kwargs):
+ """ see Script.settings_add_int """
+ get_script().settings_add_int(*args, **kwargs)
+
+def settings_add_bool(*args, **kwargs):
+ """ see Script.settings_add_bool """
+ get_script().settings_add_bool(*args, **kwargs)
+
+def settings_add_time(*args, **kwargs):
+ """ see Script.settings_add_time """
+ get_script().settings_add_time(*args, **kwargs)
+
+def settings_add_level(*args, **kwargs):
+ """ see Script.settings_add_level """
+ get_script().settings_add_level(*args, **kwargs)
+
+def settings_add_size(*args, **kwargs):
+ """ see Script.settings_add_size """
+ get_script().settings_add_size(*args, **kwargs)