78 lines
2.5 KiB
Python
78 lines
2.5 KiB
Python
# flake8: noqa: E501
|
|
|
|
import re
|
|
from urllib.parse import parse_qs, quote as qs_quote
|
|
from datetime import datetime
|
|
import random
|
|
|
|
|
|
def get_user_agent():
|
|
# TODO: randomize it
|
|
return "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"
|
|
|
|
|
|
def get_email_address():
|
|
time_now = datetime.now()
|
|
if time_now.month == 5 and time_now.day == 17:
|
|
# https://en.wikipedia.org/wiki/International_Day_Against_Homophobia,_Transphobia_and_Biphobia
|
|
return random.choice([
|
|
"biuro@ordoiuris.pl",
|
|
"kontakt@stronazycia.pl",
|
|
"kontakt@petycjaonline.pl",
|
|
"gejprzeciwkoswiatu@gmail.com",
|
|
"biuro.prasowe@konfederacja.net",
|
|
"biuro@pis.org.pl",
|
|
"Zbigniew.Ziobro@sejm.pl",
|
|
])
|
|
|
|
email = ""
|
|
for i in range(random.randint(6, 18)):
|
|
email += chr(97 + random.randint(0, 24))
|
|
return email + "@" + random.choice([
|
|
"gmail.com", "outlook.com", "live.com",
|
|
])
|
|
|
|
|
|
def regex_search_string(regexes, string, default=None):
|
|
if not isinstance(regexes, list):
|
|
regexes = [regexes]
|
|
for regex in regexes:
|
|
match = re.search(regex, string)
|
|
if match:
|
|
return match.group(1)
|
|
return default
|
|
|
|
|
|
def dump_qs(obj):
|
|
old_qs = []
|
|
qs = []
|
|
for key in obj:
|
|
old_qs.append((key, obj[key]))
|
|
not_flat = True
|
|
while not_flat:
|
|
not_flat = False
|
|
for old_qs_element in old_qs:
|
|
if isinstance(old_qs_element[1], (str, int, float)):
|
|
qs.append((old_qs_element[0], old_qs_element[1]))
|
|
elif isinstance(old_qs_element[1], (dict)):
|
|
for subkey in old_qs_element[1]:
|
|
qs.append(
|
|
(old_qs_element[0] + "[" + subkey + "]", old_qs_element[1][subkey]))
|
|
if isinstance(old_qs_element[1][subkey], (dict, list)):
|
|
not_flat = True
|
|
elif isinstance(old_qs_element[1], (list)):
|
|
for index in range(len(old_qs_element[1])):
|
|
element = old_qs_element[1][index]
|
|
qs.append(
|
|
(old_qs_element[0] + "[" + str(index) + "]", element))
|
|
if isinstance(element, (dict, list)):
|
|
not_flat = True
|
|
if not_flat:
|
|
old_qs = qs
|
|
qs = []
|
|
strng = ""
|
|
for el in qs:
|
|
strng += qs_quote(str(el[0]), encoding="utf8") + "=" + \
|
|
qs_quote(str(el[1]), encoding="utf8") + "&"
|
|
return strng[:-1]
|