From: Tomas Neme Date: Wed, 5 Oct 2011 06:15:41 +0000 (-0300) Subject: made it repeat the @nicks at the beginning of the post X-Git-Tag: twitter-1.7~5^2 X-Git-Url: https://jfr.im/git/z_archive/twitter.git/commitdiff_plain/efa432c702e12ce4e2cecbb477f86d3d8b45676c made it repeat the @nicks at the beginning of the post --- diff --git a/twitter/cmdline.py b/twitter/cmdline.py index 4210170..8353df3 100644 --- a/twitter/cmdline.py +++ b/twitter/cmdline.py @@ -464,13 +464,29 @@ class SetStatusAction(Action): statusTxt = (" ".join(options['extra_args']) if options['extra_args'] else str(input("message: "))) + replies = [] + ptr = re.compile("@[\w_]+") + while statusTxt: + s = ptr.match(statusTxt) + if s and s.start() == 0: + replies.append(statusTxt[s.start():s.end()]) + statusTxt = statusTxt[s.end()+1:] + else: + break + replies = " ".join(replies) + if len(replies) >= 140: + # just go back + statusTxt = replies + replies = "" + splitted = [] while statusTxt: - if len(statusTxt) > 140: - end = string.rfind(statusTxt, ' ', 0, 140) + limit = 140 - len(replies) + if len(statusTxt) > limit: + end = string.rfind(statusTxt, ' ', 0, limit) else: - end = 140 - splitted.append(statusTxt[:end]) + end = limit + splitted.append(" ".join((replies,statusTxt[:end]))) statusTxt = statusTxt[end:] for status in splitted: