Skip to content

Commit afd03e8

Browse files
committed
feat: add Gumroad username validator.
1 parent 8ef05c4 commit afd03e8

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
from user_scanner.core.orchestrator import status_validate, Result
2+
3+
def validate_gumroad(user: str) -> Result:
4+
if not 3 <= len(user) <= 20:
5+
return Result.error("Username must be between 3 and 20 characters.")
6+
7+
if user != user.lower():
8+
return Result.error("Use lowercase letters only.")
9+
10+
if not user.isascii() or not user.isalnum():
11+
return Result.error("Only use lowercase letters and numbers only.")
12+
13+
url = f"https://{user}.gumroad.com/"
14+
return status_validate(url, 404, 200, follow_redirects=True)
15+
16+
17+
if __name__ == "__main__":
18+
user = input("Username?: ").strip()
19+
result = validate_gumroad(user)
20+
21+
if result == 1:
22+
print("Available!")
23+
elif result == 0:
24+
print("Unavailable!")
25+
else:
26+
print(f"Error occurred! Reason: {result.get_reason()}")

0 commit comments

Comments
 (0)