#Posts the depth of a switcharoo
def switcharoo(comment, body):
lowercaseComment = body.lower()
if "switcharoo" in lowercaseComment:
depth = getSwitcharooDepth(body)
return ("This switcharoo has a depth of " + depth + ". Godspeed." , comment)
else:
return None
#Returns the link to the next switcharoo
def getSwitcharooLink(body):
if #post has a link to a reddit comment in it, :
return #The link
else :
return null
#Returns the depth of a switcharoo given the body of the comment using evil recursion magic
def getSwitcharooDepth(body):
link = getSwitcharooLink(body)
if link is null:
#sometimes dumb people don't link directly to the switcharoo though
#however, usually they'll link to the parent or the child of it.
#maybe if I become less lazy, I'll check the parent as well and all of the
#children for a link.
return 0
else:
return 1 + getSwitcharooDepth(#the comment body of the link)
I1Bvc3RzIHRoZSBkZXB0aCBvZiBhIHN3aXRjaGFyb28KZGVmIHN3aXRjaGFyb28oY29tbWVudCwgYm9keSk6CiAgICBsb3dlcmNhc2VDb21tZW50ID0gYm9keS5sb3dlcigpCiAgICBpZiAic3dpdGNoYXJvbyIgaW4gbG93ZXJjYXNlQ29tbWVudDoKICAgICAgICBkZXB0aCA9IGdldFN3aXRjaGFyb29EZXB0aChib2R5KQogICAgICAgIHJldHVybiAoIlRoaXMgc3dpdGNoYXJvbyBoYXMgYSBkZXB0aCBvZiAiICsgZGVwdGggKyAiLiBHb2RzcGVlZC4iICwgY29tbWVudCkKICAgIGVsc2U6CiAgICAgICAgcmV0dXJuIE5vbmUKCiAgICAgICAgCgojUmV0dXJucyB0aGUgbGluayB0byB0aGUgbmV4dCBzd2l0Y2hhcm9vCmRlZiBnZXRTd2l0Y2hhcm9vTGluayhib2R5KToKICAgIGlmICNwb3N0IGhhcyBhIGxpbmsgdG8gYSByZWRkaXQgY29tbWVudCBpbiBpdCwgOgogICAgICAgIHJldHVybiAjVGhlIGxpbmsKICAgIGVsc2UgOgogICAgICAgIHJldHVybiBudWxsCgojUmV0dXJucyB0aGUgZGVwdGggb2YgYSBzd2l0Y2hhcm9vIGdpdmVuIHRoZSBib2R5IG9mIHRoZSBjb21tZW50IHVzaW5nIGV2aWwgcmVjdXJzaW9uIG1hZ2ljCmRlZiBnZXRTd2l0Y2hhcm9vRGVwdGgoYm9keSk6CiAgICBsaW5rID0gZ2V0U3dpdGNoYXJvb0xpbmsoYm9keSkKICAgIGlmIGxpbmsgaXMgbnVsbDoKICAgICAgICAjc29tZXRpbWVzIGR1bWIgcGVvcGxlIGRvbid0IGxpbmsgZGlyZWN0bHkgdG8gdGhlIHN3aXRjaGFyb28gdGhvdWdoCiAgICAgICAgI2hvd2V2ZXIsIHVzdWFsbHkgdGhleSdsbCBsaW5rIHRvIHRoZSBwYXJlbnQgb3IgdGhlIGNoaWxkIG9mIGl0LgogICAgICAgICNtYXliZSBpZiBJIGJlY29tZSBsZXNzIGxhenksIEknbGwgY2hlY2sgdGhlIHBhcmVudCBhcyB3ZWxsIGFuZCBhbGwgb2YgdGhlCiAgICAgICAgI2NoaWxkcmVuIGZvciBhIGxpbmsuCiAgICAgICAgcmV0dXJuIDAKICAgIGVsc2U6CiAgICAgICAgcmV0dXJuIDEgKyBnZXRTd2l0Y2hhcm9vRGVwdGgoI3RoZSBjb21tZW50IGJvZHkgb2YgdGhlIGxpbmsp