get raw data
This commit is contained in:
@@ -8,8 +8,7 @@ const puppeteer = require('puppeteer');
|
|||||||
const GeoCaptchaSolver = require("./GeoCaptchaSolver");
|
const GeoCaptchaSolver = require("./GeoCaptchaSolver");
|
||||||
const SlidingCaptchaSolver = require("./SlidingCaptchaSolver");
|
const SlidingCaptchaSolver = require("./SlidingCaptchaSolver");
|
||||||
const OCRChecker = require("./OCRChecker");
|
const OCRChecker = require("./OCRChecker");
|
||||||
const {disconnect} = require("mongoose");
|
const {main} = require("yarn/lib/cli");
|
||||||
const {execSync} = require("child_process");
|
|
||||||
// const RDV_URL = "http://192.168.0.44:8000/test_appointment.html"
|
// const RDV_URL = "http://192.168.0.44:8000/test_appointment.html"
|
||||||
const RDV_URL = "https://rendezvousparis.hermes.com/client/register";
|
const RDV_URL = "https://rendezvousparis.hermes.com/client/register";
|
||||||
const BLANK_URL = "about:blank"
|
const BLANK_URL = "about:blank"
|
||||||
@@ -381,6 +380,32 @@ class CommandorPage {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async getRawAppointmentInfo(page) {
|
||||||
|
let passportId = await page.evaluate(() => {
|
||||||
|
let field = document.getElementById("passport_id");
|
||||||
|
return field.value
|
||||||
|
})
|
||||||
|
|
||||||
|
let lastName = await page.evaluate(() => {
|
||||||
|
let field = document.getElementById("surname");
|
||||||
|
return field.value
|
||||||
|
})
|
||||||
|
let firstName = await page.evaluate(() => {
|
||||||
|
let field = document.getElementById("name");
|
||||||
|
return field.value
|
||||||
|
})
|
||||||
|
let phone = await page.evaluate(() => {
|
||||||
|
let field = document.getElementById("phone_number");
|
||||||
|
return field.value
|
||||||
|
})
|
||||||
|
|
||||||
|
let email = await page.evaluate(() => {
|
||||||
|
let field = document.getElementById("email");
|
||||||
|
return field.value
|
||||||
|
})
|
||||||
|
return new ReserveResultPojo(email, phone, passportId, email, lastName, firstName, "random", "", PublishType.PENDING)
|
||||||
|
}
|
||||||
|
|
||||||
async inputPassportId(page) {
|
async inputPassportId(page) {
|
||||||
logWithDevice("inputPassportId", this.device)
|
logWithDevice("inputPassportId", this.device)
|
||||||
try {
|
try {
|
||||||
@@ -659,6 +684,23 @@ class CommandorPage {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
// save to mongoDb
|
// save to mongoDb
|
||||||
|
let raw = await this.getRawAppointmentInfo(this.page)
|
||||||
|
// await this.mongoManager.saveRawReserveInfoToDb(raw)
|
||||||
|
if (raw.email !== undefined) {
|
||||||
|
this.contact.mail = raw.email
|
||||||
|
}
|
||||||
|
if (raw.passportNumber !== undefined) {
|
||||||
|
this.contact.passportNumber = raw.passportNumber
|
||||||
|
}
|
||||||
|
if (raw.lastName !== undefined) {
|
||||||
|
this.contact.lastName = raw.lastName
|
||||||
|
}
|
||||||
|
if (raw.phoneNumber !== undefined) {
|
||||||
|
this.contact.phoneNumber = raw.phoneNumber
|
||||||
|
}
|
||||||
|
if (raw.firstName !== undefined) {
|
||||||
|
this.contact.firstName = raw.firstName
|
||||||
|
}
|
||||||
let reserve = ReserveResultPojo.create_from_contact(this.contact, id, url, this.choosedStore, publishType);
|
let reserve = ReserveResultPojo.create_from_contact(this.contact, id, url, this.choosedStore, publishType);
|
||||||
reserve.source_from = this.device.model();
|
reserve.source_from = this.device.model();
|
||||||
await this.mongoManager.saveReserveToDb(reserve.to_mongo_dict())
|
await this.mongoManager.saveReserveToDb(reserve.to_mongo_dict())
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ const BLACK_LIST = "BLACK_LIST"
|
|||||||
const DB_NAME = "appointment"
|
const DB_NAME = "appointment"
|
||||||
const COLLECTION_NAME = "appointment"
|
const COLLECTION_NAME = "appointment"
|
||||||
const ACCEPTED_APPOINTMENT_LIST = "ACCEPTED_APPOINTMENT_LIST"
|
const ACCEPTED_APPOINTMENT_LIST = "ACCEPTED_APPOINTMENT_LIST"
|
||||||
|
const RAW_APPOINTMENT_LIST = "RAW_APPOINTMENT_LIST"
|
||||||
const BLACK_LIST_COLLECTION_NAME = "BLACK_LIST"
|
const BLACK_LIST_COLLECTION_NAME = "BLACK_LIST"
|
||||||
const LINKS_TO_VALIDATE = "LINKS_TO_VALIDATE"
|
const LINKS_TO_VALIDATE = "LINKS_TO_VALIDATE"
|
||||||
const {MongoClient} = require('mongodb');
|
const {MongoClient} = require('mongodb');
|
||||||
@@ -49,6 +50,11 @@ class MongoManager {
|
|||||||
return await this.db.collection(collectionName).replaceOne({'_id': reservePojo.id,}, reservePojo, {upsert: true})
|
return await this.db.collection(collectionName).replaceOne({'_id': reservePojo.id,}, reservePojo, {upsert: true})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async saveRawReserveInfoToDb(reservePojo) {
|
||||||
|
return await this.db.collection(RAW_APPOINTMENT_LIST).replaceOne({'_id': reservePojo.id,}, reservePojo, {upsert: true})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
async saveBlackListToDb(contact) {
|
async saveBlackListToDb(contact) {
|
||||||
return await this.db.collection(BLACK_LIST_COLLECTION_NAME).replaceOne({'_id': contact.mail,}, contact, {upsert: true})
|
return await this.db.collection(BLACK_LIST_COLLECTION_NAME).replaceOne({'_id': contact.mail,}, contact, {upsert: true})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user