From da2be9e628e997d0d10e544331ce61b078b61502 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 30 Dec 2013 03:15:24 +0100 Subject: krebs: cleanup --- Cancer/ircbot/bot.py | 81 +++++++++++++++++++++++++++++++++++++++++++++ Cancer/ircbot/feeds | 2 ++ gold/ledger/lib/balance | 88 +++++++++++++++++++++++++++++++++++++++++++++++++ ircbot/bot.py | 81 --------------------------------------------- ircbot/feeds | 2 -- ledger/lib/balance | 88 ------------------------------------------------- 6 files changed, 171 insertions(+), 171 deletions(-) create mode 100755 Cancer/ircbot/bot.py create mode 100644 Cancer/ircbot/feeds create mode 100755 gold/ledger/lib/balance delete mode 100755 ircbot/bot.py delete mode 100644 ircbot/feeds delete mode 100755 ledger/lib/balance diff --git a/Cancer/ircbot/bot.py b/Cancer/ircbot/bot.py new file mode 100755 index 00000000..25a1014f --- /dev/null +++ b/Cancer/ircbot/bot.py @@ -0,0 +1,81 @@ +#!/usr/bin/python +import irc.bot +import feedparser +import _thread +import math +from time import sleep + +class TestBot(irc.bot.SingleServerIRCBot): + def __init__(self, rss, name, server='10.243.231.66', port=6667, chan='#news', timeout=60): + irc.bot.SingleServerIRCBot.__init__(self, [(server, port)], name, name) + self.url = rss + self.feed = feedparser.parse(self.url) + self.name = name + self.server = server + self.port = port + self.chan = chan + self.to = timeout + self.oldnews = [] + self.sendqueue = [] + for entry in self.feed.entries: + try: + self.sendqueue.append(entry.title + " " + entry.link + " com: " + entry.comments) + except AttributeError: + self.sendqueue.append(entry.title + " " + entry.link) + + self.oldnews.append(entry.link) + + def start(self): + self.upd_thread = _thread.start_new_thread(self.updateloop, ()) + self.bot = _thread.start_new_thread(irc.bot.SingleServerIRCBot.start, (self,)) + + + def updateloop(self): + while True: + sleep(self.to) + self.feed = feedparser.parse(self.url) + for entry in self.feed.entries: + if not entry.link in self.oldnews: + try: + self.send(entry.title + " " + entry.link + " com: " + entry.comments) + except AttributeError: + self.send(entry.title + " " + entry.link) + self.oldnews.append(entry.link) + + def sendall(self): + while len(self.sendqueue) > 0: + sleep(1) + self.send(self.sendqueue.pop()) + + def send(self, string): + if len(string) < 450: + self.connection.privmsg(self.chan, string) + else: + space = 0 + for x in range(math.ceil(len(string)/400)): + oldspace = space + space = string.find(" ", (x+1)*400, (x+1)*400+50) + self.connection.privmsg(self.chan, string[oldspace:space]) + sleep(1) + + + def on_welcome(self, connection, event): + connection.join(self.chan) + +# def on_privmsg(self, connection, event): +# print event.source().split('!')[0], event.arguments() + +F = open("feeds", "r") +lines = F.readlines() +F.close() + +botarray = [] +for line in lines: + lineArray = line.split('|') + bot = TestBot(lineArray[1], lineArray[0]) + #bot.start() + botarray.append(bot) + +def startall(): + for bot in botarray: + bot.start() diff --git a/Cancer/ircbot/feeds b/Cancer/ircbot/feeds new file mode 100644 index 00000000..50fe0667 --- /dev/null +++ b/Cancer/ircbot/feeds @@ -0,0 +1,2 @@ +HN|http://news.ycombinator.com/rss +Fefe|http://blog.fefe.de/rss.xml diff --git a/gold/ledger/lib/balance b/gold/ledger/lib/balance new file mode 100755 index 00000000..deb50d15 --- /dev/null +++ b/gold/ledger/lib/balance @@ -0,0 +1,88 @@ +#! /usr/bin/awk -f +# +# ledger balance calculator +# +# usage: +# [colorize=false] [scale=N] //ledger/lib/balance LEDGER_FILE... +# [colorize=false] [scale=N] //ledger/lib/balance < LEDGER_FILE +# +# description: +# The ledger balance calculator computes the balance of each account it +# encounters in the provided ledger files. +# +# example: +# //ledger/lib/balance < //cholerab/ledger-spec.markdown +# +# see also: +# //cholerab/ledger-spec.markdown (ledger file format) +# + +BEGIN { + colorize = ENVIRON["colorize"] == "" || ENVIRON["colorize"] == "true" + # TODO use bc for arbitrary precision arithmetic + scale = ENVIRON["scale"] +} + +/^[[:space:]]*[0-9]+-[0-9][0-9]-[0-9][0-9]/{ + tx($2, $3, $4, $5) +} + +END { + display_accounts() +} + +function tx (dst, src, amt, u) { + withdraw(src, amt, u) + deposit(dst, amt, u) +} + +function deposit (name, amt, u) { + accounts[name][u] += amt +} + +function withdraw (name, amt, u) { + accounts[name][u] -= amt +} + +function display_accounts() { + max_name_len = 0 + for (name in accounts) { + if (length(name) > max_name_len) { + max_name_len = length(name) + } + } + + max_balance_len = 0 + for (name in accounts) { + for (u in accounts[name]) { + n = length(int(accounts[name][u])) + if (n > max_balance_len) { + max_balance_len = n + } + } + } + if (scale > 0) { + max_balance_len += length(".") + scale + } + + for (name in accounts) { + for (u in accounts[name]) { + balance = accounts[name][u] + if (balance == 0) { + continue + } + + fmt = "NAME BALANCE UNIT\n" + + if (colorize) { + sub("BALANCE", "[" (balance < 0 ? 31 : 32) "m&", fmt) + } + + sub("NAME", "%-" max_name_len "s", fmt) + sub("BALANCE", "%" max_balance_len "." scale "f", fmt) + sub("UNIT", "%s", fmt) + + printf fmt, name, balance, u + } + } +} diff --git a/ircbot/bot.py b/ircbot/bot.py deleted file mode 100755 index 25a1014f..00000000 --- a/ircbot/bot.py +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/bin/python -import irc.bot -import feedparser -import _thread -import math -from time import sleep - -class TestBot(irc.bot.SingleServerIRCBot): - def __init__(self, rss, name, server='10.243.231.66', port=6667, chan='#news', timeout=60): - irc.bot.SingleServerIRCBot.__init__(self, [(server, port)], name, name) - self.url = rss - self.feed = feedparser.parse(self.url) - self.name = name - self.server = server - self.port = port - self.chan = chan - self.to = timeout - self.oldnews = [] - self.sendqueue = [] - for entry in self.feed.entries: - try: - self.sendqueue.append(entry.title + " " + entry.link + " com: " + entry.comments) - except AttributeError: - self.sendqueue.append(entry.title + " " + entry.link) - - self.oldnews.append(entry.link) - - def start(self): - self.upd_thread = _thread.start_new_thread(self.updateloop, ()) - self.bot = _thread.start_new_thread(irc.bot.SingleServerIRCBot.start, (self,)) - - - def updateloop(self): - while True: - sleep(self.to) - self.feed = feedparser.parse(self.url) - for entry in self.feed.entries: - if not entry.link in self.oldnews: - try: - self.send(entry.title + " " + entry.link + " com: " + entry.comments) - except AttributeError: - self.send(entry.title + " " + entry.link) - self.oldnews.append(entry.link) - - def sendall(self): - while len(self.sendqueue) > 0: - sleep(1) - self.send(self.sendqueue.pop()) - - def send(self, string): - if len(string) < 450: - self.connection.privmsg(self.chan, string) - else: - space = 0 - for x in range(math.ceil(len(string)/400)): - oldspace = space - space = string.find(" ", (x+1)*400, (x+1)*400+50) - self.connection.privmsg(self.chan, string[oldspace:space]) - sleep(1) - - - def on_welcome(self, connection, event): - connection.join(self.chan) - -# def on_privmsg(self, connection, event): -# print event.source().split('!')[0], event.arguments() - -F = open("feeds", "r") -lines = F.readlines() -F.close() - -botarray = [] -for line in lines: - lineArray = line.split('|') - bot = TestBot(lineArray[1], lineArray[0]) - #bot.start() - botarray.append(bot) - -def startall(): - for bot in botarray: - bot.start() diff --git a/ircbot/feeds b/ircbot/feeds deleted file mode 100644 index 50fe0667..00000000 --- a/ircbot/feeds +++ /dev/null @@ -1,2 +0,0 @@ -HN|http://news.ycombinator.com/rss -Fefe|http://blog.fefe.de/rss.xml diff --git a/ledger/lib/balance b/ledger/lib/balance deleted file mode 100755 index deb50d15..00000000 --- a/ledger/lib/balance +++ /dev/null @@ -1,88 +0,0 @@ -#! /usr/bin/awk -f -# -# ledger balance calculator -# -# usage: -# [colorize=false] [scale=N] //ledger/lib/balance LEDGER_FILE... -# [colorize=false] [scale=N] //ledger/lib/balance < LEDGER_FILE -# -# description: -# The ledger balance calculator computes the balance of each account it -# encounters in the provided ledger files. -# -# example: -# //ledger/lib/balance < //cholerab/ledger-spec.markdown -# -# see also: -# //cholerab/ledger-spec.markdown (ledger file format) -# - -BEGIN { - colorize = ENVIRON["colorize"] == "" || ENVIRON["colorize"] == "true" - # TODO use bc for arbitrary precision arithmetic - scale = ENVIRON["scale"] -} - -/^[[:space:]]*[0-9]+-[0-9][0-9]-[0-9][0-9]/{ - tx($2, $3, $4, $5) -} - -END { - display_accounts() -} - -function tx (dst, src, amt, u) { - withdraw(src, amt, u) - deposit(dst, amt, u) -} - -function deposit (name, amt, u) { - accounts[name][u] += amt -} - -function withdraw (name, amt, u) { - accounts[name][u] -= amt -} - -function display_accounts() { - max_name_len = 0 - for (name in accounts) { - if (length(name) > max_name_len) { - max_name_len = length(name) - } - } - - max_balance_len = 0 - for (name in accounts) { - for (u in accounts[name]) { - n = length(int(accounts[name][u])) - if (n > max_balance_len) { - max_balance_len = n - } - } - } - if (scale > 0) { - max_balance_len += length(".") + scale - } - - for (name in accounts) { - for (u in accounts[name]) { - balance = accounts[name][u] - if (balance == 0) { - continue - } - - fmt = "NAME BALANCE UNIT\n" - - if (colorize) { - sub("BALANCE", "[" (balance < 0 ? 31 : 32) "m&", fmt) - } - - sub("NAME", "%-" max_name_len "s", fmt) - sub("BALANCE", "%" max_balance_len "." scale "f", fmt) - sub("UNIT", "%s", fmt) - - printf fmt, name, balance, u - } - } -} -- cgit v1.2.3