diff --git a/src/twit2blog.nim b/src/twit2blog.nim index 9fc7473..781342d 100644 --- a/src/twit2blog.nim +++ b/src/twit2blog.nim @@ -1,9 +1,35 @@ -# This is just an example to get you started. A typical hybrid package -# uses this file as the main entry point of the application. - import twit2blogpkg/twitter +import os, system, parseopt, strutils, tables when isMainModule: - #echo "weskerfoot".listTweets.repr - for tweet in "1207100533166804993".getThread("weskerfoot"): + var args = initOptParser(commandLineParams().join(" ")) + var twitterParams = initTable[string, string]() + let validArgs = @["u", "t", "user", "thread"] + var currentKey : string + + while true: + args.next() + case args.kind + of cmdEnd: break + of cmdShortOption, cmdLongOption: + if args.val == "": + continue + else: + if validArgs.contains(args.key): + twitterParams[args.key] = args.val + of cmdArgument: + if validArgs.contains(currentKey): + twitterParams[currentKey] = args.val + + if twitterParams.hasKey("u"): + twitterParams["user"] = twitterParams["u"] + if twitterParams.hasKey("t"): + twitterParams["thread"] = twitterParams["t"] + + if not (twitterParams.hasKey("user") and twitterParams.hasKey("thread")): + echo twitterParams + stderr.writeLine("Invalid Arguments.") + quit(1) + + for tweet in twitterParams["thread"].getThread(twitterParams["user"]): echo tweet diff --git a/src/twit2blogpkg/twitter.nim b/src/twit2blogpkg/twitter.nim index 0b64bbf..4544151 100644 --- a/src/twit2blogpkg/twitter.nim +++ b/src/twit2blogpkg/twitter.nim @@ -55,12 +55,12 @@ proc getThread*(tweetStart : string, user : string) : seq[string] = let nextTweetID = parsed{"in_reply_to_status_id_str"}.getStr() if nextTweetID == "": - if parsed{"user"}{"screen_name"}.getStr() == user: + if parsed{"user", "screen_name"}.getStr() == user: return @[parsed{"full_text"}.getStr()] else: return @[] else: - if parsed{"user"}{"screen_name"}.getStr() == user: + if parsed{"user", "screen_name"}.getStr() == user: return nextTweetID.getThread(user) & @[parsed{"full_text"}.getStr()] else: return nextTweetID.getThread(user)