first commit

This commit is contained in:
Eidan T.
2026-05-09 14:00:04 -04:00
commit e0ec11977c
42 changed files with 4596 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
import pytz
from datetime import datetime, timedelta, time
class ConfigDatabase:
db_host= 'sql.glmanalytics.com'
db_user = 'vmglm001'
db_password = "A16n)J@^fj<]G('{"
class ConfigFTP:
ftp_server = '000oqta.rcomhost.com'
ftp_user = "ftp3592287"
ftp_password = 'mpFFMRW4W9w@SuK'
ftp_port = 21
ftp_path = "/www/TranferData_APP_PYTHON/"
class ConfigAPI:
pass
class GeneralConfig:
#DataControl
numDays = 3
zoneTime = pytz.timezone("America/El_Salvador")
zoneTimeCP = pytz.timezone("America/Santo_Domingo")
cutTime = time(17, 30, 00)
current_time = datetime.now(zoneTime)
current_hour = current_time.hour
nowTime = current_time.strftime("%Y-%m-%d")
nowTimeFormat = current_time.strftime("%Y%m%d")
execution_time = datetime.now(zoneTime)
#time = datetime.now(zoneTime)
#Para emails
fromEmail = 'notifications.noreply@gomezleemarketing.com'
smtp_server="smtp.gmail.com"
smtp_port=587
passwordEmail = 'GLM123456new1'
class ConfigNotifications:
webhookURL_wps_notifcation = "https://automation.glmanalytics.com/webhook/wsp-notifcation"
webhookURL = "https://automation.glmanalytics.com/webhook/205ae0d5-fc9c-44da-951c-84c033236579" # Ajusta con tu URL real
+9
View File
@@ -0,0 +1,9 @@
#from .GeneralConfig import *
#from .corripioConfig import *
#from .corripioConfig2 import *
#from .dipoConfig import *
#from .pgConfig import *
#from .feduroConfig import *
#from .cimbertonConfig import *
#from .echamorroConfig import *
#from .ftp_service import *
+42
View File
@@ -0,0 +1,42 @@
import os
class FeduroConfig:
userSharepoint = 'feddatadeployment.im@pg.com' #os.getenv('sharepointPG_user')
passwordSharepoint = 'Feduro_PG_2025$' #= os.getenv('sharepointPG_password')
siteSharepoint = 'https://pgone.sharepoint.com/sites/feduroinfinitystores' #os.getenv('sharepointPG_site')
database = 'IS001'
databaseID = '00010007'
areaID = '0007'
project_name = 'FEDURO'
classID = '0003'
reportsID = {'Cobertura':'0001',
'NegociadasIS001':'0002',
'Promociones':'0003',
#'Precios':'0004',
'Fmot':'0005',
'QualityDisplay':'0006',
'Checkout':'0007',
'QualityShelf':'0008',
'SOSFeduro':'0009',
#'OsaTorre':'0010',
#'OsaPsmt':'0011',
#'OsaFarmacia':'0012',
'OsaFotografico':'0013',
#'DataAvailability':'0014',
'OsaAnalogo':'0015',
'ModuloTareas':'0016',
#'SOSAPDO_IS001':'0017',
#'SOSBabyCare_IS001':'0018',
#'SOSFabricCare_IS001':'0019',
#'SOSFamilyCare_IS001':'0020',
#'SOSFemCare_IS001':'0012',
#'SOSHairCare_IS001':'0022',
#'SOSHomeCare_IS001':'0023',
#'SOSOralCare_IS001':'0024',
#'SOSPHC_IS001':'0025'
}
+115
View File
@@ -0,0 +1,115 @@
import os
from App.Config.GeneralConfig import GeneralConfig
from App.Config.GeneralConfig import ConfigFTP
from App.Utils.db_utils import DatabaseManager
from App.Utils.ftp_utils import FTPManager
from App.Utils.sftp_utils import SFTPManager
class FeduroConfig:
def __init__(self):
#Inicializando la base de datos
self.databaseCode = 'IS001'
self.databaseID = '00010007'
self.database = DatabaseManager(self.databaseCode, self.databaseID)
#Inicialzando el FTP
self.ftpdatabase = FTPManager(ConfigFTP.ftp_server, ConfigFTP.ftp_user, ConfigFTP.ftp_password, ConfigFTP.ftp_port)
#Inicializando el SFTP
self.sftp_host = 'c6a3nxpth6mf4.eastus2.azurecontainer.io'
self.sftp_port = 22
self.sftp_username = 'eLeader01'
self.sftp_password = 'c8gNBhJE@zt$ZkT&'
self.sftpdatabase = SFTPManager(self.sftp_host, self.sftp_port, self.sftp_username, self.sftp_password)
#Inicializando SharePoint
self.userSharepoint = 'feddatadeployment.im@pg.com' #os.getenv('sharepointPG_user')
self.passwordSharepoint = 'Feduro_PG_2025$' #= os.getenv('sharepointPG_password')
self.siteSharepoint = 'https://pgone.sharepoint.com/sites/feduroinfinitystores' #os.getenv('sharepointPG_site')
#General configuration feduro
self.areaID = '0007'
self.project_name = 'FEDURO'
self.classID = '0003'
self.reports = self.database.get_execute_query(f"select * from TransferData where active = 1")
self.reports_sftp = {'Cobertura':'/upload/FEDURO/DataCollection/Cobertura/CoberturaCheckIn-Out/',
'NegociadasIS001':'/upload/FEDURO/DataCollection/Negociadas/AC Ejecutado/',
'Promociones':'/upload/FEDURO/DataCollection/Promociones/PROMO EJECUTADA/',
'Precios':'',
'Fmot':'/upload/FEDURO/DataCollection/Fmot/fmot Data/',
'QualityDisplay':'/upload/FEDURO/DataCollection/Quality Display/',
'Checkout':'/upload/FEDURO/DataCollection/CheckOut/Data/',
'QualityShelf':'/upload/FEDURO/DataCollection/QualityShelf/QualityShelf_Data/',
'SOSFeduro':'/upload/FEDURO/DataCollection/SOS/Share of Share Ejecutado/',
'OsaTorre':'',
'OsaPsmt':'',
'OsaFarmacia':'',
'OsaFotografico':'/upload/FEDURO/DataCollection/OSA/OSA_Fotos_Categoria/',
'DataAvailability':'',
'OsaAnalogo': '/upload/FEDURO/DataCollection/OSA/Data/',
'ModuloTareas': '/upload/FEDURO/DataCollection/ModuloTareas/Data/',
'SOSAPDO_IS001':'/upload/FEDURO/DataCollection/SOS/Share of Share Ejecutado/',
'SOSBabyCare_IS001':'/upload/FEDURO/DataCollection/SOS/Share of Share Ejecutado/',
'SOSFabricCare_IS001':'/upload/FEDURO/DataCollection/SOS/Share of Share Ejecutado/',
'SOSFamilyCare_IS001':'/upload/FEDURO/DataCollection/SOS/Share of Share Ejecutado/',
'SOSFemCare_IS001':'/upload/FEDURO/DataCollection/SOS/Share of Share Ejecutado/',
'SOSHairCare_IS001':'/upload/FEDURO/DataCollection/SOS/Share of Share Ejecutado/',
'SOSHomeCare_IS001':'/upload/FEDURO/DataCollection/SOS/Share of Share Ejecutado/',
'SOSOralCare_IS001':'/upload/FEDURO/DataCollection/SOS/Share of Share Ejecutado/',
'SOSPHC_IS001':'/upload/FEDURO/DataCollection/SOS/Share of Share Ejecutado/'
}
self.reportsID = {'Cobertura':'0001',
'NegociadasIS001':'0002',
'Promociones':'0003',
#'Precios':'0004',
'Fmot':'0005',
'QualityDisplay':'0006',
'Checkout':'0007',
'QualityShelf':'0008',
'SOSFeduro':'0009',
#'OsaTorre':'0010',
#'OsaPsmt':'0011',
#'OsaFarmacia':'0012',
'OsaFotografico':'0013',
#'DataAvailability':'0014',
'OsaAnalogo':'0015',
'ModuloTareas':'0016',
#'SOSAPDO_IS001':'0017',
#'SOSBabyCare_IS001':'0018',
#'SOSFabricCare_IS001':'0019',
#'SOSFamilyCare_IS001':'0020',
#'SOSFemCare_IS001':'0012',
#'SOSHairCare_IS001':'0022',
#'SOSHomeCare_IS001':'0023',
#'SOSOralCare_IS001':'0024',
#'SOSPHC_IS001':'0025'
}
self.steps = {
"sftp": True,
"ftp": True,
"sharepoint_python": True,
"sharepoint_N8N": False,
}
+79
View File
@@ -0,0 +1,79 @@
import os
from App.Config.GeneralConfig import GeneralConfig
from App.Config.GeneralConfig import ConfigFTP
from App.Utils.db_utils import DatabaseManager
from App.Utils.ftp_utils import FTPManager
from App.Utils.sftp_utils import SFTPManager
from App.Utils.sharepoint_utils import SharepointManager
class PGConfig:
def __init__(self):
#Inicializando la base de datos
self.databaseCode = 'glm_pg'
self.databaseID = '00080001'
self.database = DatabaseManager(self.databaseCode, self.databaseID)
#Inicializando SharePoint
self.userSharepoint = 'gldatadeployment.im@pg.com'
self.passwordSharepoint = 'Glm-infinity-2025'
self.siteSharepoint = 'https://pgone.sharepoint.com/sites/eLeaderDataSharing'
data = self.database.get_execute_query("select reportID, parameter from TransferDataParameter where category = 'Sharepoint'")
self.sharepointPath = {
row['reportID']: row['parameter']
for row in data
}
self.sharepoint = SharepointManager(self.siteSharepoint, self.userSharepoint, self.passwordSharepoint)
#Inicialzando el FTP
self.ftpdatabase = FTPManager(ConfigFTP.ftp_server, ConfigFTP.ftp_user, ConfigFTP.ftp_password, ConfigFTP.ftp_port)
#Inicializando el SFTP
#self.sftp_host = 'c6a3nxpth6mf4.eastus2.azurecontainer.io'
#self.sftp_port = 22
#self.sftp_username = 'eLeader01'
#self.sftp_password = 'c8gNBhJE@zt$ZkT&'
#self.sftpdatabase = SFTPManager(self.sftp_host, self.sftp_port, self.sftp_username, self.sftp_password)
#General configuration PG
self.areaID = '0001'
self.project_name = 'PG'
self.classID = '0003'
self.reports = self.database.get_execute_query(f"select * from TransferData where active = 1")
self.reportsID = {'Cobertura':'0001',
'Negociadas':'0002',
'Promociones':'0003',
#'Precios':'0004',
#'Fmot':'0005',
'QualityDisplay':'0006',
'Checkout':'0007',
'QualityShelf':'0008',
'SOS':'0009',
#'OsaTorre':'0010',
#'OsaPsmt':'0011',
'OsaFarmacia':'0012',
'OsaMassy':'0013',
'OsaPenny':'0014',
'OsaFotografico':'0015',
'DataAvailability':'0016'
}
+3
View File
@@ -0,0 +1,3 @@
APP_NAME = "PYTHON_TRANSFERDATA_APP"
VERSION = "2.0.0"
AUTHOR = "eurbina"