From 19d96e34d2bc87c31f27fd2dfb4a53e456a0d66d Mon Sep 17 00:00:00 2001
From: Rachid Aliouat <rachid.aliouat@univ-lille.fr>
Date: Sun, 24 Sep 2023 22:20:10 +0200
Subject: [PATCH] creer_portfolio - ajout note public depuis 856z

---
 gestion_des_portfolios/creer_portfolios.pl | 27 ++++++++++++++++++----
 1 file changed, 23 insertions(+), 4 deletions(-)

diff --git a/gestion_des_portfolios/creer_portfolios.pl b/gestion_des_portfolios/creer_portfolios.pl
index 0e23c8a..2ca0e96 100644
--- a/gestion_des_portfolios/creer_portfolios.pl
+++ b/gestion_des_portfolios/creer_portfolios.pl
@@ -8,13 +8,15 @@
 #	Le portfolio est créer selon le modéle du fichier modele-portfolio.xml : ce fichier contient 2 motifs à remplacer
 #	avant le post : [MMS_ID] et [URL]
 #	09-02-2023 : ajout cas csv multicolonne : le fichier csv peut avoir plusieurs colonne , c'est la 1er qui contient le mms_id
+#	25/09/2023 : ajout 856$z dans "note public"
 ##############################
 use strict;
 use warnings;
 use LWP::UserAgent; 	# bibliothèque pour les webservice
 use XML::Twig;			# bibliothèque pour le XML
 use URI::Encode qw(uri_encode uri_decode);; #encoder decoder les URL   - requiert la bibliotheque liburi-encode-perl
-
+use utf8;
+use Encode;
 
 my $nom_fic_csv="";
 my %hash_conf=();
@@ -102,10 +104,13 @@ for ($i;$i<=$#tab_inter;$i++) {
 		{ 
 				
 				my $tag = $un_datafield->{'att'}->{'tag'};
+				
 				if ($tag=="856") { # on est dans le bon datafield
 					print "\n##### 856 #######\n";
 					#print $un_datafield->sprint;
 					#print "\n############\n";
+					my $url="";
+					my $note_public="";
 					my @les_subfield= $un_datafield->children('subfield');  ### on récuperer une table de hash de tous les "enfants"
 					foreach my $un_subfield (@les_subfield)      # liste chaque datafield de la liste
 						{
@@ -113,12 +118,23 @@ for ($i;$i<=$#tab_inter;$i++) {
 						#print $code,"\n";
 						if ($code=~ /^u$/) { # on est dans le bon subfield
 							print "\n\t##### sous champ u #######\n";
-							print "\t".$un_subfield->text()."\n";
+							$url=$un_subfield->text();
+							#print "\t".$un_subfield->text()."\n";
+							print "\t".$url."\n";
 							
-							$tab_mms_id_url{"[".$mms_id."][".$un_subfield->text()."]"}++;
-							ecrire_log($mms_id,$un_subfield->text());
+							#$tab_mms_id_url{"[".$mms_id."][".$un_subfield->text()."]"}="";
+							$tab_mms_id_url{"[".$mms_id."][".$url."]"}="";
+							#ecrire_log($mms_id,$un_subfield->text());
+							ecrire_log($mms_id,$url);
 							$nbr_portfolios++;
 						}
+						if ($code=~ /^z$/) { # on est dans le bon subfield
+							print "\n\t##### sous champ z #######\n";
+							$note_public=$un_subfield->text();
+							print "\t".$note_public."\n";
+							$tab_mms_id_url{"[".$mms_id."][".$url."]"}=$note_public;
+							
+						}
 					}
 				}
 		}
@@ -194,16 +210,19 @@ print "######\n";
 
 my $c="";
 my $url="";
+my $note_public="";
 my $portfolio_a_creer="";
 foreach $c (sort keys %tab_mms_id_url) {
 	print $c,"\n";
 	$c=~/\[(.*)\]\[(.*)\]/;
 	$mms_id=$1;
 	$url=$2;
+	$note_public=Encode::encode_utf8 $tab_mms_id_url{$c};
 	print "--->Creation du portfolio $url pour le mms_id $mms_id:\n";
 	$portfolio_a_creer=$bloc_modele_portfolio;
 	$portfolio_a_creer=~ s/\[MMS_ID\]/$mms_id/g;
 	$portfolio_a_creer=~ s/\[URL\]/$url/g;
+	$portfolio_a_creer=~ s/\[NOTE_PUBLIC\]/$note_public/g; #ajout note public
 	#print "\n$portfolio_a_creer\n";
 	$block_xml=post_create_portfolio_mms_id($mms_id,$portfolio_a_creer);
 	print $block_xml,"\n";
-- 
GitLab