tblib Command Line Client


Posted

in

,

Here it is, that command line client using tblib that I promised you.  It’ll be fairly useful under a unix-like environment, as you can just type ./tbclient.py <args> while in windows you have to do python tbclient.py <args> or use PythonWin or something.  Here is a sample session from one of my Linux boxes:

[user @ box tb]$ ./tbclient.py
Usage: tblib <args>
  Valid arguments:
    -tburl foo: ping the trackback url foo
    -title foo: title of your trackback or weblog post
    -excerpt foo: Uses foo as the excerpt to be posted to the trackback
    -url foo: The url to point to (usually the url of the post in which you ref the trackback)
    -blogname foo: The name of your weblog
[user @ box tb]$ ./tbclient.py -tburl http://Queue/weblog/mt-tb.cgi/7 -title "My Title" -excerpt "My Excerpt" -url http://postneo.com -blogname "My Weblog Name"
Trackback command line client here.  Preparing TrackBack...
TrackBack URL: http://Queue/weblog/mt-tb.cgi/7
TrackBack Title: My Title
TrackBack Excerpt: My Excerpt
Your URL: http://postneo.com
Your Weblog Name: My Weblog Name
Pinging http://Queue/weblog/mt-tb.cgi/7...
HTTP Response: 200 OK
TrackBack Error Code is: 0 (zero is okay)
Done!

The client, as the library is released under GPL, but I’m waiting for someone to speak up and I’ll be flexible on licensing.  There are a couple of gotchas in the current (really simple) client.  For example, you need to enclose arguments that are more than one word in quotes, otherwise it will truncate to the first word.  I’m really not dealing with command line args as well as I should be, but you can view the source for a quick and dirty way to DIY.

That’s about all the functionality that you get in this 0.0.2 release.  The source code is here.  It relies on tblib-0.1.0 or greater (unless I break something in the future).  Send any questions or comments my way.  Over the next day or two, I’ll try to complete the client with an -autodiscover option.  I also want to clean things up with the option of -a || –autodiscover, etc.  I know it’s quite easy, I just didn’t have the energy to google it up.

I still owe you some real docs and an actual project page, but that will come eventually.