niming_igapi/app.py
2024-11-21 18:14:01 +00:00

43 lines
1.1 KiB
Python

import os, sys
from sqlalchemy import create_engine
from instagrapi import Client
# from dotenv import load_dotenv
from utils import shareclass
from ig import IG
from db import pgclass
from grpc import grpcServer
from utils.const import DEBUG
# load_dotenv()
# Database
PG_HOST = os.environ.get("PG_HOST", None).strip()
PG_PORT = os.environ.get("PG_PORT", None).strip()
PG_NAME = os.environ.get("PG_NAME", None).strip()
PG_USER = os.environ.get("PG_USER", None).strip()
PG_PASS = os.environ.get("PG_PASS", None).strip()
engine = create_engine('postgresql+psycopg2://%s:%s@%s:%s/%s'%(PG_USER, PG_PASS, PG_HOST, PG_PORT, PG_NAME))
pgclass.Base.metadata.create_all(engine)
print("[V] Database Connected")
# IG Login
cl = Client()
shareclass.Shared(cl, engine) # Shared Class
if not DEBUG and not IG.login():
sys.exit(0)
# grpc server should have...
# - Get account info (a kind of checkalive)
# - Get media info (a kind of checkalive)
# - Upload media (預設客戶端給我id)
# - Delete media
# - Login
# IG統一保存code
# run grpc
if __name__ == "__main__":
grpcServer.serve()