changeset 5:10333ba7d53a draft

planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/facturation_ibps commit 2f48d2b0d72cdd8f521ff4dee38590e91afc4bf8
author artbio
date Wed, 09 Jan 2019 13:16:44 -0500
parents ddc7b8073704
children 674eae0b423f
files facturation.py facturation.xml template_facture.xlsx template_facture_M_electronique.xlsx template_facture_M_photonique.xlsx test-data/Microscopie_Electronique-2018-67.html test-data/testfacture_electronique.xlsx
diffstat 7 files changed, 124 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/facturation.py	Thu Nov 22 07:55:53 2018 -0500
+++ b/facturation.py	Wed Jan 09 13:16:44 2019 -0500
@@ -15,11 +15,13 @@
                             help="input html code to convert to xlsx")
     the_parser.add_argument('--output', '-o', action='store', type=str,
                             help='xlsx converted file')
+    the_parser.add_argument('--template', '-t', action='store', type=str,
+                            help='xlsx template file')
     args = the_parser.parse_args()
     return args
 
 
-def main(input_file, output_file):
+def main(template, input_file, output_file):
     """Script de parsing des fichiers de facturation de l'IBPS"""
 
     # ouverture fichier input
@@ -64,7 +66,7 @@
 
     # ouverture fichier output
     facture_output = openpyxl.load_workbook(
-        'template_facture.xlsx', data_only=False, keep_vba=False)
+        template, data_only=False, keep_vba=False)
     ws = facture_output.worksheets[0]
 
     # rajout de l'image de SU qui ne survit pas à la conversion
@@ -105,4 +107,4 @@
 
 if __name__ == '__main__':
     args = Parser()
-    main(args.input, args.output)
+    main(args.template, args.input, args.output)
--- a/facturation.xml	Thu Nov 22 07:55:53 2018 -0500
+++ b/facturation.xml	Wed Jan 09 13:16:44 2019 -0500
@@ -1,4 +1,4 @@
-<tool id="facturation_ibps" name="IBPS facturation parser" version="0.3.3">
+<tool id="facturation_ibps" name="IBPS facturation parser" version="0.4">
     <description />
     <requirements>
             <requirement type="package" version="4.6.3=py27_0">beautifulsoup4</requirement>
@@ -10,11 +10,16 @@
     <command detect_errors="exit_code"><![CDATA[
         cp $__tool_directory__/template_* . &&
         python $__tool_directory__/facturation.py
+            -t $__tool_directory__/"$template"
             -i $input
             -o $output
     ]]></command>
     <inputs>
         <param format="data" label="Fichier html source" name="input" type="data" />
+      <param name="template" type="select" label="Service émetteur" help="Indiquer le service émetteur" >
+          <option value="template_facture_M_photonique.xlsx" >Microscopie Optique</option>
+          <option value="template_facture_M_electronique.xlsx" >Microscopie Electronique</option>
+      </param>
     </inputs>
     <outputs>
         <data format="xlsx" name="output" label="Facturation from ${input.name}" />
@@ -22,13 +27,20 @@
     <tests>
         <test>
             <param ftype="txt" name="input" value="doublefacture.htm" />
+            <param name="template" value="template_facture_M_photonique.xlsx" />
             <output file="testdouble.xlsx" name="output" decompress="true" />
         </test>
         <test>
             <param ftype="txt" name="input" value="facture.htm" />
+            <param name="template" value="template_facture_M_photonique.xlsx" />
             <output file="testfacture.xlsx" name="output" decompress="true" />
         </test>
-    </tests>
+         <test>
+            <param ftype="txt" name="input" value="Microscopie_Electronique-2018-67.html" />
+            <param name="template" value="template_facture_M_electronique.xlsx" />
+            <output file="testfacture_electronique.xlsx" name="output" decompress="true" />
+        </test>
+   </tests>
     <help>
 
 .. class:: infomark
