From 666e7d50c26b4ddda521982f04459a6e2641c0f5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Valenta?= <git@imaniti.org>
Date: Fri, 14 Jul 2023 12:17:10 +0900
Subject: [PATCH] add instagram login information

---
 README.md                   | 2 ++
 instagram_utils/services.py | 4 ++++
 majak/settings/base.py      | 3 +++
 3 files changed, 9 insertions(+)

diff --git a/README.md b/README.md
index 50f9cdaa..2a0ad7d3 100644
--- a/README.md
+++ b/README.md
@@ -167,6 +167,8 @@ Settings pro appky na weby:
 | `DONATE_PORTAL_REDIRECT_URL` | "" | URL pro přesměrování z darovacího formuláře |
 | `DONATE_PORTAL_REDIRECT_SOURCE` | dary.pirati.cz | identifikátor zdroje pro přesměrování na darovací portál |
 | `DONATE_PORTAL_API_URL` | "" | URL s API darovacího portálu |
+| `INSTAGRAM_USERNAME` | "" | Login username pro Instagram sync |
+| `INSTAGRAM_PASSWORD` | "" | Login heslo pro Instagram sync |
 
 ### Management commands
 
diff --git a/instagram_utils/services.py b/instagram_utils/services.py
index 2ed40210..e37e904e 100644
--- a/instagram_utils/services.py
+++ b/instagram_utils/services.py
@@ -6,6 +6,7 @@ import os
 import instaloader
 import requests
 from django.core.files import File
+from django.conf import settings
 
 from main.models import MainHomePage, MainPersonPage
 
@@ -44,6 +45,9 @@ class InstagramDownloadService:
     def parse_media_for_user(self, username: str) -> None:
         loader = instaloader.Instaloader()
 
+        if settings.INSTAGRAM_USERNAME and settings.INSTAGRAM_PASSWORD:
+            loader.login(settings.INSTAGRAM_USERNAME, settings.INSTAGRAM_PASSWORD)
+
         profile = instaloader.Profile.from_username(loader.context, username)
 
         post_position = 0
diff --git a/majak/settings/base.py b/majak/settings/base.py
index eba116fa..7f165aa8 100644
--- a/majak/settings/base.py
+++ b/majak/settings/base.py
@@ -307,3 +307,6 @@ MAPS_UTILS_MAPPROXY_URL = env.str(
 )
 
 TWITTER_BEARER_TOKEN = env.str("TWITTER_BEARER_TOKEN", default="")
+
+INSTAGRAM_USERNAME = env.str("INSTAGRAM_USERNAME", default="")
+INSTAGRAM_PASSWORD = env.str("INSTAGRAM_PASSWORD", default="")
-- 
GitLab