소스 검색

Ajout des modes de test

olivier.massot 7 년 전
부모
커밋
824c94e061
8개의 변경된 파일70개의 추가작업 그리고 28개의 파일을 삭제
  1. 8 9
      core/mail.py
  2. 2 2
      core/pde.py
  3. 2 1
      core/webservice.py
  4. 18 10
      gf2analytique.py
  5. 14 1
      gf2factures.py
  6. 2 2
      logging.yaml
  7. 22 1
      mails_rappel_ctrl.py
  8. 2 2
      pda2suiviactivite.py

+ 8 - 9
core/mail.py

@@ -21,19 +21,18 @@ class Mail():
         self.subject = subject
         self.msg = msg
 
-    def send(self):
-        port = self.mailport if self.mailport else smtplib.SMTP_PORT
+        self.mail = MIMEMultipart('alternative')
+        self.mail['Subject'] = self.subject
+        self.mail['From'] = self.fromaddr
+        self.mail['To'] = ",".join(self.toaddrs)
 
-        msg = MIMEMultipart('alternative')
-#         msg = MIMEText(self.msg.encode('utf-8'), _charset='utf-8')
-        msg['Subject'] = self.subject
-        msg['From'] = self.fromaddr
-        msg['To'] = ",".join(self.toaddrs)
+        self.mail.attach(MIMEText(self.msg, 'html', _charset='utf-8'))
 
-        msg.attach(MIMEText(self.msg, 'html', _charset='utf-8'))
+    def send(self):
+        port = self.mailport if self.mailport else smtplib.SMTP_PORT
 
         smtp = smtplib.SMTP(self.HOST, port)
-        smtp.sendmail(self.fromaddr, self.toaddrs, msg.as_string())
+        smtp.sendmail(self.fromaddr, self.toaddrs, self.mail.as_string())
         smtp.quit()
 
 

+ 2 - 2
core/pde.py

@@ -8,8 +8,8 @@ from core.db import AccessSDb
 MAIN = Path(__file__).parent.parent.abspath()
 
 # Web url of the WsPde web service
-PDE_WS_URL = r"http://localhost:2890/public/WsPDE.asmx"
-#     PDE_WS_URL = r"http://webservices.bas-rhin.fr/CG67.AstreGF.WebServices/public/WsPDE.asmx"
+# PDE_WS_URL = r"http://localhost:2890/public/WsPDE.asmx"
+PDE_WS_URL = r"http://webservices-t.bas-rhin.fr/CG67.AstreGF.WebServices/public/WsPDE.asmx"
 
 # Chemin d'acces au fichier de secu Access, et login/mdp
 MDW_PATH = r"\\h2o\local\4-transversal\BDD\mda\cg67Parc.mdw"

+ 2 - 1
core/webservice.py

@@ -14,8 +14,9 @@ logger = logging.getLogger("webservice")
 
 class GfWebservice():
     """ Parser for the pde's web service """
+    _url = PDE_WS_URL
     def __init__(self, name):
-        self._url = "{}/{}".format(PDE_WS_URL, name)
+        self._url = "{}/{}".format(self._url, name)
         self._data = None
 
     @property

+ 18 - 10
gf2analytique.py

@@ -18,12 +18,26 @@
 import logging
 import re
 
+from path import Path  # @UnusedImport
+
 from core import logconf
 from core.pde import AnalytiqueDb, mk_workdir
 from core.webservice import GfWebservice
 
+
 logger = logging.getLogger("gf2analytique")
-logconf.start("gf2analytique", logging.INFO)
+logconf.start("gf2analytique", logging.DEBUG)
+
+# # POUR TESTER, décommenter les lignes suivantes
+##-----------------------------------------------
+
+logger.warning("<<<<<<<<<<<<<<   Mode TEST   >>>>>>>>>>>>>>>>>")
+GfWebservice._url = r"http://webservices-t.bas-rhin.fr/CG67.AstreGF.WebServices/public/WsPDE.asmx"
+AnalytiqueDb._path = Path(r"\\h2o\local\4-transversal\BDD\mdb_test\Db_analytique.mdb")
+
+##-----------------------------------------------
+
+
 
 logger.info("Initialization")
 
@@ -176,18 +190,12 @@ class Facture():
     def _get_facture_id(self):
         sql = """SELECT dblFactureId FROM tbl_Factures
                     WHERE intExercice = {}
-                    AND strEnveloppe = '{}'
                     AND strLiquidation = '{}'
-                    AND strAxe = '{}'
-                    AND
-                      ((intLiquidationLigne = {} AND strCentreCout='{}')
-                      OR (intLiquidationLigne IS NULL))
+                    AND strEngagement = '{}'
+                    AND strService='7710'
                 """.format(self.numExBudget,
-                           self.numEnv,
                            self.numLiqMandat,
-                           self.codeAxe,
-                           self.numLigneMandat,
-                           self.codeCout)
+                           self.numMandat)
 
         factureId = analytique_db.first(sql).dblFactureId
         return factureId

