Outils pour utilisateurs

Outils du site


docs:dev:api:python:quickstart

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
docs:dev:api:python:quickstart [2024/02/27 15:44] floriandocs:dev:api:python:quickstart [2024/05/14 15:33] (Version actuelle) florian
Ligne 118: Ligne 118:
 === Insérer une ligne === === Insérer une ligne ===
  
 +On utilise la fonction ''dbgenericinsert()'' dont la signature est la suivante:
  
 +<code python>
 +def dbgenericinsert(usession, itbl, iflds, ivalues, dbtype = None):
 + """
 + Generic function to insert a record in a system table and get its primary key.
 +
 + > ret = db_common.dbgenericinsert(session, "test", ["fld1", "fld2", "fldx"], [1, 2, 'foo'])
 + Execute query : insert into test (fld1,fld2,fldx) values (1,2,'foo');  ret contains new generated ID
 +
 + :type usession: session
 + :param usession: NCHP Session
 + :type itbl: string
 + :param itbl: table to fetch
 + :type iflds: list
 + :param iflds: fields to put values in
 + :type ivalues: list
 + :param ivalues: Values to put in fields
 + :type dbtype: string
 + :param dbtype: database type
 +
 + :rtype: long
 + :return: new ID of record, or 0 if insert failed.
 + """
 +</code>
 +
 +Voici un exemple:
 +
 +<code python>
 +new_rsid = db_common.dbgenericinsert(
 + usession = gses,
 + itbl = "client",
 + iflds = ["CLIENT_NUMERO", "CLIENT_NOM"],
 + ivalues = ["123456", "Client 123456"]
 +)
 +
 +if new_rsid <= 0:
 + print("Error code :{}, error msg: {}".format(gses.db.db_errorcode, gses.db.db_errormsg))
 +
 +</code>
 +
 +Il est important de tester le retour afin de s'assurer que l'insertion a bien été faite et sinon
 +on peut récupérer le code d'erreur et le message retourné par la base de données via ''gses.db.db_errorcode'' et ''gses.db.db_errormsg''
 ==== Classe sql_db ==== ==== Classe sql_db ====
  
Ligne 142: Ligne 184:
 result = gses.db.query("SELECT * FROM societycache;") result = gses.db.query("SELECT * FROM societycache;")
  
-with result: +if result is not None: 
-    for row in result: + with result: 
-        print(row)+ for row in result: 
 + print(row)
 </code> </code>
  
Ligne 301: Ligne 344:
 </code> </code>
  
-==== Créer une nouvelle version d'un fichier ====+==== Obtenir les fichiers d'une fiche ==== 
 + 
 +Nous avons besoin d'importer le module suivant 
 +<code python> 
 +import docpak 
 +</code> 
 + 
 +Nous avons ensuite besoin de deux informations: 
 +  * Le nom de la table documentaire. 
 +  * L'identifiant d'enregistrement de la fiche. 
 + 
 +<code python> 
 +fichiers = docpak.getfilesforrsid(gses, "contratsm", 81) 
 + 
 +print(fichiers) 
 +
 +    ('D:\\nchp\\var\\nchp\\instance\\EMDOM\\DEFTSA\\00000013\\ed\\4d\\4RGETML2.pdf','contrat_4201.pdf'
 +
 +</code> 
 + 
 +Le même appel avec l'option moreinfo=True 
 +<code python> 
 +fichiers = docpak.getfilesforrsid(gses, "contratsm", 81) 
 + 
 +print(fichiers) 
 + 
 +[('D:\\nchp\\var\\nchp\\instance\\EMDOM\\DEFTSA\\00000013\\ed\\4d\\4RGETML2.pdf', 
 +  'contrat_4201.pdf',  
 +  22864L, #Identifiant du fichier 
 +  'ed4d2b8b04b3b1861a450b35210114c75ebae4dc', #Empreinte md160 du fichier 
 +  'application/pdf', #Type mime 
 +  1L #Rang du fichier 
 + ) 
 +
 + 
 +</code> 
 + 
 +===== Scripts COLD ===== 
 + 
 +==== Lire un fichier d'état (scriptfile) ==== 
  
docs/dev/api/python/quickstart.1709048665.txt.gz · Dernière modification : de florian