Skip to content

Commit

Permalink
Made instagram and twitter schema can be the same for almost anything
Browse files Browse the repository at this point in the history
  • Loading branch information
thewisejun committed Feb 7, 2022
1 parent 45ceecc commit 8b81773
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 0 deletions.
Binary file added src/__pycache__/app.cpython-39.pyc
Binary file not shown.
52 changes: 52 additions & 0 deletions src/app.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
from fastapi import FastAPI, Header
from fastapi.responses import RedirectResponse
import re


from user_agents import parse

app = FastAPI()


@app.get("/instagram/{link}")
async def read_items(link: str ,*, user_agent: str = Header(None)):

agent = parse(user_agent)

redi_link = agent.get_os()




if (agent.is_mobile):

if (redi_link.find("iOS") == 0):

return RedirectResponse(url=f"instagram://user?username={link}")
elif (redi_link.find("Android")== 0 ):
return RedirectResponse(url=f"intent://instagram.com/_u/{link}/#Intent;package=com.instagram.android;scheme=https;end")

else:
return RedirectResponse(url=f"https://instagram.com/{link}")


@app.get("/twitter/{link}")
async def read_items(link: str ,*, user_agent: str = Header(None)):

agent = parse(user_agent)

redi_link = agent.get_os()




if (agent.is_mobile):

if (redi_link.find("iOS") == 0):

return RedirectResponse(url=f"twitter://user?screen_name={link}")
elif (redi_link.find("Android")== 0 ):
return RedirectResponse(url=f"intent://twitter.com/{link}#Intent;package=com.twitter.android;scheme=https;end")

else:
return RedirectResponse(url=f"https://twitter.com/{link}")
2 changes: 2 additions & 0 deletions src/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
user_agents
fastapi

0 comments on commit 8b81773

Please sign in to comment.