+ 14 - 1
gf2factures.py

@@ -7,6 +7,8 @@ vers les tables de la base Analytique du Parc Départemental d'Erstein
 from datetime import datetime
 import logging
 
+from path import Path  # @UnusedImport
+
 from core import logconf
 from core.pde import FacturesDb
 from core.webservice import GfWebservice
@@ -15,6 +17,16 @@ from core.webservice import GfWebservice
 logger = logging.getLogger("gf2factures")
 logconf.start("gf2factures", logging.INFO)
 
+# # POUR TESTER, décommenter les lignes suivantes
+##-----------------------------------------------
+
+# logger.warning("Mode TEST")
+# GfWebservice._url = r"http://webservices-t.bas-rhin.fr/CG67.AstreGF.WebServices/public/WsPDE.asmx"
+# FacturesDb._path = Path(r"\\h2o\local\4-transversal\BDD\mdb_test\Facture_data.mdb")
+
+##-----------------------------------------------
+
+
 logger.info("Initialization")
 
 # Connect to factures.mdb
@@ -26,6 +38,7 @@ ws = GfWebservice("GetPDETitres")
 analysed = 0
 updated = 0
 
+logger.info("Mise à jour de FacturesDb")
 for titre in ws:
     if not titre:
         continue
@@ -45,7 +58,7 @@ for titre in ws:
         # already imported
         continue
 
-    logger.info("import: {}".format(titre["docId"]))
+    logger.info("Mise à jour de : {}".format(titre["docId"]))
 
     if memobs:
         memobs += "\r\n"

+ 2 - 2
logging.yaml

@@ -13,7 +13,7 @@ formatters:
 handlers:
     console:
         class: logging.StreamHandler
-        level: INFO
+        level: DEBUG
         formatter: message_only
         stream: ext://sys.stdout
     file:
@@ -30,7 +30,7 @@ handlers:
         formatter: complete
         mailhost: smtp.bas-rhin.fr
         fromaddr: log@bas-rhin.fr
-        toaddrs: [olivier.massot@bas-rhin.fr, jacky.klein@bas-rhin.fr]
+        toaddrs: [olivier.massot@bas-rhin.fr] #, jacky.klein@bas-rhin.fr
         subject: log
         capacity: 100000000
         

+ 22 - 1
mails_rappel_ctrl.py

@@ -9,14 +9,30 @@
 '''
 import logging
 
+from path import Path  # @UnusedImport
+
 from core import logconf
 from core.mail import Mail
 from core.pde import ControlesDb, RSCDIR
+from core.pde import mk_workdir  # @UnusedImport
 
 
 logger = logging.getLogger("mails_rappel_ctrl")
 logconf.start("mails_rappel_ctrl", logging.DEBUG)
 
+DEBUG = False
+wrkdir = ""
+
+# # POUR TESTER, décommenter les lignes suivantes
+##-----------------------------------------------
+
+# logger.warning("Mode TEST")
+# ControlesDb._path = Path(r"\\h2o\local\4-transversal\BDD\mdb_test\cg67Parc_data.mdb")
+# DEBUG = True
+# wrkdir = mk_workdir("mails_rappel_ctrl")
+
+##-----------------------------------------------
+
 # #     CONFIG
 
 # Nombre de jours à partir duquel les mails sont envoyés
@@ -80,6 +96,8 @@ qry = db.execute(sql)
 
 for row in qry:
     chantier_id, mail_to, stop_mails, a1, since = row
+    if DEBUG:
+        mail_to = "olivier.massot@bas-rhin.fr"
 
     if stop_mails:
         logger.info("X Chantier %s: l'envoi de mail est bloqué", chantier_id)
@@ -98,4 +116,7 @@ for row in qry:
                                date_status=since,
                                contact=CONTACT)
                                )
-    mail.send()
+    mail.send()
+
+    if DEBUG:
+        break

+ 2 - 2
pda2suiviactivite.py

@@ -27,8 +27,8 @@ logger.info("Initialization")
 ##-----------------------------------------------
 
 # logger.warning("Mode TEST")
-# PDA_FILES_DEST = Path(r"L:\4-transversal\BDD\mdb_test\PDA\Fichiers_PDA")
-# PdaDb._path = Path(r"L:\4-transversal\BDD\mdb_test\PDA\db_PDA.mdb")
+# PDA_FILES_DEST = Path(r"\\h2o\local\4-transversal\BDD\mdb_test\PDA\Fichiers_PDA")
+# PdaDb._path = Path(r"\\h2o\local\4-transversal\BDD\mdb_test\PDA\db_PDA.mdb")
 
 ##-----------------------------------------------