X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=turbot_lambda%2Flambda_function.py;h=53251d29b71baa5779a1be054bc7fa1797661daf;hb=a13fbc8d3512acfbbb707042d10f274c1e33d638;hp=fe545b8eed418176f9f877877991144eeb8de825;hpb=13839f9cacfd7aaa389bf6983c5e9b98beead6af;p=turbot diff --git a/turbot_lambda/lambda_function.py b/turbot_lambda/lambda_function.py index fe545b8..53251d2 100644 --- a/turbot_lambda/lambda_function.py +++ b/turbot_lambda/lambda_function.py @@ -1,60 +1,4 @@ -import re - -def rot_string(str, n=13): - """Return a rotated version of a string - - Specifically, this functions returns a version of the input string - where each uppercase letter has been advanced 'n' positions in the - alphabet (wrapping around). Lowercase letters and any non-alphabetic - characters will be unchanged.""" - - result = '' - for letter in str: - if letter.isupper(): - result += chr(ord("A") + (ord(letter) - ord("A") + n) % 26) - else: - result += letter - return result - -def rot(args): - """Implements logic for /rot slash command in Slack, returning a string - - This implements the /rot command of our Slack bot. The format of this - command is as follows: - - /rot [count|*] String to be rotated - - The optional count indicates an amount to rotate each character in the - string. If the count is '*' or is not present, then the string will - be rotated through all possible 25 values. - - The result of the rotation is returned as a string (with Slack - formatting).""" - - match = re.match(r'^([0-9]+|\*) (.*)$', args) - if (match): - try: - count = int(match.group(1)) - except ValueError: - count = None - text = match.group(2) - else: - count = None - text = args - - text = text.upper() - - reply = "```/rot {} {}\n".format(count if count else '*', text) - - if count: - reply += rot_string(text, count) - else: - reply += "\n".join(["{:02d} ".format(count) + rot_string(text, count) - for count in range(1, 26)]) - - reply += "```" - - return reply +from turbot.rot import rot def lambda_handler(event, context): """Top-level entry point for our lambda function.