mirror of https://github.com/Bunsly/JobSpy
use path for gsheet secret
parent
32d96bd3f6
commit
6cff7573b3
|
@ -1,12 +1,10 @@
|
||||||
import json
|
import gspread
|
||||||
|
from oauth2client.service_account import ServiceAccountCredentials
|
||||||
|
|
||||||
import csv
|
import csv
|
||||||
from io import StringIO
|
from io import StringIO
|
||||||
|
|
||||||
import gspread
|
|
||||||
from google.oauth2.service_account import Credentials
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
|
|
||||||
from ...jobs import *
|
from ...jobs import *
|
||||||
from ...scrapers import *
|
from ...scrapers import *
|
||||||
from settings import *
|
from settings import *
|
||||||
|
@ -21,15 +19,9 @@ class CSVFormatter:
|
||||||
"https://www.googleapis.com/auth/drive.file",
|
"https://www.googleapis.com/auth/drive.file",
|
||||||
"https://www.googleapis.com/auth/drive",
|
"https://www.googleapis.com/auth/drive",
|
||||||
]
|
]
|
||||||
if not GSHEET_SECRET_JSON:
|
credentials = ServiceAccountCredentials.from_json_keyfile_name(
|
||||||
raise ValueError("GSHEET_SECRET_JSON not provided!")
|
GSHEET_JSON_KEY_PATH, scope
|
||||||
|
|
||||||
secret_dict = json.loads(GSHEET_SECRET_JSON)
|
|
||||||
|
|
||||||
credentials = Credentials.from_service_account_info(
|
|
||||||
secret_dict, scopes=scope
|
|
||||||
)
|
)
|
||||||
|
|
||||||
gc = gspread.authorize(credentials)
|
gc = gspread.authorize(credentials)
|
||||||
sh = gc.open(GSHEET_NAME)
|
sh = gc.open(GSHEET_NAME)
|
||||||
|
|
||||||
|
@ -51,6 +43,11 @@ class CSVFormatter:
|
||||||
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
|
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
|
||||||
return f"JobSpy_results_{timestamp}.csv"
|
return f"JobSpy_results_{timestamp}.csv"
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def generate_filename() -> str:
|
||||||
|
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
|
||||||
|
return f"JobSpy_results_{timestamp}.csv"
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def format(jobs: CommonResponse) -> StringIO:
|
def format(jobs: CommonResponse) -> StringIO:
|
||||||
"""
|
"""
|
||||||
|
|
10
settings.py
10
settings.py
|
@ -2,14 +2,14 @@ from dotenv import load_dotenv
|
||||||
import os
|
import os
|
||||||
|
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
# Google sheets output_format
|
# gsheets (template to copy at https://docs.google.com/spreadsheets/d/1mOgb-ZGZy_YIhnW9OCqIVvkFwiKFvhMBjNcbakW7BLo/edit?usp=sharing)
|
||||||
GSHEET_NAME = os.environ.get("GSHEET_NAME", "JobSpy")
|
GSHEET_JSON_KEY_PATH = "client_secret.json"
|
||||||
GSHEET_SECRET_JSON = os.environ.get("GSHEET_SECRET_JSON")
|
GSHEET_NAME = "JobSpy"
|
||||||
|
|
||||||
# optional auth
|
# optional autha
|
||||||
AUTH_REQUIRED = False
|
AUTH_REQUIRED = False
|
||||||
SUPABASE_URL = os.environ.get("SUPABASE_URL")
|
SUPABASE_URL = os.environ.get("SUPABASE_URL")
|
||||||
SUPABASE_KEY = os.environ.get("SUPABASE_KEY")
|
SUPABASE_KEY = os.environ.get("SUPABASE_KEY")
|
||||||
JWT_SECRET_KEY = os.environ.get("JWT_SECRET_KEY")
|
JWT_SECRET_KEY = os.environ.get("JWT_SECRET_KEY")
|
||||||
ACCESS_TOKEN_EXPIRE_MINUTES = 60
|
ACCESS_TOKEN_EXPIRE_MINUTES = 60
|
||||||
ALGORITHM = "HS256"
|
ALGORITHM = "HS256"
|
Loading…
Reference in New Issue