Binary file template_facture.xlsx has changed
Binary file template_facture_M_electronique.xlsx has changed
Binary file template_facture_M_photonique.xlsx has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/Microscopie_Electronique-2018-67.html	Wed Jan 09 13:16:44 2019 -0500
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head><title>Appel à facturation</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta http-equiv="Content-Language" content="en-us" />
+<!--LIST-BASED MENUS WITHOUT IDs OR CLASSES ON THE LIST ELEMENTS-->
+<!-- tested in NN7, Opera, Firefox, IE6, IE5.5, IE5, on Windows and Safari and IE5 on Mac -->
+<!--this continues the horizontal menu demo-->
+<LINK rel=stylesheet TYPE="text/css" HREF="../pagedestyle.css">
+</head><body>
+<div class='blocun'><p class='titrefact'><img src ='../images/ibps.jpg'> IBPS - Institut de Biologie Paris Seine - FR3631</p><br><br>
+            					
+            					
+            					<table>
+								<tr><td align='left'> 
+  
+  <input type='button' value='Imprimer cette page' onClick='window.print()'>
+ 
+
+<form action='../envoi-melfacture/melpourfacture.php' method='post' >
+<input type='hidden' name='nom' value='G.Naudin'>
+<input type='hidden' name='idlabo' value='485'>
+<input type='hidden' name='unite' value='L&apos;Oréal-Département de physique et caracté'>
+<input type='hidden' name='mel' value=''>
+<input type='hidden' name='annee' value='2018'>
+<input type='hidden' name='numfact' value='67'>
+<input type='hidden' name='passe' value=''>
+<input type='hidden' name='login' value='G.Naudin'>
+<input type='hidden' name='prenom' value=''>
+<input type='submit' value='Envoyer le mail' /></form> 
+
+
+ <INPUT TYPE='button' VALUE='Retour'onClick='history.back()'>
+  
+ 						</td></tr></table><br><br>
+
+      
+    
+ 
+				<p class='soustitrefact'>&nbsp;Paris le 09-01-2019</p>
+				
+				<table class='tableauto'>
+						<tr><td>Adresse du client :&nbsp;L&apos;Oréal-Département de physique et caracté&nbsp;-&nbsp;G.Naudin<tr><td>Caractérisation - Lettre-accord C131378<tr><td>L&apos;Oréal Advance Research<tr><td>A avenue Eugène Schueller<tr><td>Batiment&nbsp;&nbsp;<tr><td>etage<tr><td>Aulnay sous Bois<tr><td>96160</td></tr></table><br><br>
+    
+			
+    		<p class='soustitrefact'>&nbsp;&nbsp;P&eacute;riode de la prestation  Octobre  Novembre  Decembre -2018 </p><br><br><p class='titrefact'>Service de Microscopie Electronique</p><p><table class='tablefact'>   
+   						
+  							<td class='tableautd'>Objet
+  							<td class='tableautd'>nombre(s) 
+      						<td class='tableautd'>cout s&eacute;ance *    						
+      						<td class='tableautd' >total 
+      						<tr><td>&nbsp;<tr>
+ 		<td  class='bordurequestionnaire'>&nbsp;Cryoplonge  11-2018
+ 		<td  class='centre'>2.00
+ 		<td  class='centre'>385.00&nbsp;&euro;
+ 		<td  class='centre'>700.00&nbsp;&euro;<tr>
+ 		<td  class='bordurequestionnaire'>&nbsp;ACE Leica - E-beam / Cryo  12-2018
+ 		<td  class='centre'>2.00
+ 		<td  class='centre'>190.00&nbsp;&euro;
+ 		<td  class='centre'>346.00&nbsp;&euro;<tr>
+ 		<td  class='bordurequestionnaire'>&nbsp;JEOL 2100 cryo - EFTEM  11-2018
+ 		<td  class='centre'>2.00
+ 		<td  class='centre'>225.00&nbsp;&euro;
+ 		<td  class='centre'>410.00&nbsp;&euro;<tr>
+ 		<td  class='bordurequestionnaire'>&nbsp;Ultracut UCT  10-2018
+ 		<td  class='centre'>1.00
+ 		<td  class='centre'>86.00&nbsp;&euro;
+ 		<td  class='centre'>78.00&nbsp;&euro;<tr>
+ 		<td  class='bordurequestionnaire'>&nbsp;Ultracut UCT  12-2018
+ 		<td  class='centre'>4.00
+ 		<td  class='centre'>86.00&nbsp;&euro;
+ 		<td  class='centre'>312.00&nbsp;&euro;<tr>
+ 		<td  class='bordurequestionnaire'>&nbsp;ZEISS GeminiSEM 500 CRYO  12-2018
+ 		<td  class='centre'>6.00
+ 		<td  class='centre'>251.00&nbsp;&euro;
+ 		<td  class='centre'>1368.00&nbsp;&euro;</td></tr></table><p><table class='tablefact'><tr><td class='bordurequestionnaire'>&nbsp;Sous total du relev&eacute; syst&egrave;me<td class='tableautdcenter'>3214&nbsp;&euro;</td><tr><td>&nbsp;<tr><td class='bordurequestionnaire'>&nbsp;Total HT du relev&eacute;<td class='tableautdcenter'>3214&nbsp;&euro;</td></td></tr></table></table><br><br> 
+ 
+ <table class='tablefact'><tr><td  class='centre'> Votre nouvel avoir est de 4574.00&nbsp;&euro;<tr><td class='centre'>Le total de votre facture est de 3214.00&nbsp;&euro; pas de r&eacute;duction sur ce forfait<tr><td  id='rouge'><center>Compte tenu de votre avoir vous n&apos;avez rien &agrave; r&eacute;gler le total HT est l&agrave; &agrave titre indicatif</center>
+ 
+</td></tr></table><br>
+        
+   <table class='tablefact'>
+      
+		 
+        <tr><td  class='bordurequestionnaire' id='rouge'>Total hors taxes sert au paiement interne<td class='tableautd' id='rouge'>3214.00&nbsp;&euro;
+        
+        <tr><td  class='bordurequestionnaire'> Total TTC <td class='tableautd'>3856.80&nbsp;&euro;
+        </tr></table> <h5>Ce document est un relevé et ne peut tenir lieu de facture.<br>
+Veuillez régulariser ce relevé en nous envoyant un bon de commande par mail à nadia.baghli@upmc.fr, soit par fax au 01 44 27 22 91<br><br><br><br><font color='blue'></font></h5><br>
+							<p class='soustitrefact' id='rouge'>R&eacute;f&eacute;rence interne du relev&eacute; :&nbsp; Microscopie Electronique-2018 / 67</p></td></tr></table><br><p class='soustitrefact'>					Utilisateurs de l&apos;&eacute;quipe : G.Naudin&nbsp;&nbsp;G.Naudin-follicule&nbsp;&nbsp;</p><br>
+        						
+       
+							<p class='soustitrefact'>* le cout de s&eacute;ance ne tient pas compte du tarif autonome si celui-ci existe
+							
+							</p><br><br> <br>					<table class='tablefactbordure'>
+								<tr><td class='centre'>  IBPS - Institut de Biologie Paris Seine - FR3631 <tr><td class='centre'>&nbsp;9 Quai St Bernard Bat B 7 étage Case 25&nbsp; 75252 Paris cedex 05 <tr><td class='centre'>&nbsp;Contact :Nadia Baghli&nbsp; Téléphone: 33-(0) 01 44 27 22 90 Fax: 33-(0) 01 44 27 22 91</td></tr></table><br><br>			
+ 
+ </body></html>
+   
+   
+   
+   
+   
+   
+   
\ No newline at end of file
Binary file test-data/testfacture_electronique.xlsx has changed