You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

72 lines
2.1 KiB

import pickle
import random
from datetime import datetime
from time import sleep
from arangodb import db
def sleep_(t):
"""
Sover en tid nära den angivna (för att inte sökningarna ska bli för lika varandra)
"""
variation = 4 # Testa olika sovlängder för att inte få användaren blockerad
sleep(t * variation * random.randrange(85, 115, 1) / 100)
if random.randrange(0, 60, 1) == 1:
longsleep = random.randrange(200, 300)
print('')
for s in range(0, longsleep):
print(f"Sover {longsleep - s} sekunder till... ", end="\r")
sleep(1)
print()
sleep(random.randrange(0, 10, 1) / 4)
# TODO #1 spara cookies till db
def update_cookie(cookies, profile_name):
""" Uppdaterar cookie för browser """
with open("data/cookie_{}.pkl".format(profile_name), "wb") as f:
pickle.dump(cookies, f)
def write_error(nr, e="", traceback="", soup="", user="", url="", url_name=""):
"""Skriver info efter error till arango
Args:
nr ([type]): error number
e (str, optional): error. Defaults to "".
traceback (str, optional): The traceback from traceback.format_exc(). Defaults to "".
soup (str, optional): Soup. Defaults to "".
user (str, optional): The user. Defaults to "".
url (str, optional): Url, if any. Defaults to "".
count (int, optional): Count, if any. Defaults to 0.
url_name (str, optional): The description of the url, if any. Defaults to "".
"""
if url == "":
url = "ingen url"
url_name = "ingen url"
print(e) # FELSÖKNING
key = datetime.now().strftime("%Y%m%d_%H:%M:%S")
doc = {
"_key": key,
"number": nr,
"error": nr,
"user": str(user),
"error": str(e),
"url": str(url),
"url_name": url_name,
"soup": str(soup),
"traceback": str(traceback),
}
try:
db.insert_document(
"errors",
doc,
overwrite_mode="update",
silent=True,
)
except Exception as e:
print(e)