-- cgit v1.2.3 -- cgit v1.2.3 From a6e8956d2a5b0207f48d604beae743e80c18c0ba Mon Sep 17 00:00:00 2001 From: makefu Date: Sat, 20 Aug 2011 23:36:53 +0200 Subject: oncology/lcd4linux.con: initial commit --- oncology/lcd4linux.conf | 551 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 551 insertions(+) create mode 100644 oncology/lcd4linux.conf diff --git a/oncology/lcd4linux.conf b/oncology/lcd4linux.conf new file mode 100644 index 00000000..c8cbe75e --- /dev/null +++ b/oncology/lcd4linux.conf @@ -0,0 +1,551 @@ +Layout 'Krebs' +Display 'DPF' + +Variables { + # Ticks: + second 1000 + minute 60 * second + + # Standard Dimensions: + linesize 53 # max line length, for status lines etc. + width100 51 # full width after padding (border) + width050 24 # 1/2 of full width + width033 17 # 1/3 of full width + width025 12 # 1/4 of full width + width010 5 # 1/10 of full width + + # Colors: + # ToDo: Alphakanal ausnutzen + black '000000' + white 'ffffff' + red 'ff0000' + darkblue '000066' + lightgray 'b2b2b2' + darkgray '191919' + barcolor0 '5f5fff' + barcolor1 'ff5f5c' + + # To be set later by timers: + FileMsg 'Dummy' +} + +Display dpf { + Driver 'DPF' + Port 'usb0' + Font '6x8' + Foreground white + Background darkblue + Basecolor darkblue +} + +Widget System { + class 'Text' + expression '*** ' . uname('nodename') . ' '. netinfo::ipaddr('eth0') . ' ***' + width linesize + align 'C' + update 0 + Background lightgray + Foreground darkgray +} + +Widget Time { + class 'Text' + expression strftime('%a, %d.%m.%Y %H:%M:%S', time()) . ' Up: ' . uptime('%d days %H:%M:%S') + width linesize + align 'C' + update 1 * second + Background lightgray + Foreground darkgray +} + +Widget Busy { + class 'Text' + expression proc_stat::cpu('busy', 0.5 * second) + prefix 'Busy' + postfix '%' + width width050 + precision 1 + align 'R' + update 0.5 * second +} + +Widget BusyBar { + class 'Bar' + expression proc_stat::cpu('busy', 0.5 * second) + expression2 proc_stat::cpu('system', 0.5 * second) + length width050 + direction 'E' + update 0.5 * second + Background darkgray + BarColor0 barcolor0 + BarColor1 barcolor1 +} + +Widget Load { + class 'Text' + expression loadavg(1) + prefix 'Load' + postfix loadavg(1) > 1.0 ? '!' : ' ' + width width050 + precision 1 + align 'R' + update 0.5 * second +# Foreground loadavg(1) > 1.0 ? red : white +} + +Widget LoadBar { + class 'Bar' + expression loadavg(1) + max 4.0 + length width050 + direction 'E' + update 0.5 * second + Background darkgray + BarColor0 barcolor0 + BarColor1 barcolor1 +} + +Widget Disk { + class 'Text' + # disk.[rw]blk return blocks, we assume a blocksize of 512 + # to get the number in kB/s we would do blk*512/1024, which is blk/2 + # expression (proc_stat::disk('.*', 'rblk', 0.5 * second)+proc_stat::disk('.*', 'wblk', 0.5 * second))/2 + # with kernel 2.6, disk_io disappeared from /proc/stat but moved to /proc/diskstat + # therefore you have to use another function called 'diskstats': + expression (diskstats('sd[a-z]$', 'read_sectors', 0.5 * second) + diskstats('sd[a-z]$', 'write_sectors', 0.5 * second)) / 2 / 1024 + prefix 'Disk' + postfix ' MB/s' + width width050 + precision 1 + align 'R' + update 0.5 * second +} + +Widget DiskBar { + class 'Bar' + #expression proc_stat::disk('.*', 'rblk', 0.5 * second) + #expression2 proc_stat::disk('.*', 'wblk', 0.5 * second) + # for kernel 2.6: + expression diskstats('sd[a-z]$', 'read_sectors', 0.5 * second) / 2 / 1024 + expression2 diskstats('sd[a-z]$', 'write_sectors', 0.5 * second) / 2 / 1024 + length width050 + direction 'E' + update 0.5 * second + Background darkgray + BarColor0 barcolor0 + BarColor1 barcolor1 +} + +Widget Eth0 { + class 'Text' + expression (netdev('eth0', 'Rx_bytes', 0.5 * second) + netdev('eth0', 'Tx_bytes', 0.5 * second)) / 1024 + prefix 'eth0' + postfix ' KB/s' + width width050 + precision 1 + align 'R' + update 0.5 * second +} + +Widget Eth0Bar { + class 'Bar' + expression netdev('eth0', 'Rx_bytes', 0.5 * second) / 1024 + expression2 netdev('eth0', 'Tx_bytes', 0.5 * second) / 1024 + length width050 + direction 'E' + update 0.5 * second + Background darkgray + BarColor0 barcolor0 + BarColor1 barcolor1 +} + +Widget Eth0Traffic { + class 'Text' + expression (netdev('eth0', 'Rx_bytes', 0)+netdev('eth0', 'Tx_bytes', 0))/1024/1024/1024 + prefix 'Traffic:' + postfix ' GB' + width 21 + precision 3 + align 'R' + update 10 * second +} + +Widget MemoryTitle { + class 'Text' + expression 'Memory/Swap' + width width050 + align 'L' + update 0 +} + +Widget MemoryTotal { + class 'Text' + expression meminfo('MemTotal') / 1024 + prefix 'Memory Total ' + postfix ' MB' + width width050 + precision 0 + align 'R' + update 0 +} + +Widget MemoryFree { + class 'Text' + expression (meminfo('MemFree') + meminfo('Cached')) / 1024 + prefix 'Memory Free ' + postfix ' MB' + width width050 + precision 0 + align 'R' + update 1 * second +} + +Widget MemorySwappedTotal { + class 'Text' + expression (meminfo('SwapTotal')) / 1024 + prefix 'Swap Total ' + postfix ' MB' + width width050 + precision 0 + align 'R' + update 1 * second +} + +Widget MemorySwappedFree { + class 'Text' + expression (meminfo('SwapTotal') - meminfo('SwapUsed')) / 1024 + prefix 'Swap Free'' + postfix ' MB' + width width050 + precision 0 + align 'R' + update 1 * second +} + +Widget MemorySwappedUsed { + class 'Text' + expression (meminfo('SwapTotal') - meminfo('SwapFree')) / 1024 + prefix 'Swap Used ' + postfix ' MB' + width width050 + precision 0 + align 'R' + update 1 * second +} + +Widget LoggedInTitle { + class 'Text' + expression 'Logged in users' + width width050 + align 'L' + update 0 +} + +Widget LoggedIn { + class 'Text' + expression exec('who | awk \' { print $1 }\' | sort -ud | tr "\n" " "') + width width050 + align 'L' + update 2 * second +} + +Widget FSSpaceTitle { + class 'Text' + expression 'Disk Space available' + width width050 + align 'L' + update 0 +} + +Widget FSSpace1 { + class 'Text' + expression statfs('/', 'bavail') * statfs('/', 'bsize') / 1024 / 1024 / 1024 + prefix '/ (Root FS)' + postfix ' GB' + width width050 + precision 2 + align 'R' + update 10 * second +} + +Widget HDDTempTitle { + class 'Text' + expression 'Disk Temperature°C' + width width050 + align 'L' + update 0 +} + +Widget HDDTemp1 { + class 'Text' + expression hddtemp('/dev/sda') + width width010 + precision 1 + align 'R' + update 10 * second +} + +Widget HDDTemp2 { + class 'Text' + expression hddtemp('/dev/sdb') + width width010 + precision 1 + align 'R' + update 10 * second +} + +Widget HDDTemp3 { + class 'Text' + expression hddtemp('/dev/sdc') + width width010 + precision 1 + align 'R' + update 10 * second +} + +Widget ServicesTitle { + class 'Text' + expression 'Services' + width width100 + align 'C' + Background lightgray + Foreground darkgray +} + +Widget ApacheStatus { + class 'Text' + expression 'Apache ' + width width050 + postfix strstr(exec('/etc/init.d/apache2 status', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget BindDNSStatus { + class 'Text' + expression 'Bind DNS ' + width width050 + postfix strstr(exec('/etc/init.d/bind9 status', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget MuninStatus { + class 'Text' + expression 'Monitoring ' + width width050 + postfix strstr(exec('/etc/init.d/munin-node status', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget MiniDLNAStatus { + class 'Text' + expression 'MiniDLNA ' + width width050 + postfix strstr(exec('/etc/init.d/minidlna status', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget MySQLStatus { + class 'Text' + expression 'MySQL ' + width width050 + postfix strstr(exec('/sbin/status mysql', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget MythTVStatus { + class 'Text' + expression 'MythTV Backend ' + width width050 + postfix strstr(exec('/sbin/status mythtv-backend', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget PostfixStatus { + class 'Text' + expression 'Postfix ' + width width050 + postfix strstr(exec('/etc/init.d/postfix status', 10 * second), 'not running') > 0 ? 'down!' : 'up' + update 10 * second +} + +Widget ProFTPStatus { + class 'Text' + expression 'ProFTP ' + width width050 + postfix strstr(exec('/etc/init.d/proftpd status', 10 * second), 'not running') > 0 ? 'down!' : 'up' + update 10 * second +} + +Widget SambaStatus { + class 'Text' + expression 'Samba ' + width width050 + postfix strstr(exec('/sbin/status smbd', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget SambaStatusDS { + class 'Text' + expression 'Samba ' + width width050 + postfix strstr(exec('/etc/init.d/samba status', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget SSHStatus { + class 'Text' + expression 'SSH ' + width width050 + postfix strstr(exec('/sbin/status ssh', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget SSHStatusDS { + class 'Text' + expression 'SSH ' + width width050 + postfix strstr(exec('/etc/init.d/ssh status', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget SWRAIDStatus { + class 'Text' + expression 'SW RAID ' + width width050 + postfix strstr(exec('cat /proc/mdstat', 10 * second), '[UUU]') > 0 ? 'up' : 'attention!' + update 10 * second +} + +Widget TwonkyStatus { + class 'Text' + expression 'Twonkymedia ' + width width050 + postfix strstr(exec('/sbin/status twonkymedia', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget FileTitle { + class 'Text' + expression 'NumPad Logging' + width width100 + align 'C' + Background lightgray + Foreground darkgray +} + +Widget SetFileMsg { + class 'Timer' + expression FileMsg = exec('tail -n 1 /root/dskeylistener/listener.log', 2 * second) + active 1 + update 2 * second +} + +Widget File1 { + class 'Text' + expression substr(FileMsg, 0 * width100, width100) + width width100 + align 'L' + Background darkgray + update 2 * second +} + +Widget File2 { + class 'Text' + expression substr(FileMsg, 1 * width100, width100) + width width100 + align 'L' + Background darkgray + update 2 * second +} + +Widget File3 { + class 'Text' + expression substr(FileMsg, 2 * width100, width100) + width width100 + align 'L' + Background darkgray + update 2 * second +} + +Widget Weather1 { + class 'Text' + expression exec('/krebs/kachelmann/wetter', 10 * second) + prefix 'Wetter' + width width100 + align 'L' + Background darkgray + update 10 * second +} + +Widget Debug { + class 'Text' + expression 'Serverdisplay - pkern.at' + width linesize + align 'C' + Foreground lightgray +} + +Widget na { + class 'Text' + expression 'n/a' + width 3 + align 'L' +} + +Widget Bgnd { + class 'Image' + file '/krebs/cholerab/bling/krebs-v2_320x240.png ' + reload 0 + update 0 + inverted 0 + visible 1 +} + +Layout Krebs { + Row01.Col01 'System' + Row02.Col01 'Time' + Row04.Col02 'Busy' + Row05.Col02 'BusyBar' + Row07.Col02 'Load' + Row08.Col02 'LoadBar' + Row10.Col02 'Disk' + Row11.Col02 'DiskBar' + Row13.Col02 'Eth0' + Row14.Col02 'Eth0Bar' + Row15.Col02 'Eth0Traffic' + + Row04.Col28 'MemoryTitle' + Row05.Col29 'MemoryTotal' + Row06.Col29 'MemoryFree' + Row07.Col29 'MemorySwappedTotal' + Row08.Col29 'MemorySwappedUsed' + Row10.Col28 'LoggedInTitle' + #Row11.Col29 'LoggedIn' + Row13.Col28 'FSSpaceTitle' + Row14.Col29 'FSSpace1' + + Row17.Col02 'ServicesTitle' + Row18.Col02 'BindDNSStatus' + Row19.Col02 'MuninStatus' + Row20.Col02 'ApacheStatus' + Row21.Col02 'MiniDLNAStatus' + Row18.Col29 'PostfixStatus' + Row19.Col29 'ProFTPStatus' + Row20.Col29 'SambaStatusDS' + Row21.Col29 'SSHStatusDS' + + Row23.Col02 'Weather1' + + Row25.Col02 'FileTitle' + Row26.Col02 'File1' + Row27.Col02 'File2' + Row28.Col02 'File3' + + Row30.Col01 'Debug' + + #Timer1 'SetFileMsg' + + Layer 2 { + X1.Y1 'Bgnd' + } +} -- cgit v1.2.3 From 445b530a98f9eac3a2ac48c59e357bf163352940 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 20 Aug 2011 23:54:39 +0200 Subject: oncology: update Makefile, write config --- oncology/Makefile | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 oncology/Makefile diff --git a/oncology/Makefile b/oncology/Makefile new file mode 100644 index 00000000..e90d3bc8 --- /dev/null +++ b/oncology/Makefile @@ -0,0 +1,8 @@ +install: /etc/lcd4linux.conf + #punani -Ei libtool automake autoconf zlib1g-dev libssl-dev python-dev libc6 libusb-dev libibus-dev subversion libgd2-noxpm-dev libgd2-noxpm + dpfhack_display/build-dpf-lcd4linux.sh + make -C dpfhack_display/lcd4linux/ install + +/etc/lcd4linux.conf: lcd4linux.conf + chown 0:0 lcd4linux.conf + cp -a lcd4linux.conf /etc/lcd4linux.conf -- cgit v1.2.3 From ecdfb7c2c990d88c0a88ca7991dc6944b99d4ded Mon Sep 17 00:00:00 2001 From: makefu Date: Sun, 21 Aug 2011 00:30:34 +0200 Subject: bling/320.png: krebs now in blue --- cholerab/bling/krebs-v2_320x240.png | Bin 4364 -> 2210 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/cholerab/bling/krebs-v2_320x240.png b/cholerab/bling/krebs-v2_320x240.png index 6330df3a..f90032ab 100644 Binary files a/cholerab/bling/krebs-v2_320x240.png and b/cholerab/bling/krebs-v2_320x240.png differ -- cgit v1.2.3 From 0af010792cd6305ce776ac8a0da97a5f4790881c Mon Sep 17 00:00:00 2001 From: makefu Date: Sun, 21 Aug 2011 00:34:55 +0200 Subject: bling/320.png: krebs now in dark blue --- cholerab/bling/krebs-v2_320x240.png | Bin 2210 -> 1210 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/cholerab/bling/krebs-v2_320x240.png b/cholerab/bling/krebs-v2_320x240.png index f90032ab..cae1e835 100644 Binary files a/cholerab/bling/krebs-v2_320x240.png and b/cholerab/bling/krebs-v2_320x240.png differ -- cgit v1.2.3 From 290661314c70e43a8bbf3fbe2057e8ab2a860144 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 21 Aug 2011 01:24:22 +0200 Subject: oncology: fix Makefile/build/config lcd4linux.conf - removed fucking white space, minor fuckups Makefile - correct dependency handling, patch /etc/init.d/lcd4linux --- oncology/Makefile | 20 +++++++++++++++++--- oncology/lcd4linux.conf | 20 ++++++++++---------- 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/oncology/Makefile b/oncology/Makefile index e90d3bc8..258ee130 100644 --- a/oncology/Makefile +++ b/oncology/Makefile @@ -1,8 +1,22 @@ -install: /etc/lcd4linux.conf - #punani -Ei libtool automake autoconf zlib1g-dev libssl-dev python-dev libc6 libusb-dev libibus-dev subversion libgd2-noxpm-dev libgd2-noxpm +build-deps: + #punani -Ei libtool automake autoconf zlib1g-dev libssl-dev python-dev libc6 libusb-dev libibus-dev subversion libgd2-noxpm-dev libgd2-noxpm lcd4linux + +/usr/bin/lcd4linux: build-deps + #punani -Ei lcd4linux + sed -i 's/usr\/sbin\/lcd4linux/usr\/bin\/lcd4linux/g' /etc/init.d/lcd4linux dpfhack_display/build-dpf-lcd4linux.sh make -C dpfhack_display/lcd4linux/ install +lcd4linux_autostart: + # service lcd4linux start + # update-rc.d lcd4linux + +install: /usr/bin/lcd4linux /etc/lcd4linux.conf lcd4linux_autostart + # TODO this is debian only + +update: /etc/lcd4linux.conf + /etc/lcd4linux.conf: lcd4linux.conf - chown 0:0 lcd4linux.conf + chown krebs:krebs lcd4linux.conf + chmod 600 lcd4linux.conf cp -a lcd4linux.conf /etc/lcd4linux.conf diff --git a/oncology/lcd4linux.conf b/oncology/lcd4linux.conf index c8cbe75e..e6ad1f90 100644 --- a/oncology/lcd4linux.conf +++ b/oncology/lcd4linux.conf @@ -435,7 +435,7 @@ Widget FileTitle { Widget SetFileMsg { class 'Timer' - expression FileMsg = exec('tail -n 1 /root/dskeylistener/listener.log', 2 * second) + expression FileMsg = exec('tail -n 1 /var/log/syslog', 2 * second) active 1 update 2 * second } @@ -470,7 +470,7 @@ Widget File3 { Widget Weather1 { class 'Text' expression exec('/krebs/kachelmann/wetter', 10 * second) - prefix 'Wetter' + prefix 'Wetter:' width width100 align 'L' Background darkgray @@ -479,7 +479,7 @@ Widget Weather1 { Widget Debug { class 'Text' - expression 'Serverdisplay - pkern.at' + expression 'Serverdisplay - Krebs' width linesize align 'C' Foreground lightgray @@ -494,7 +494,7 @@ Widget na { Widget Bgnd { class 'Image' - file '/krebs/cholerab/bling/krebs-v2_320x240.png ' + file '/krebs/cholerab/bling/krebs-v2_320x240.png' reload 0 update 0 inverted 0 @@ -525,13 +525,13 @@ Layout Krebs { Row14.Col29 'FSSpace1' Row17.Col02 'ServicesTitle' - Row18.Col02 'BindDNSStatus' - Row19.Col02 'MuninStatus' + #Row18.Col02 'BindDNSStatus' + #Row19.Col02 'MuninStatus' Row20.Col02 'ApacheStatus' - Row21.Col02 'MiniDLNAStatus' - Row18.Col29 'PostfixStatus' - Row19.Col29 'ProFTPStatus' - Row20.Col29 'SambaStatusDS' + #Row21.Col02 'MiniDLNAStatus' + #Row18.Col29 'PostfixStatus' + #Row19.Col29 'ProFTPStatus' + #Row20.Col29 'SambaStatusDS' Row21.Col29 'SSHStatusDS' Row23.Col02 'Weather1' -- cgit v1.2.3 From 310bb0cd4520711d8cc8e6fbaa51fb261a0ab24e Mon Sep 17 00:00:00 2001 From: root Date: Sun, 21 Aug 2011 03:03:33 +0200 Subject: oncology: add stream status --- oncology/lcd4linux.conf | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/oncology/lcd4linux.conf b/oncology/lcd4linux.conf index e6ad1f90..a1b0dc16 100644 --- a/oncology/lcd4linux.conf +++ b/oncology/lcd4linux.conf @@ -477,6 +477,16 @@ Widget Weather1 { update 10 * second } +Widget Stream { + class 'Text' + expression exec('/krebs/streams/streams status', 10 * second) + #prefix 'Stream:' + width width100 + align 'L' + Background darkgray + update 10 * second +} + Widget Debug { class 'Text' expression 'Serverdisplay - Krebs' @@ -532,9 +542,10 @@ Layout Krebs { #Row18.Col29 'PostfixStatus' #Row19.Col29 'ProFTPStatus' #Row20.Col29 'SambaStatusDS' - Row21.Col29 'SSHStatusDS' + Row20.Col29 'SSHStatusDS' - Row23.Col02 'Weather1' + Row21.Col02 'Weather1' + Row23.Col02 'Stream' Row25.Col02 'FileTitle' Row26.Col02 'File1' -- cgit v1.2.3 From 9fdb1fc7da782eba9a61da55349cd814f8fb13da Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 22 Aug 2011 01:35:55 +0200 Subject: mtgox: add ticker text script --- btc/mtgox/json_ticker_helper.py | 7 +++++++ btc/mtgox/ticker_text.sh | 3 +++ 2 files changed, 10 insertions(+) create mode 100755 btc/mtgox/json_ticker_helper.py create mode 100755 btc/mtgox/ticker_text.sh diff --git a/btc/mtgox/json_ticker_helper.py b/btc/mtgox/json_ticker_helper.py new file mode 100755 index 00000000..727dd594 --- /dev/null +++ b/btc/mtgox/json_ticker_helper.py @@ -0,0 +1,7 @@ +#!/usr/bin/python + +import json,sys + +result = json.load(sys.stdin) + +print "High: " + str(result["ticker"]["high"]) + " Low: " + str(result["ticker"]["low"]) + " Last: " + str(result["ticker"]["last"]) diff --git a/btc/mtgox/ticker_text.sh b/btc/mtgox/ticker_text.sh new file mode 100755 index 00000000..2bcac134 --- /dev/null +++ b/btc/mtgox/ticker_text.sh @@ -0,0 +1,3 @@ +#!/bin/sh +dirname=`dirname $(readlink -f $0)` +$dirname/mtgox.ticker | python $dirname/json_ticker_helper.py -- cgit v1.2.3 From 2be46b6392bd35dabf850f92d0829b452296e12b Mon Sep 17 00:00:00 2001 From: root Date: Mon, 22 Aug 2011 01:37:27 +0200 Subject: oncology: update lcd4linux.conf to show BTC --- oncology/lcd4linux.conf | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/oncology/lcd4linux.conf b/oncology/lcd4linux.conf index a1b0dc16..34df9f65 100644 --- a/oncology/lcd4linux.conf +++ b/oncology/lcd4linux.conf @@ -476,6 +476,15 @@ Widget Weather1 { Background darkgray update 10 * second } +Widget Bitcoin { + class 'Text' + expression exec('/krebs/btc/mtgox/ticker_text.sh', 10 * second) + prefix 'BTC: ' + width width100 + align 'L' + Background darkgray + update 30 * second +} Widget Stream { class 'Text' @@ -545,6 +554,7 @@ Layout Krebs { Row20.Col29 'SSHStatusDS' Row21.Col02 'Weather1' + Row22.Col02 'Bitcoin' Row23.Col02 'Stream' Row25.Col02 'FileTitle' @@ -554,7 +564,7 @@ Layout Krebs { Row30.Col01 'Debug' - #Timer1 'SetFileMsg' + Timer1 'SetFileMsg' Layer 2 { X1.Y1 'Bgnd' -- cgit v1.2.3 From 0208772d37c18b72c41557e6f4af04c7448839b7 Mon Sep 17 00:00:00 2001 From: tv Date: Mon, 22 Aug 2011 13:47:25 +0200 Subject: ovh soapi domainCapabilities: initial commit --- ovh/soapi/domainCapabilities | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 ovh/soapi/domainCapabilities diff --git a/ovh/soapi/domainCapabilities b/ovh/soapi/domainCapabilities new file mode 100755 index 00000000..edce3f0d --- /dev/null +++ b/ovh/soapi/domainCapabilities @@ -0,0 +1,24 @@ +#!/usr/bin/python + +from os import environ +import pprint +from SOAPpy import WSDL + +soap = WSDL.Proxy('https://www.ovh.com/soapi/soapi-re-1.24.wsdl') + +username = environ['KREBS_OVH_USER'] +password = environ['KREBS_OVH_PASS'] + +#login +session = soap.login(username, password, 'de', 0) +print "login successfull" + +#domainCapabilities +result = soap.domainCapabilities(session, 'krebsco.de') +print "domainCapabilities successfull" +pp = pprint.PrettyPrinter(indent=4) +pp.pprint(result) # your code here ... + +#logout +soap.logout(session) +print "logout successfull" -- cgit v1.2.3 From 93be79e976ffd53bcae2f6f9870a486e8fbd8b2d Mon Sep 17 00:00:00 2001 From: tv Date: Mon, 22 Aug 2011 13:52:46 +0200 Subject: ovh soapi domainList: initial commit --- ovh/soapi/domainList | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 ovh/soapi/domainList diff --git a/ovh/soapi/domainList b/ovh/soapi/domainList new file mode 100755 index 00000000..3f829ebe --- /dev/null +++ b/ovh/soapi/domainList @@ -0,0 +1,24 @@ +#!/usr/bin/python + +from os import environ +import pprint +from SOAPpy import WSDL + +soap = WSDL.Proxy('https://www.ovh.com/soapi/soapi-re-1.24.wsdl') + +username = environ['KREBS_OVH_USER'] +password = environ['KREBS_OVH_PASS'] + +#login +session = soap.login(username, password, 'de', 0) +print "login successfull" + +#domainHostList +result = soap.domainList(session) +print "domainList successfull" +pp = pprint.PrettyPrinter(indent=4) +pp.pprint(result) # your code here ... + +#logout +soap.logout(session) +print "logout successfull" -- cgit v1.2.3 From febfbe5c4f2e5481b12d0142c08dd45a28cbf4b1 Mon Sep 17 00:00:00 2001 From: tv Date: Mon, 22 Aug 2011 14:58:14 +0200 Subject: ovh soapi zoneEntryList: initial commit --- ovh/soapi/zoneEntryList | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 ovh/soapi/zoneEntryList diff --git a/ovh/soapi/zoneEntryList b/ovh/soapi/zoneEntryList new file mode 100755 index 00000000..7c032462 --- /dev/null +++ b/ovh/soapi/zoneEntryList @@ -0,0 +1,24 @@ +#!/usr/bin/python + +from os import environ +import pprint +from SOAPpy import WSDL + +soap = WSDL.Proxy('https://www.ovh.com/soapi/soapi-re-1.24.wsdl') + +username = environ['KREBS_OVH_USER'] +password = environ['KREBS_OVH_PASS'] + +#login +session = soap.login(username, password, 'de', 0) +print "login successfull" + +#zoneEntryList +result = soap.zoneEntryList(session, 'krebsco.de') +print "zoneEntryList successfull" +pp = pprint.PrettyPrinter(indent=4) +pp.pprint(result) # your code here ... + +#logout +soap.logout(session) +print "logout successfull" -- cgit v1.2.3 From 963b1ab3b05651afeec350e054a258595d067e26 Mon Sep 17 00:00:00 2001 From: tv Date: Mon, 22 Aug 2011 14:58:33 +0200 Subject: ovh soapi Makefile: initial commit Unfortunately the latest stable SOAPpy is broken, so we have to resort to the latest stable SOAPpy from SVN^_^ --- .gitignore | 2 ++ ovh/soapi/Makefile | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 ovh/soapi/Makefile diff --git a/.gitignore b/.gitignore index 290de6b0..c948e1a0 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ a.out /bin/ /node/src /node/out +/ovh/soapi/src +/ovh/soapi/SOAPpy diff --git a/ovh/soapi/Makefile b/ovh/soapi/Makefile new file mode 100644 index 00000000..6a4a3a6b --- /dev/null +++ b/ovh/soapi/Makefile @@ -0,0 +1,25 @@ +.PHONY: all install +all: select-target + +exes := $(shell \ + find . -mindepth 1 -maxdepth 1 -type f -executable -exec basename \{\} \;) + +target_exes := $(addprefix ../../bin/,$(exes)) + +install: $(target_exes) + +../../bin/%: % SOAPpy + ln -vsnf ../ovh/soapi/$* $@ + +src: + mkdir $@ + +src/SOAPpy: src + cd $< && \ + svn co https://pywebsvcs.svn.sourceforge.net/svnroot/pywebsvcs/trunk/SOAPpy + +src/SOAPpy/build/lib/SOAPpy: src/SOAPpy + cd $< && python setup.py build + +SOAPpy: src/SOAPpy/build/lib/SOAPpy + ln -snf $< -- cgit v1.2.3 From 1d241356396c4e7ec0fa957021108cf9144b1c89 Mon Sep 17 00:00:00 2001 From: tv Date: Mon, 22 Aug 2011 15:20:28 +0200 Subject: ovh soapi zoneEntryList: initial commit --- ovh/soapi/zoneEntryList | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/ovh/soapi/zoneEntryList b/ovh/soapi/zoneEntryList index 7c032462..eb9c9c09 100755 --- a/ovh/soapi/zoneEntryList +++ b/ovh/soapi/zoneEntryList @@ -1,8 +1,17 @@ #!/usr/bin/python from os import environ -import pprint from SOAPpy import WSDL +from json import dumps, JSONEncoder + +def default(o): + try: + iterable = iter(o) + except TypeError: + pass + else: + return list(iterable) + return JSONEncoder.default(o) soap = WSDL.Proxy('https://www.ovh.com/soapi/soapi-re-1.24.wsdl') @@ -16,8 +25,7 @@ print "login successfull" #zoneEntryList result = soap.zoneEntryList(session, 'krebsco.de') print "zoneEntryList successfull" -pp = pprint.PrettyPrinter(indent=4) -pp.pprint(result) # your code here ... +print dumps(result, sort_keys=True, indent=2, default=default) #logout soap.logout(session) -- cgit v1.2.3 From eabf3eb5f15a57d560e74b94e0c0921377af0ea9 Mon Sep 17 00:00:00 2001 From: tv Date: Mon, 22 Aug 2011 15:21:13 +0200 Subject: ovh soapi zoneEntry{Add,Del}: initial commit --- ovh/soapi/zoneEntryAdd | 25 +++++++++++++++++++++++++ ovh/soapi/zoneEntryDel | 25 +++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100755 ovh/soapi/zoneEntryAdd create mode 100755 ovh/soapi/zoneEntryDel diff --git a/ovh/soapi/zoneEntryAdd b/ovh/soapi/zoneEntryAdd new file mode 100755 index 00000000..68a0b8e3 --- /dev/null +++ b/ovh/soapi/zoneEntryAdd @@ -0,0 +1,25 @@ +#!/usr/bin/python + +from os import environ +from SOAPpy import WSDL + +soap = WSDL.Proxy('https://www.ovh.com/soapi/soapi-re-1.24.wsdl') + +username = environ['KREBS_OVH_USER'] +password = environ['KREBS_OVH_PASS'] +domain = argv[2] +subdomain = argv[3] +fieldtype = argv[4] +target = argv[5] + +#login +session = soap.login(username, password, 'de', 0) +print "login successfull" + +#zoneEntryAdd +soap.zoneEntryAdd(session, domain, subdomain, fieldtype, target) +print "zoneEntryAdd successfull" + +#logout +soap.logout(session) +print "logout successfull" diff --git a/ovh/soapi/zoneEntryDel b/ovh/soapi/zoneEntryDel new file mode 100755 index 00000000..d6f19932 --- /dev/null +++ b/ovh/soapi/zoneEntryDel @@ -0,0 +1,25 @@ +#!/usr/bin/python + +from os import environ +from SOAPpy import WSDL + +soap = WSDL.Proxy('https://www.ovh.com/soapi/soapi-re-1.24.wsdl') + +username = environ['KREBS_OVH_USER'] +password = environ['KREBS_OVH_PASS'] +domain = argv[2] +subdomain = argv[3] +fieldtype = argv[4] +target = argv[5] + +#login +session = soap.login(username, password, 'de', 0) +print "login successfull" + +#zoneEntryDel +soap.zoneEntryDel(session, domain, subdomain, fieldtype, target) +print "zoneEntryDel successfull" + +#logout +soap.logout(session) +print "logout successfull" -- cgit v1.2.3 From e036c795201a3eea50ec6d966ef4118c173f5189 Mon Sep 17 00:00:00 2001 From: tv Date: Mon, 22 Aug 2011 15:28:34 +0200 Subject: ovh soapi *List: unify [JSON-] output --- ovh/soapi/domainList | 20 +++++++++++--------- ovh/soapi/zoneEntryList | 6 ------ 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/ovh/soapi/domainList b/ovh/soapi/domainList index 3f829ebe..b089f6a4 100755 --- a/ovh/soapi/domainList +++ b/ovh/soapi/domainList @@ -1,24 +1,26 @@ #!/usr/bin/python from os import environ -import pprint from SOAPpy import WSDL +from json import dumps, JSONEncoder + +def default(o): + try: + iterable = iter(o) + except TypeError: + pass + else: + return list(iterable) + return JSONEncoder.default(o) soap = WSDL.Proxy('https://www.ovh.com/soapi/soapi-re-1.24.wsdl') username = environ['KREBS_OVH_USER'] password = environ['KREBS_OVH_PASS'] -#login session = soap.login(username, password, 'de', 0) -print "login successfull" -#domainHostList result = soap.domainList(session) -print "domainList successfull" -pp = pprint.PrettyPrinter(indent=4) -pp.pprint(result) # your code here ... +print dumps(result, sort_keys=True, indent=2, default=default) -#logout soap.logout(session) -print "logout successfull" diff --git a/ovh/soapi/zoneEntryList b/ovh/soapi/zoneEntryList index eb9c9c09..00f56958 100755 --- a/ovh/soapi/zoneEntryList +++ b/ovh/soapi/zoneEntryList @@ -18,15 +18,9 @@ soap = WSDL.Proxy('https://www.ovh.com/soapi/soapi-re-1.24.wsdl') username = environ['KREBS_OVH_USER'] password = environ['KREBS_OVH_PASS'] -#login session = soap.login(username, password, 'de', 0) -print "login successfull" -#zoneEntryList result = soap.zoneEntryList(session, 'krebsco.de') -print "zoneEntryList successfull" print dumps(result, sort_keys=True, indent=2, default=default) -#logout soap.logout(session) -print "logout successfull" -- cgit v1.2.3 From 44a3b4f5cec7c77c906d913116701c7ec4b8bc6c Mon Sep 17 00:00:00 2001 From: tv Date: Mon, 22 Aug 2011 16:06:13 +0200 Subject: ovh soapi *: use local wsdl copy --- ovh/soapi/domainCapabilities | 24 +- ovh/soapi/domainList | 4 +- ovh/soapi/soapi-re-1.24.wsdl | 20105 +++++++++++++++++++++++++++++++++++++++++ ovh/soapi/zoneEntryAdd | 24 +- ovh/soapi/zoneEntryDel | 24 +- ovh/soapi/zoneEntryList | 4 +- 6 files changed, 20157 insertions(+), 28 deletions(-) create mode 100644 ovh/soapi/soapi-re-1.24.wsdl diff --git a/ovh/soapi/domainCapabilities b/ovh/soapi/domainCapabilities index edce3f0d..dad8311d 100755 --- a/ovh/soapi/domainCapabilities +++ b/ovh/soapi/domainCapabilities @@ -1,24 +1,28 @@ #!/usr/bin/python from os import environ -import pprint +from os.path import dirname, realpath from SOAPpy import WSDL +from json import dumps, JSONEncoder -soap = WSDL.Proxy('https://www.ovh.com/soapi/soapi-re-1.24.wsdl') +def default(o): + try: + iterable = iter(o) + except TypeError: + pass + else: + return list(iterable) + return JSONEncoder.default(o) + +wsdl = dirname(realpath(__file__)) + '/soapi-re-1.24.wsdl' +soap = WSDL.Proxy(wsdl) username = environ['KREBS_OVH_USER'] password = environ['KREBS_OVH_PASS'] -#login session = soap.login(username, password, 'de', 0) -print "login successfull" -#domainCapabilities result = soap.domainCapabilities(session, 'krebsco.de') -print "domainCapabilities successfull" -pp = pprint.PrettyPrinter(indent=4) -pp.pprint(result) # your code here ... +print dumps(result, sort_keys=True, indent=2, default=default) -#logout soap.logout(session) -print "logout successfull" diff --git a/ovh/soapi/domainList b/ovh/soapi/domainList index b089f6a4..342eec72 100755 --- a/ovh/soapi/domainList +++ b/ovh/soapi/domainList @@ -1,6 +1,7 @@ #!/usr/bin/python from os import environ +from os.path import dirname, realpath from SOAPpy import WSDL from json import dumps, JSONEncoder @@ -13,7 +14,8 @@ def default(o): return list(iterable) return JSONEncoder.default(o) -soap = WSDL.Proxy('https://www.ovh.com/soapi/soapi-re-1.24.wsdl') +wsdl = dirname(realpath(__file__)) + '/soapi-re-1.24.wsdl' +soap = WSDL.Proxy(wsdl) username = environ['KREBS_OVH_USER'] password = environ['KREBS_OVH_PASS'] diff --git a/ovh/soapi/soapi-re-1.24.wsdl b/ovh/soapi/soapi-re-1.24.wsdl new file mode 100644 index 00000000..c628c564 --- /dev/null +++ b/ovh/soapi/soapi-re-1.24.wsdl @@ -0,0 +1,20105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +