<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>log for code/tccli</title>
  <updated>2010-06-06T10:50:00+00:00</updated>
  <link href="http://bitcheese.net/wiki/log/code/tccli"/>
  <entry>
    <title>eh</title>
    <updated>2010-06-06T10:50:00+00:00</updated>
    <link href="http://bitcheese.net/wiki/diff/3b2740b83f659572b638fa166f35a67d2c76c5cb"/>
    <author>
      <name>Voker57</name>
    </author>
    <content type="html">&lt;p&gt;&lt;strong&gt;eh&lt;/strong&gt;&lt;/p&gt;&lt;span style='color: #FF9EA0;	background: #000D00;	text-decoration: line-through;'&gt;-- a/code/tccli&lt;/span&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;++ b/code/tccli&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #E200FF'&gt;@@ -1,4 +1,4 @@&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #FF9EA0;	background: #000D00;	text-decoration: line-through;'&gt;&amp;quot;tccli&amp;quot;http://hackage.haskell.org/package/tccli&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;&amp;quot;tccli&amp;quot;:http://hackage.haskell.org/package/tccli&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;bc.. import qualified Data.ByteString.Lazy as BSL&lt;br /&gt;import qualified Data.ByteString.Lazy.UTF8 as BUL</content>
  </entry>
  <entry>
    <title>tccli</title>
    <updated>2010-06-06T10:49:11+00:00</updated>
    <link href="http://bitcheese.net/wiki/diff/962c4d2f220ef1a84d57d6c74e16a7ad1c8fb79c"/>
    <author>
      <name>Voker57</name>
    </author>
    <content type="html">&lt;p&gt;&lt;strong&gt;tccli&lt;/strong&gt;&lt;/p&gt;&lt;span style='color: #FF9EA0;	background: #000D00;	text-decoration: line-through;'&gt;-- /dev/null&lt;/span&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;++ b/code/tccli&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #E200FF'&gt;@@ -1 +1,45 @@&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;&amp;quot;tccli&amp;quot;http://hackage.haskell.org/package/tccli&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;bc.. import qualified Data.ByteString.Lazy as BSL&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;import qualified Data.ByteString.Lazy.UTF8 as BUL&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;import Database.TokyoCabinet.HDB&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;import System.Environment (getArgs)&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;printUsage = do&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;	putStrLn &amp;quot;Simple TokyoCabinet hash storage interface.&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;	putStrLn &amp;quot;Usage: tchcli &amp;lt;db file&amp;gt; &amp;lt;action&amp;gt; &amp;lt;args&amp;gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;	putStrLn &amp;quot;Examples: tchcli mydb.tch get mykey # gets value of mykey and prints it to STDOUT&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;	putStrLn &amp;quot;          tchcli mydb.tch put mykey # stores data from STDIN as mykey in database&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;	putStrLn &amp;quot;          tchcli mydb.tch putcat mykey # appends data from STDIN to mykey in database&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;performTricks dbname action arg = do&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;	case action of&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;		&amp;quot;get&amp;quot; -&amp;gt; do&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;			db &amp;lt;- new&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;			open db dbname [OCREAT, OREADER]&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;			result &amp;lt;- get db (BUL.fromString arg)&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;			maybe (putStr &amp;quot;&amp;quot;) (BSL.putStr) result&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;		&amp;quot;put&amp;quot; -&amp;gt; do&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;			db &amp;lt;- new&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;			open db dbname [OCREAT, OWRITER]&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;			put db (BUL.fromString arg) =&amp;lt;&amp;lt; BSL.getContents&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;			return ()&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;		&amp;quot;putcat&amp;quot; -&amp;gt; do&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;			db &amp;lt;- new&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;			open db dbname [OCREAT, OWRITER]&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;			putcat db (BUL.fromString arg) =&amp;lt;&amp;lt; BSL.getContents&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;			return ()&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;		&amp;quot;num&amp;quot; -&amp;gt; do&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;			db &amp;lt;- new&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;			open db dbname [OCREAT, OREADER]&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;			print =&amp;lt;&amp;lt; rnum db&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;		otherwise -&amp;gt; printUsage&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;main = do&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;	args &amp;lt;- getArgs&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;	if (length args &amp;lt; 3) then&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;		printUsage&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;		else do&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;		let [dbname, action, arg] = args&lt;/span&gt;&lt;br /&gt;&lt;span style='color: #8AFF63; background: #000D00;'&gt;		performTricks dbname action arg&lt;/span&gt;</content>
  </entry>
</feed>
