manage double link validation
This commit is contained in:
@@ -105,7 +105,7 @@ class AppointmentRequestSendor(threading.Thread):
|
|||||||
self.contact_list = filter_contacts(self.contact_list)
|
self.contact_list = filter_contacts(self.contact_list)
|
||||||
# remove already booked contacts
|
# remove already booked contacts
|
||||||
random.shuffle(self.contact_list)
|
random.shuffle(self.contact_list)
|
||||||
if len(self.contact_list) > 0 and is_open() and _message_count > 40:
|
if len(self.contact_list) > 0 and is_open() and _message_count > 100:
|
||||||
captchaResultGetter = CaptchaResultGetter()
|
captchaResultGetter = CaptchaResultGetter()
|
||||||
print("contact number is {}".format(len(self.contact_list)))
|
print("contact number is {}".format(len(self.contact_list)))
|
||||||
self.contact_list = filter_contacts(self.contact_list)
|
self.contact_list = filter_contacts(self.contact_list)
|
||||||
|
|||||||
+5
-5
@@ -7,10 +7,10 @@ from db.mongo_manager import MONGO_STORE_MANAGER
|
|||||||
from excel_reader import read_contacts
|
from excel_reader import read_contacts
|
||||||
from models.contact_pojo import ContactPojo
|
from models.contact_pojo import ContactPojo
|
||||||
from queue_message.CookiesPublisher import CookiesPublisher, REQUEST_DATA_QUEUE_DE
|
from queue_message.CookiesPublisher import CookiesPublisher, REQUEST_DATA_QUEUE_DE
|
||||||
from queue_message.appointmentrequestsendor import AppointmentRequestSendor
|
from queue_message.appointmentrequestsendor import AppointmentRequestSendor, REQUEST_DATA_QUEUE
|
||||||
from utiles import is_time_between
|
from utiles import is_time_between
|
||||||
from workers.captcha_result_getter import CaptchaResultGetter, HERMES_REGISTER
|
from workers.captcha_result_getter import CaptchaResultGetter, HERMES_REGISTER
|
||||||
from workers.proxies_constants import PROXY_LIST_DE
|
from workers.proxies_constants import PROXY_LIST_DE, PROXY_LIST_FR
|
||||||
from workers.sender import Sender
|
from workers.sender import Sender
|
||||||
|
|
||||||
IPFIY = 'http://api.ipify.org'
|
IPFIY = 'http://api.ipify.org'
|
||||||
@@ -75,11 +75,11 @@ def send_appointment_request(message_queue_name, contacts_file_path):
|
|||||||
_cookiesPublisher = CookiesPublisher(queue_name=message_queue_name)
|
_cookiesPublisher = CookiesPublisher(queue_name=message_queue_name)
|
||||||
_cookiesPublisher.set_up_connection()
|
_cookiesPublisher.set_up_connection()
|
||||||
contact_list = read_contacts(contacts_file_path)
|
contact_list = read_contacts(contacts_file_path)
|
||||||
receiver = AppointmentRequestSendor(sub_contact_list=contact_list, proxy_to_use_list=PROXY_LIST_DE,
|
receiver = AppointmentRequestSendor(sub_contact_list=contact_list, proxy_to_use_list=PROXY_LIST_FR,
|
||||||
queue_name=REQUEST_DATA_QUEUE_DE,
|
queue_name=message_queue_name,
|
||||||
cookiesPublisher=_cookiesPublisher)
|
cookiesPublisher=_cookiesPublisher)
|
||||||
receiver.run()
|
receiver.run()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
send_appointment_request(REQUEST_DATA_QUEUE_DE, '/Users/lpan/Desktop/08_01_24_valid_de.xlsx')
|
send_appointment_request(REQUEST_DATA_QUEUE, '/Users/rdv/Desktop/yahoo_aol_valid_26-1.xlsx')
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ from queue_message.CookiesPublisher import CookiesPublisher, REQUEST_DATA_QUEUE_
|
|||||||
from queue_message.appointmentrequestsendor import QUEUE_HOST, REQUEST_DATA_QUEUE, credentials
|
from queue_message.appointmentrequestsendor import QUEUE_HOST, REQUEST_DATA_QUEUE, credentials
|
||||||
from workers.proxies_constants import PROXY_LIST_FR
|
from workers.proxies_constants import PROXY_LIST_FR
|
||||||
|
|
||||||
|
DOUBLE_MESSAGE = "Une demande de rendez-vous a déjà été enregistrée avec ces coordonnées"
|
||||||
|
|
||||||
|
|
||||||
class LinkValidator(threading.Thread):
|
class LinkValidator(threading.Thread):
|
||||||
|
|
||||||
@@ -77,6 +79,21 @@ class LinkValidator(threading.Thread):
|
|||||||
self.cookiesPublisher.publish_body(new_coolies_str)
|
self.cookiesPublisher.publish_body(new_coolies_str)
|
||||||
self.cookie_str = new_coolies_str
|
self.cookie_str = new_coolies_str
|
||||||
return True
|
return True
|
||||||
|
elif DOUBLE_MESSAGE in _content:
|
||||||
|
print(response.url)
|
||||||
|
MONGO_STORE_MANAGER.link_validated_for_result(response.url, linkPojo, is_duplicated=True)
|
||||||
|
# set new cookies
|
||||||
|
_cookies_to_set = response.headers['set-cookie']
|
||||||
|
self.cookie.load(_cookies_to_set)
|
||||||
|
new_cookies = {k: v.value for k, v in self.cookie.items()}
|
||||||
|
new_coolies_str = ""
|
||||||
|
for key in new_cookies:
|
||||||
|
new_coolies_str = new_coolies_str + key + "=" + new_cookies[key] + ";"
|
||||||
|
print("will publish to queue {}".format(new_coolies_str))
|
||||||
|
# upload the cookie to queue
|
||||||
|
self.cookiesPublisher.publish_body(new_coolies_str)
|
||||||
|
self.cookie_str = new_coolies_str
|
||||||
|
return True
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -41,6 +41,6 @@ DE_PROXY_RES = {
|
|||||||
# FR_PROXY_MOBILE
|
# FR_PROXY_MOBILE
|
||||||
# FR_PROXY_RES
|
# FR_PROXY_RES
|
||||||
# PROXY_LIST = [FR_PROXY_MOBILE, FR_PROXY_RES, DE_PROXY_RES, DE_PROXY_MOBILE, ES_PROXY_MOBILE, IT_PROXY_MOBILE]
|
# PROXY_LIST = [FR_PROXY_MOBILE, FR_PROXY_RES, DE_PROXY_RES, DE_PROXY_MOBILE, ES_PROXY_MOBILE, IT_PROXY_MOBILE]
|
||||||
PROXY_LIST_FR = [FR_PROXY_MOBILE, FR_PROXY_MOBILE_2, FR_PROXY_RES_2]
|
PROXY_LIST_FR = [FR_PROXY_MOBILE_2, FR_PROXY_MOBILE, FR_PROXY_RES_2]
|
||||||
# PROXY_LIST = [FR_PROXY_MOBILE, FR_PROXY_RES]
|
# PROXY_LIST = [FR_PROXY_MOBILE, FR_PROXY_RES]
|
||||||
PROXY_LIST_DE = [DE_PROXY_RES, DE_PROXY_MOBILE]
|
PROXY_LIST_DE = [DE_PROXY_RES, DE_PROXY_MOBILE]
|
||||||
|
|||||||
+1
-1
@@ -61,7 +61,7 @@ class Sender:
|
|||||||
'Accept-Language': 'fr-FR,fr;q=0.6'}
|
'Accept-Language': 'fr-FR,fr;q=0.6'}
|
||||||
data = {'check': '', '_csrf': _csrf, 'prefer': '',
|
data = {'check': '', '_csrf': _csrf, 'prefer': '',
|
||||||
'surname': contact.last_name.capitalize(), 'name': contact.first_name.capitalize(),
|
'surname': contact.last_name.capitalize(), 'name': contact.first_name.capitalize(),
|
||||||
'phone_country': "FR", 'phone_number': contact.phone, 'email': contact.mail,
|
'phone_country': "FR", 'phone_number': "+33 " + contact.phone, 'email': contact.mail,
|
||||||
'passport_id': contact.passport, 'processing': 'on', 'cgu': 'on'}
|
'passport_id': contact.passport, 'processing': 'on', 'cgu': 'on'}
|
||||||
print(data)
|
print(data)
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user