GitXplorerGitXplorer
g

icbhead

public
5 stars
3 forks
0 issues

Commits

List of commits on branch master.
Unverified
8c4c503d403e184328648df48ceba047c313e605

Add the ability for shortened urls to be appended with notes about the url

ggpshead committed 14 years ago
Unverified
50b8df9b1cc5ce9470e8854704298e1d495e8aed

fix maxline.

ggpshead committed 14 years ago
Unverified
a324853fa71d0b2d1ff89078f8a3630bc5c85eff

* Fuzz the keepalive timeout to avoid multiple clients DOSing a server.

ggpshead committed 14 years ago
Unverified
bfb83af36e3cab815a7879b56a03213fce3e1fbc

reworded

ggpshead committed 14 years ago
Unverified
d863687f7c445779ffa37165d7993d8d8ccac90a

status update

ggpshead committed 14 years ago
Unverified
9a1319fcb395724b23527b95f650a8bd05449590

Upgrade from getopt to optparse.

ggpshead committed 14 years ago

README

The README file for this repository.

2011-01-21

This code was originally derived from the old Python icb client code from http://a.armory.com/~zenomt/icb.py

That code did not originally have a license on it (eek!) when I forked it to start this project. A BSD style license was later added by the author and has since been added and adopted here.

Status:

  • skimpy bones, differences from the old icb.py so far are:
    • Requires Python 3.1 or later to run. (how's that for keeping the rabble away?)
    • No longer word wraps long lines coming from other people as that breaks URLs.
    • It word wraps your own longer than 239 char lines into multiple messages. Input is capped at 2x that limit anyways (no spammies).
    • It shortens long URLs in your own lines using goo.gl.
    • It prefixes openmsg and privmsg lines with a timestamp.
    • It periodically sends a ping over the connection to avoid NAT timeouts from dropping it while everyone is at a cocktail party.

TODO list:

  • Refactoring and code improvements:
    • Refactor the long if/elif blocks to method dispatch.
    • Add unittests for much of the old code.
  • URL shortening:
    • Optionally goo.gl incoming URLs (is that wise?).
    • On goo.gl shortened URLs include a (note.com) mention after them with the original domain name if it is not rediculiously long.
  • Implementation and usability improvements:
    • Intelligently word wrap incoming text by detecting URLs and never breaking them for optimal cut and paste action.
    • Investigate using readline. That the ancient code implements its own basic input & line editing is sad.
    • Move the network IO and update of the chat log into its own thread and scrolling region so that a partially typed message doesn't cause a backlog of scroll.

Gregory P. Smith greg@krypto.org