Jess reported an error in routine call - jess

i am new to JESS programming and i want to make a diagnostic desktop application. i followed the tax.clp from the book Jess in action. i adapted all the functions of the jess in action's book to my program. but i have a problem with my (defmodule interview). when i first run that module its works good, then i added the module recommend (defmodule recommandation) , when a run it again i have Jess reported an error in routine call.
This my .clp file
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; définition des differents templates
(deftemplate questions
(slot ident)
(slot type)
(slot texte))
(deftemplate reponses
(slot texte)
(slot ident))
(deftemplate diagnostique
(slot maladie)
(slot explication)
(slot traitement) )
;;vérifier si la reponse est bien oui ou non
(deffunction is-of-type (?answer ?type)
"Check that the answer has the right form"
(if (eq ?type yes-no) then
(return (or (eq ?answer yes) (eq ?answer no)))
else (if (eq ?type number) then
(return (numberp ?answer))))
else return(>(str-length ?answer) 0))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;poser une question et retourner une reponse
(deffunction ask-patient (?question ?type)
"Ask a question, and return the answer"
(bind ?answer "")
(while (not (is-of-type ?answer ?type)) do
(printout t ?question " ")
(if (eq ?type yes-no) then
(printout t "(yes or no) "))
(bind ?answer (read)))
(return ?answer))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; module de questionaire par l'identifiant de la question
(defmodule ask)
(defrule ask::ask-question-by-id
"Ask a question and assert the answer"
(declare (auto-focus TRUE))
;; If there is a question with ident ?id...
(MAIN::questions (ident ?id) (texte ?text) (type ?type))
;; ... and there is no answer for it
(not (MAIN::reponses (ident ?id)))
;; ... and the trigger fact for this question exists
?ask <- (MAIN::ask ?id)
=>
;; Ask the question
(bind ?answer (ask-patient ?text ?type))
;; Assert the answer as a fact
(assert (MAIN::reponses (ident ?id) (texte ?answer)))
;; Remove the trigger
(retract ?ask)
;; And finally, exit this module
(return))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;module de départ
(defmodule startup)
(defrule startup::print-banner
=>
(printout t "Type your name and press Enter> ")
(bind ?name (read))
(bind ?prenom (read))
(bind ?)
(printout t crlf "*****************************" crlf)
(printout t "Salut, " ?name " " ?prenom "." crlf)
(printout t "bienvenue sur l'application expert en pneumonie du departement P1 du CHU Ibn Sina" crlf)
(printout t "S'il vous plait veuillez repondre aux differentes questions" crlf)
(printout t " apres quoi vous aurez votre diagnostique" crlf)
(printout t "vous souffrer de." crlf)
(printout t "*****************************" crlf crlf))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(deffacts MAIN::question-data
"questions posée par le systeme"
(questions (ident poids) (type number)(texte "quel poids a-t-il?"))
(questions (ident age) (type number)(texte "quelle age a l'enfant?"))
(questions (ident symptome_majeur_1) (type yes-no)(texte "presente t-il des dyspnées sifflantes?"))
(questions (ident symptome_majeur_2) (type yes-no)(texte "presente t-il une toux chronique?"))
(questions (ident dypnée_brute) (type yes-no)(texte "la dyspnée est-elle brusque?"))
(questions (ident rale_sibilant) (type "yes-no")(texte "a-t-il des rales sibilants?"))
(questions (ident syndrome_penetration) (type yes-no)(texte "y a t-il eu syndrome de pénétration?"))
(questions (ident rales_sibilant_uni) (type yes-no)(texte "a t-il/elle des rales sibilants unilatéraux?"))
(questions (ident Rx_diff_clarte) (type yes-no)(texte "la radio du thorax presente t-elle une difference de clarté des deux champs pulmonaires?"))
(questions (ident Bronchioscopie) (type yes-no)(texte "la Bronchioscopie montre t-elle un corps étrangé?"))
(questions (ident o2_naissance) (type yes-no)(texte "a t-il/elle eu besoin de O2 à la naissance??"))
(questions (ident rales_sibilant_bi) (type yes-no)(texte "a t-il/elle des rales sibilants bilatéraux?"))
(questions (ident Rx_flou_multi_zone) (type yes-no)(texte "la radio du thorax presente t-elle des images floues multiples avec des zones hyperclaires?"))
(questions (ident TDM_thoracique_zone) (type yes-no)(texte "la radio du thorax presente t-elle des Zones hyper claires, multifocales, opacités linéaires et sous- pleurales?"))
(questions (ident vomissement) (type yes-no)(texte "l'enfant/nourisson a-t-il/elle des vomissement chroniques?"))
(questions (ident rales_ronflants) (type yes-no)(texte "presente -t-il/elle des rales ronflants?"))
(questions (ident Rx_foyer_pneumo_inhalation) (type yes-no)(texte "la Radio du thorax presente-t-elle des foyers de pneumopathies d'inhalaton?"))
(questions (ident PM_metrique) (type yes-no)(texte "son PM métrique est-il positif?"))
(questions (ident diarrhée_chronique) (type yes-no)(texte "fait-il/elle des diarrhées chroniques?"))
(questions (ident Rx_foyer_pneumopathie) (type yes-no)(texte "la Radio du thorax presente t-elle des foyers de pneumopathie?"))
(questions (ident test_sueur) (type yes-no)(texte "le test à la sueur est-il supérieur à 60mEq/l?"))
(questions (ident contage_tuberculeux) (type yes-no)(texte "a-t-il/elle été en contact avec un tuberculeux?"))
(questions (ident fievre) (type yes-no)(texte "a-t-il/elle de la fièvre?"))
(questions (ident amaigrissement) (type yes-no)(texte "a-t-il/elle maigris?"))
(questions (ident Rx_deviation_trachee) (type yes-no)(texte "la radio du thorax montre t-elle une déviation de la trachée?"))
(questions (ident caverne_tuberculeuse) (type yes-no)(texte "a-t-il/elle des caverne tuberculeuses?"))
(questions (ident IDR) (type yes-no)(texte "a-t-il/elle une IDR >15mm?"))
(questions (ident BK) (type yes-no)(texte "la recherche du bacille de kok dans les crachats est-elle positive?"))
(questions (ident gene_expert) (type yes-no)(texte "la recherche du gene expert est-elle positive?"))
(questions (ident pneumo_repetitive) (type yes-no)(texte "a-t-il/elle déja eu des pneumopathies répétitives?"))
(questions (ident retard_ponderal) (type yes-no)(texte "a-t-il/elle un retard structuropondéral"))
(questions (ident Rx_thymus) (type yes-no)(texte "la radio du thorax presente t-elle une absence de thymus?"))
(questions (ident NFS) (type yes-no)(texte "a-t-il/elle une NFS Lymphopénie, Hyperésinophilie?"))
(questions (ident VIH_test) (type yes-no)(texte "le test du VIH est-il positif?"))
(questions (ident Hyperésinophilie) (type yes-no)(texte "le patient a-t-il une Hyperésinophilie?"))
(questions (ident dosage_ig) (type yes-no)(texte "le Dosage pondéral des Ig est-il dimunié ?"))
(questions (ident sous-typage) (type yes-no)(texte "le Sous typage lymphocytaire a-t-il diminué?"))
(questions (ident episode_infection_viral_severe) (type yes-no)(texte "a-t-il/elle eu Épisode d’infection virale sévère au paravant?"))
(questions (ident interval_intercritique) (type yes-no)(texte "a-t-il/elle eu des Intervalle intercritique symptomatique?"))
(questions (ident Rx_trouble_ventilation) (type yes-no)(texte "la radio presente t-elle des trouble de ventricule?"))
(questions (ident TDM_thorax_verre_depoli) (type yes-no)(texte "la radio du thorax presente t-elle des aspect verre dépoli?"))
(questions (ident cyanose) (type yes-no)(texte "presente t-il/elle des cyanoses?"))
(questions (ident fatigabilite) (type yes-no)(texte "est-il/elle fatigué à l’effort ou lors des tétés?"))
(questions (ident echocoeur) (type yes-no)(texte "l'échocoeur est -elle positive?"))
(questions (ident souffle_cardiaque) (type yes-no)(texte "a-t-il/elle des souffles cardiaques)?"))
(questions (ident atopie_perso) (type yes-no)(texte "presente t-il/elle des atopies personneles?"))
(questions (ident atopie_famille) (type yes-no)(texte "presente t-il/elle des atopies familiale?"))
(questions (ident toux-noctune) (type yes-no)(texte "presente t-il/elle des atopies familiale?"))
(questions (ident Rx_distansion_thoracique) (type yes-no)(texte "la radio presente-t-elle des distension thoraciques?"))
(questions (ident rale_sibilant_bi_symetrique) (type yes-no)(texte "les rales sibilantes sont-elles symetriques?"))
(questions (ident EFR) (type yes-no)(texte "la EFR montre t-elle un syndrome d'obstruction?")))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;-------------------------------------module d'interview-----------------------
(defmodule interview)
(defrule questions_basique_1
=>
(assert (ask age)))
(defrule questions_basique_2
=>
(assert (ask poids)))
(defrule questions_basique_3
=>
(assert (ask symptome_majeur_1)))
(defrule questions_basique_4
=>
(assert (ask symptome_majeur_1)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;----------------------------corps étrangé---------------------------------------------------
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;questions pour le corps etrangé
(defrule request-dyspné_oui
;; si le patient a une dyspnée
(reponses (ident symptome_majeur_1) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;lui posée la question si elle est brute
(assert (ask dypnée_brute)))
(defrule request-dyspné_brute_oui
;; si le patient a une dyspnée brute
(reponses (ident dypnée_brute) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;poser la question sur syndrome de penetration
(assert (ask syndrome_penetration)))
(defrule request-syndrome_penetration_oui
;; si le patient a eu syndrome de pénétration
(reponses (ident syndrome_penetration) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;poser la quetion sur des rales sibilants unilatérauxé
(assert (ask rales_sibilant_uni)))
(defrule request-rales_sibilant_uni_oui
;; s'il a des rales sibilants unilatéreaux
(reponses (ident rales_sibilant_uni) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;faire une radio du thorax pour définir s'il ya difference de clarté
(assert (ask Rx_diff_clarte)))
(defrule request-Rx_diff_clarte_oui
;; s'il a des differences de clarté
(reponses (ident Rx_diff_clarte) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;faire une bronchoscopie
(assert (ask Bronchioscopie)))
;; fin du questionnaires corps etrnagé
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;---------------------------------broncodysplasie------------------------------
;;debut de questionnaire pour la broncodysplasie
(defrule request-dyspné_brute_non
;; si la dyspnée n'est pas brutal
(reponses (ident dypnée_brute) (texte ?i&:(eq (str-compare ?i no)0)))
=>
;;demander s'il eu des prolemes d'oxygene à la naissance
(assert (ask o2_naissance)))
(defrule request-o2_naissance
;; s'il a eu besoin d'oxygene à la naissance
(reponses (ident o2_naissance) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;demander s'il des rales sibilants bilatéraux
(assert (ask rales_sibilant_bi)))
(defrule request_rales_sibilant_bi_oui
;; s'il a des rales sibilantes bilatéraux
(reponses (ident rales_sibilant_bi) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;faire une Rx pour voir s'il ya plusieurs images floues et des zones hyperclaires
(assert (ask Rx_flou_multi_zone)))
(defrule request_Rx_flou_multi_zone_oui
;; s'il a des Rx flou
(reponses (ident Rx_flou_multi_zone) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;faire une Rx pour voir s'il ya plusieurs images floues et des zones hyperclaires
(assert (ask TDM_thoracique_zone)))
;;fin de questionnaires sur la bronchodysplasie
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;-----------------------------------------------RGO----------------------------
;;début de questionnaire sur les RGO
(defrule request-dyspné_brute_non_2
;; si la dyspnée n'est pas brutal
(reponses (ident dypnée_brute) (texte ?i&:(eq (str-compare ?i no)0)))
=>
;;demander s'il des vomissement, rales ronflants,sibiant bi
(assert (ask vomissement))
(assert (ask rales_ronflants))
(assert (ask rales_sibilant_bi)))
(defrule request_vomi_ronflant_sibilan_bi_oui
;; si des vomissement, rales ronflants,sibiant bi sont ok
(reponses (ident vomissement) (texte ?i&:(eq ?i yes)))
(reponses (ident rales_ronflants) (texte ?i&:(eq ?i yes)))
(reponses (ident rales_sibilant_bi) (texte ?i&:(eq ?i yes)))
=>
;;poser la question sur le PM metrique
(assert (ask Rx_foyer_pneumo_inhalation)))
(defrule request_Rx_foyer_pneumo_inhalation_oui
;; s'il a des foyer de pneumopathie d'inhalation à la Rx
(reponses (ident Rx_foyer_pneumo_inhalation) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;vérifier le pm metrique
(assert (ask PM_metrique)))
;; fin de questionnaire sur la RGO
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;------------------------------------mucovisidose------------------------------
;;début de questionnaires sur la mucovisidose
(defrule request-dyspné_brute_non_3
;; si la dyspnée n'est pas brutal
(reponses (ident dypnée_brute) (texte ?i&:(eq (str-compare ?i no)0)))
=>
;;demander s'il eu des diarrhées chroniques
(assert (ask diarrhée_chronique)))
(defrule request-diarrhée_chronique_oui
;; s'il a des diarrhées chroniques
(reponses (ident diarrhée_chronique) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;demander s'il eu des rales sibilant et ronflants
(assert (ask rales_sibilant_bi))
(assert (ask rales_ronflants)))
(defrule request-rale_ronflant_sibilant_oui
;; si des rales sibilant et ronflants oui
(reponses (ident rales_sibilant_bi) (texte ?i&:(eq (str-compare ?i yes)0)))
(reponses (ident rales_ronflants) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;demander s'il eu des foyer pneumatique à la radio
(assert (ask Rx_foyer_pneumopathie)))
(defrule request-Rx_foyer_pneumopathie_oui
;; si la Rx montre des foyeus de pneumopathie
(reponses (ident Rx_foyer_pneumopathie) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;demander s'il eu des prolemes d'oxygene à la naissance
(assert (ask test_sueur)))
;;fin de questionnaire sur la mucoviscidose
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;-------------------------------------------tuberculose pulmonaire-------------
;;debut de questionnaires sur tuberculose pulmonaire
(defrule request-dyspné_brute_non_4
;; si la dyspnée n'est pas brutal
(reponses (ident dypnée_brute) (texte ?i&:(eq (str-compare ?i no)0)))
=>
;;demander s'il eu un contact avec un tuberculeux
(assert (ask contage_tuberculeux)))
(defrule request-contage_tuberculeux_oui
;;s'il a été en contact avec un tuberculeux
(reponses (ident contage_tuberculeux) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;demander s'il eu des fievre, rale bi, amaigrissement, rx deviation trachee, caverne tuberculeux
(assert (ask fievre))
(assert (ask rales_sibilant_bi))
(assert (ask amaigrissement))
(assert (ask Rx_deviation_trachee))
(assert (ask caverne_tuberculeuse)))
(defrule request-fievre_ral_bi_amai_de_tra_tuber_oui
;; si les questions sont ok
(reponses (ident fievre) (texte ?i&:(eq (str-compare ?i yes)0)))
(reponses (ident rales_sibilant_bi) (texte ?i&:(eq (str-compare ?i yes)0)))
(reponses (ident amaigrissement) (texte ?i&:(eq (str-compare ?i yes)0)))
(reponses (ident Rx_deviation_trachee) (texte ?i&:(eq (str-compare ?i yes)0)))
(reponses (ident caverne_tuberculeuse) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;demander s'il eu des prolemes d'oxygene à la naissance
(assert (ask IDR))
(assert (ask BK))
(assert (ask gene_expert)))
;;fin de questionnaire tuberculose pulmonaire
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;-------------------------------------------------------déficite immunitaire --
;;début de déficite immunitaire
(defrule request-dyspné_brute_non_5
;; si la dyspnée n'est pas brutal
(reponses (ident dypnée_brute) (texte ?i&:(eq (str-compare ?i no)0)))
=>
;;demander s'il eu des pneumopathie à répétitions
(assert (ask pneumo_repetitive)))
(defrule request-pneumo_repetitive
;; s'il n'a pas de pneumopathie à répétition
(reponses (ident pneumo_repetitive) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;demander s'il eu des rale, et des ratard ponderaux
(assert (ask rale_sibilant))
(assert (ask rales_ronflants))
(assert (ask retard_ponderal)))
(defrule request-rale_si_ronflant_retard_oui
;; s'il a des pneumopathie à répétition
(reponses (ident rale_sibilant) (texte ?i&:(eq (str-compare ?i yes)0)))
(reponses (ident rales_ronflants) (texte ?i&:(eq (str-compare ?i yes)0)))
(reponses (ident retard_ponderal) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;demander s'il eu des foyers pneumopathie et de thymus
(assert (ask Rx_thymus))
(assert (ask Rx_foyer_pneumopathie)))
(defrule request-thymus_foyer_pneumo_oui
;; s'il a des pneumopathie à répétition
(reponses (ident Rx_thymus) (texte ?i&:(eq (str-compare ?i yes)0)))
(reponses (ident Rx_foyer_pneumopathie) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;demander s'il eu des foyers pneumopathie et de thymus
(assert (ask NFS))
(assert (ask VIH_test))
(assert (ask dosage_ig))
(assert (ask sous-typage))
(assert (ask Hyperésinophilie)))
;;fin de questionnaire sur déficite immunitaire
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;------------------------------------------------sequelle de virose------------
;;debut de questionnaire de sequel de virose
(defrule request-dyspné_brute_non_6
;; si la dyspnée n'est pas brutal
(reponses (ident dypnée_brute) (texte ?i&:(eq ?i no)))
=>
;;demander s'il eu des infections virale séveres et des intervales tritiques symptomatique
(assert (ask episode_infection_viral_severe))
(assert (ask interval_intercritique)))
(defrule request-episode_viral_interval_oui
;; si les apisode virale severes ont eu leux et des intervalles critiques symptomatiques
(reponses (ident episode_infection_viral_severe) (texte ?i&:(eq (str-compare ?i yes)0)))
(reponses (ident interval_intercritique) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;chercher sur la Rx s'il a des trouble de ventilation
(assert (ask Rx_trouble_ventilation)))
(defrule request-Rx_trouble_ventilation_oui
;; si la Rx ne presente pas de trouble ventilatoires
(reponses (ident Rx_trouble_ventilation) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;chercher sur la Rx s'il a des trouble de ventilation
(assert (ask TDM_thorax_verre_depoli)))
;;fin questionnaires de sequelle de virose
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;-----------------------------------------------cardiaopathie congénitale------
;;debut questionnaire cardiaopathie congénitale
(defrule request-dyspné_brute_non_7
;; si la dyspnée n'est pas brutal
(reponses (ident dypnée_brute) (texte ?i&:(eq (str-compare ?i no)0)))
=>
;;demander s'il eu des cyanoses et des fatigabilités lors des tétés
(assert (ask cyanose))
(assert (ask fatigabilite)))
(defrule request-cyanose_fatigue_oui
;; s'il eu des cyanoses et des fatigabilités lors des tétés
(reponses (ident cyanose) (texte ?i&:(eq (str-compare ?i yes)0)))
(reponses (ident fatigabilite) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;demander s'il a des souffles cardiaques
(assert (ask souffle_cardiaque)))
(defrule request-souffle_cardiaque_oui
;; s'il eu des souffles cardiaques
(reponses (ident souffle_cardiaque) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;demander s'il a des souffles cardiaques
(assert (ask echocoeur)))
;;fin de questionnaires de cardiapathie congénitale
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;--------------------------------------------asthme----------------------------
;;début questionnaire asthme
(defrule request-dyspné_brute_non_8
;; si la dyspnée n'est pas brutal
(reponses (ident dypnée_brute) (texte ?i&:(eq (str-compare ?i no)0)))
=>
;;demander s'il des atopies familiales ou personnelles et des toux nocturne
(assert (ask atopie_perso))
(assert (ask atopie_famille))
(assert (ask toux-noctune)))
(defrule request-atopies_toux_oui
;; s'-l/elle a des atopies familiales ou personneles avec des toux noctunes
(reponses (ident atopie_perso) (texte ?i&:(eq (str-compare ?i yes)0)))
(reponses (ident atopie_famille) (texte ?i&:(eq (str-compare ?i yes)0)))
(reponses (ident toux-noctune) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;demander s'il des rale sibilants bilatéraux
(assert (ask rale_sibilant_bi_symetrique)))
(defrule request-rale_sibilant_bi_symetrique_oui
;; s'-l/elle a des atopies familiales ou personneles avec des toux noctunes
(reponses (ident rale_sibilant_bi_symetrique) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;voir s'il a des distensions thoracique dans le Rx
(assert (ask Rx_distansion_thoracique)))
(defrule request-Rx_distansion_thoracique_oui
;; s'-l/elle a des atopies familiales ou personneles avec des toux noctunes
(reponses (ident Rx_distansion_thoracique) (texte ?i&:(eq (str-compare ?i yes)0)))
=>
;;voir s'il a des distensions thoracique dans le Rx
(assert (ask EFR)))
;; fin de l'interview
here is the error when i run module interview
Jess> (focus interview)
<== Focus MAIN
==> Focus interview
MAIN
Jess> (run)
FIRE 1 interview::questions_basique_2 f-0
==> f-55 (MAIN::ask poids)
==> Activation: ask::ask-question-by-id : f-4,, f-55
<== Focus interview
==> Focus ask
FIRE 2 ask::ask-question-by-id f-4,, f-55
quel poids a-t-il? 58
==> f-56 (MAIN::reponses (texte 58) (ident poids))
Jess reported an error in routine call
while executing (call ?n(0,0,-1) 2)
while executing (> (call ?n(0,0,-1) 2))
while executing rule LHS (TEQ)
while executing rule LHS (TECT)
while executing (assert (MAIN::reponses (texte ?answer) (ident ?id)))
while executing defrule ask::ask-question-by-id
while executing (run).
Message: No method named '2' found in class java.lang.Integer.
Program text: ( run ) at line 15.

Related

Html style not displayed on my Qweb Report

I got a Qweb Report on odoo11 that works perfectly ,but when i try adapting it on odoo12 the Html text loose it's style after adding [url.report ,http:/0.0.0.0:8069]
Here My Html field :
CGV_field = fields.Html(string="CGV", default=
"""<div><b>EXEMPLE DE CONDITIONS GENERALES DE VENTE</b></div>
<div><b><br>\n</b></div>
<b>Article 1 – Objet</b>
<br>
<p>Les présentes conditions régissent les ventes par la société (catégories ou nature des produits commercialisés par le site Internet).</p>
<br>
<b>Article 2 – Prix</b>
<br>
<p>Les prix de nos produits sont indiqués en Dinars toutes taxes comprises (TVA et autres taxes applicables au jour de la commande), sauf
indication contraire et hors frais de traitement et d’expédition.
Toutes les commandes quelle que soit leur origine sont payables en dinars.
La société se réserve le droit de modifier ses prix à tout moment, mais le produit sera facturé sur la base du tarif en vigueur au moment de la
validation de la commande et sous réserve de disponibilité.
Les produits demeurent la propriété de la société jusqu’au paiement complet du prix.
Attention : dès que vous prenez possession physiquement des produits commandés, les risques de perte ou d’endommagement des
produits vous sont transférés.</p>"""
Calling it on xml report :
<template id="report_cgv_account">
<t t-call="web.html_container">
<t t-foreach="docs" t-as="o">
<t t-call="elosys_cgv_in_report.internal_layout_cgv_o">
<div class="page">
<div class="oe_structure"/>
<div class="row" style="margin-left:10px;margin-right:10px;">
<span style=" margin-left:10px;margin-right:10px;" t-raw="o.company_id.CGV_field"/>
</div>
</div>
</t>
</t>
</t>
</template>
what it's supposed to show :
What i've got :
The System parameters key is report.url not url.report.
I've found the answer if any of you wish to know :
just add <![CDATA[ ]]> before <span>

sed remove anchor from text on specific href

I need to remove anchor in an HTML file, but only those with href containing todaycycling.com/tag.
What I do have:
<strong>Un Allemand peut en cacher un autre. Après Marcel Kittel, c\'est André Greipel qui a imposé sa pointe de vitesse à l\'issue de la cinquième étape du Tour d\'Italie. Dans une arrivée en faux plat montant, le sprinteur de la formation Lotto Soudal a produit un intense effort pour aller chercher la victoire devant Arnaud Démare (FDJ), encore deuxième, et Sonny Colbrelli (Bardiani-CSF).
What I am willing to have:
<strong>Un Allemand peut en cacher un autre. Après Marcel Kittel, c\'est André Greipel qui a imposé sa pointe de vitesse à l\'issue de la cinquième étape du Tour d\'Italie. Dans une arrivée en faux plat montant, le sprinteur de la formation Lotto Soudal a produit un intense effort pour aller chercher la victoire devant Arnaud Démare (FDJ), encore deuxième, et Sonny Colbrelli (Bardiani-CSF).
What I have tried so far:
sed 's|<a [^>]*todaycycling\.com\/tag\/[^>]*>\([^>]*\)</a>|\1|Ig' old.html > new.html
You were really close from the result, you can use the following sed command for this purpose:
sed 's#<a\s\+href\s*=\s*\\"http://todaycycling\.com/[^>]*>\([^<]*\)</a>#\1#g' tourDeFrance.txt
output:
<strong>Un Allemand peut en cacher un autre. Après Marcel Kittel, c\'est André Greipel qui a imposé sa pointe de vitesse à l\'issue de la cinquième étape du Tour d\'Italie. Dans une arrivée en faux plat montant, le sprinteur de la formation Lotto Soudal a produit un intense effort pour aller chercher la victoire devant Arnaud Démare (FDJ), encore deuxième, et Sonny Colbrelli (Bardiani-CSF).

Invalid JSON parse in AS3. Don't understand why

My AS3 goes search in my database the infos and displays it in Flash.
Don't know why but sometimes I've got this error :
SyntaxError: Error #1132: Invalid JSON parse input.
at JSON$/parseCore()
at JSON$/parse()
at CineNC3Android_fla::MainTimeline/complete()[CineNC3Android_fla.MainTimeline::frame2:153]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()
I'm pretty sure it's due to special character as when I'm deleting lines in my database, it works (as the data is changing every week, I don't know which line are bad, so I have to manually delete each one of them one by one in order to find the error..)
I'd like to understand this error in order to be able to find more quickly what's causing it.
Coud you help me ?
I've exported my database to my desktop in JSON format in order to copy it and paste it here on this forum :
Can you tell me if you see something that could cause this error please ? it drives me crazy.
/**
Export to JSON plugin for PHPMyAdmin
#version 0.1
*/
// Database 'broussefolie'
// broussefolie.moviedetail_savedToday
[{"id":"1020","movieid":"40567","theTitle":"SOS FANTOMES","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/sos_fantome2.jpg","moviehour":"14:15 - 17:10 - 20:10","trailer":"gmeVnCwrc9c","actorlist":"Réalisé par Paul Feig\navec Melissa McCarthy, Kristen Wiig, Kate McKinnon","movielength":"117 mn","story":"S.O.S. FANTOMES est de retour, revisite et dynamise avec un casting feminin et de tout nouveaux personnages plus hilarants les uns que les autres. Trente ans apres le raz-de-maree planetaire du premier film, le realisateur Paul Feig nous offre sa vision rafraichissante et ultra vitaminee de la comedie surnaturelle, avec la complicite de certaines des personnalites les plus droles du cinema actuel : Melissa McCarthy, Kristen Wiig, Kate McKinnon, Leslie Jones et Chris Hemsworth. Les fantomes n ont qu a bien se tenir !"}, {"id":"1021","movieid":"40564","theTitle":"ELLE","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/elle_reduit.jpg","moviehour":"20h30","trailer":"YqGJtnKZ2vs","actorlist":"Réalisé par Paul Verhoeven\navec Isabelle Huppert, Laurent Lafitte, Anne Consigny","movielength":"130 mn","story":"Michele fait partie de ces femmes que rien ne semble atteindre. A la tete dune grande entreprise de jeux video, elle gere ses affaires comme sa vie sentimentale : dune main de fer. Sa vie bascule lorsquelle est agressee chez elle par un mysterieux inconnu. Inebranlable, Michele se met a le traquer en retour. Un jeu etrange sinstalle alors entre eux. Un jeu qui, a tout instant, peut degenerer."}, {"id":"1022","movieid":"40565","theTitle":"SUICIDE SQUAD","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/suicide_squad_reduit.jpg","moviehour":"14h10 - 17h35 - 20h40","trailer":"XfboDbU3xnA","actorlist":"Réalisé par David Ayer\navec Margot Robbie, Will Smith, Jared Leto","movielength":"130 mn","story":"C est tellement jouissif d etre un salopard ! Face a une menace aussi enigmatique qu invincible, l agent secret Amanda Waller reunit une armada de crapules de la pire espece. Armes jusqu aux dents par le gouvernement, ces Super-Mechants s embarquent alors pour une mission-suicide. Jusqu au moment ou ils comprennent qu ils ont ete sacrifies. Vont-ils accepter leur sort ou se rebeller"}, {"id":"1023","movieid":"40555","theTitle":"INDEPENDANCE DAY 2 RESURGENCE\u00a0","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/independance_day_2_reduit.jpg","moviehour":"20h35","trailer":"b577i7s2CiM","actorlist":"Réalisé par Roland Emmerich\navec Liam Hemsworth, Jeff Goldblum, Bill Pullman","movielength":"121 mn","story":"Nous avons toujours su qu ils reviendraient. La terre est menacee par une catastrophe d une ampleur inimaginable. Pour la proteger, toutes les nations ont collabore autour d un programme de defense colossal exploitant la technologie extraterrestre recuperee. Mais rien ne peut nous preparer a la force de frappe sans precedent des aliens. Seule l ingeniosite et le courage de quelques hommes et femmes peuvent sauver l humanite de l extinction."}, {"id":"1024","movieid":"40548","theTitle":"CONJURING 2 ","movieimage":"http:\/\/www.cinecity.nc\/images\/AFFICHES\/conjuring-2_reduit.jpg","moviehour":"13h45 - 20h25","trailer":"Y3kNhv0Nm_g","actorlist":"Réalisé par James Wan avec Vera Farmiga, Patrick Wilson, Frances O'Connor","movielength":"134 mn","story":"Une nouvelle histoire vraie issue des dossiers d'Ed et Lorraine Warren : l'une de leurs enquêtes les plus traumatisantes.<br\/><br\/>Lorraine et Ed Warren se rendent dans le nord de Londres pour venir en aide à une mère qui élève seule ses quatre enfants dans une maison hantée par des esprits maléfiques. Il s'agira d'une de leurs enquêtes paranormales les plus terrifiantes"}, {"id":"1025","movieid":"40560","theTitle":"INSAISISSABLES 2","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/insaisissables_2_reduit.jpg","moviehour":" 17h25 - 20h15","trailer":"0iGn57DVJIc","actorlist":"Réalisé par Jon M. Chu\navec Jesse Eisenberg, Mark Ruffalo, Woody Harrelson","movielength":"125 mn","story":"Un an apres avoir surpasse le FBI et acquis l admiration du grand public grace a leurs tours exceptionnels, les 4 Cavaliers reviennent ! Pour leur retour sur le devant de la scene, ils vont denoncer les methodes peu orthodoxes d un magnat de la technologie a la tete d une vaste organisation criminelle. Ils ignorent que cet homme d affaire, Walter Marbrya une longueur d avance sur eux, et les conduit dans un piege : il veut que les magiciens braquent l un des systemes informatiques les plus securises du monde. Pour sortir de ce chantage et dejouer les plans de ce syndicat du crime, ils vont devoir elaborer le braquage le plus spectaculaire jamais concu."}, {"id":"1026","movieid":"40551","theTitle":"DE GLACE 5 : LES LOIS DE L'UNIVERS \u00a0","movieimage":"http:\/\/www.cinecity.nc\/images\/AFFICHES\/l_age_de_glac_loi_de_l_univers_reduit.jpg","moviehour":" 13h30 - 15h50 - 17h20 - 20h55","trailer":"9v44tabqvoo","actorlist":"Réalisé par Mike Thurmeier, Galen T. Chu avec Ray Romano, Simon Pegg, John Leguizamo","movielength":"95 mn","story":"La quête permanente de Scrat pour attraper son insaisissable noisette le catapulte dans l'espace, où il déclenche accidentellement une série d'événements cosmiques qui vont transformer et menacer le monde de l'Âge de Glace. Pour sauver leur peau, Sid, Manny, Diego et le reste de la bande vont devoir quitter leur foyer et embarquer dans une nouvelle aventure pleine de comédie, parcourant de nouvelles terres exotiques et rencontrant une galerie de parsonnages hauts en couleur."}, {"id":"1027","movieid":"40556","theTitle":"LE BGG - LE BON GROS GEANT \u00a0","movieimage":"http:\/\/www.cinecity.nc\/images\/AFFICHES\/le_bon_gros_geant_reduit.jpg","moviehour":"14h20 ","trailer":"aiUo4MCHWBA","actorlist":"Réalisé par Steven Spielberg avec Dany Boon, Mark Rylance, Ruby Barnhill","movielength":"117 mn","story":"Le Bon Gros Géant ne ressemble pas du tout aux autres habitants du Pays des Géants. Il mesure plus de 7 mètres de haut et possède de grandes oreilles et un odorat très fin. Il n'est pas très malin mais tout à fait adorable, et assez secret. Les géants comme le Buveur de sang et l'Avaleur de chair fraîche, sont deux fois plus grands que lui et aux moins deux fois plus effrayants, et en plus, ils mangent les humains. Le BGG, lui, préfère les schnockombres et la frambouille. À son arrivée au Pays des Géants, la petite Sophie, une enfant précoce de 10 ans qui habite Londres, a d'abord peur de ce mystérieux géant qui l'a emmenée dans sa grotte, mais elle va..."}, {"id":"1028","movieid":"40541","theTitle":"LE MONDE DE DORY ","movieimage":"http:\/\/www.cinecity.nc\/images\/AFFICHES\/le_monde_de_dory_reduit.jpg","moviehour":"13h35 - 15h50 - 18h10","trailer":"yE3VBMHFQQs","actorlist":"Réalisé par Andrew Stanton, Angus MacLane avec Franck Dubosc, Kev Adams, Philippe Lellouche","movielength":"95 mn","story":"Dory, le poisson chirurgien bleu amnésique, retrouve ses amis Nemo et Marlin. Tous trois se lancent à la recherche du passé de Dory. Pourra-t-elle retrouver ses souvenirs ? Qui sont ses parents ? Et où a-t-elle bien pu apprendre à parler la langue des baleines ?"}, {"id":"1029","movieid":"40546","theTitle":"NINJA TURTLES 2 ","movieimage":"http:\/\/www.cinecity.nc\/images\/AFFICHES\/ninja_turtles_2_reduit.jpg","moviehour":"14h15","trailer":"rAkDlbyPuDg","actorlist":"Réalisé par Dave Green avec Megan Fox, Stephen Amell, Noel Fisher","movielength":"112 mn","story":"Michelangelo, Donatello, Leonardo et Raphael sont de retour pour affronter des méchants toujours plus forts et impressionnants, aux côtés d'April O'Neil, Vern Fenwick et d'un nouveau venu, le justicier masqué hockeyeur Casey Jones. Après son évasion de prison, Shredder associe ses forces à celles d'un savant fou Baxter Stockman et de deux hommes de main aussi bêtes que costauds, Bebop & Rocksteady. Leur objectif : lancer un plan diabolique pour régner sur le monde entier ! Alors que les Ninja Turtles s'apprêtent à défier Shredder et son nouveau gang, ils doivent rapidement faire face à une menace tout aussi grande : le célèbre Krang !"}, {"id":"1030","movieid":"40571","theTitle":"PETER ET ELLIOT LE DRAGON","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/peter_elliott.jpg","moviehour":"13h50 - 16h15 - 20h00","trailer":"yW9MTo17N9w","actorlist":"Réalisé par David Lowery\navec Oakes Fegley, Bryce Dallas Howard, Robert Redford","movielength":"103 mn","story":"Depuis de longues annees, M. Meacham, un vieux sculpteur sur bois, regale les enfants du coin avec ses histoires sur un feroce dragon qui vivrait au plus profond de la foret voisine. Pour sa fille Grace, garde forestiere de son etat, tout ceci n est que contes a dormir debout\u2026 jusqu au jour ou elle fait connaissance avec Peter. Ce mysterieux petit garcon de 10 ans - qui dit n avoir ni famille ni foyer - assure qu il vit dans les bois avec un dragon geant baptise Elliott. Et la description qu il en fait correspond etonnamment a celui dont parle son pere\u2026 Avec l aide de la jeune Natalie - la fille de Jack, le proprietaire de la scierie -, Grace va tout mettre en oeuvre pour decouvrir qui est vraiment Peter, d ou il vient, et percer le secret de son incroyable histoire\u2026"}, {"id":"1031","movieid":"40559","theTitle":"COMME DES BETES","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/comme_des_betes_reduit.jpg","moviehour":" 13h40 - 16h00 - 18h15","trailer":"CcPNAD-P1Eo","actorlist":"Réalisé par Yarrow Cheney, Chris Renaud\navec Philippe Lacheau, Fran\u00e7ois Damiens, Willy Rovelli","movielength":"87 mn","story":"La vie secrete que menent nos animaux domestiques une fois que nous les laissons seuls a la maison pour partir au travail ou a l ecole."}, {"id":"1032","movieid":"40554","theTitle":"TARZAN ","movieimage":"http:\/\/www.cinecity.nc\/images\/AFFICHES\/tarzan_reduit.jpg","moviehour":"17h50","trailer":"PGBDdZJbC5A","actorlist":"Réalisé par David Yates avec Alexander Skarsg\u00c3\u00a5rd, Margot Robbie, Christoph Waltz","movielength":"110 mn","story":"Après avoir grandi dans la jungle africaine, Tarzan a renoué avec ses origines aristocratiques, répondant désormais au nom de John Clayton, Lord Greystoke. Il mène une vie paisible auprès de son épouse Jane jusqu'au jour où il est convié au Congo en tant qu'émissaire du Commerce. Mais il est loin de se douter du piège qui l'attend. Car le redoutable belge Leon Rom est bien décidé à l'utiliser pour assouvir sa soif de vengeance et sa cupidité"}, {"id":"1033","movieid":"40537","theTitle":"WARCRAFT : LE COMMENCEMENT ","movieimage":"http:\/\/www.cinecity.nc\/images\/AFFICHES\/warcraft_reduit.jpg","moviehour":"20h35","trailer":"InBV7RggnYQ","actorlist":"Réalisé par Duncan Jones avec Travis Fimmel, Toby Kebbell, Paula Patton","movielength":"124 mn","story":"Le pacifique royaume d'Azeroth est au bord de la guerre alors que sa civilisation doit faire face à une redoutable race d'envahisseurs: des guerriers Orcs fuyant leur monde moribond pour en coloniser un autre. Alors qu'un portail s'ouvre pour connecter les deux mondes, une armée fait face à la destruction et l'autre à l'extinction. De côtés opposés, deux héros vont s'affronter et décider du sort de leur famille, de leur peuple et de leur patrie."}, {"id":"1034","movieid":"40570","theTitle":"STAR TREK SANS LIMITES","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/star_trek_ss_limites.jpg","moviehour":"14h00 - 17h40 - 20h30","trailer":"Y5GLGwOQDbs","actorlist":"Réalisé par Justin Lin\navec Chris Pine, Zachary Quinto, Simon Pegg","movielength":"123 mn","story":"Une aventure toujours plus epique de l USS Enterprise et de son audacieux equipage. L equipe explore les confins inexplores de l espace, faisant face chacun, comme la Federation toute entiere, a une nouvelle menace."}, {"id":"1035","movieid":"40558","theTitle":"AMERICAN NIGHTMARE 3 ELECTIONS","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/American_Nighmare_3_reduit.jpg","moviehour":"13h55 - 18h00 - 20h50","trailer":"VJA8JxvjTj0","actorlist":"Réalisé par James DeMonaco\navec Frank Grillo, Elizabeth Mitchell, Mykelti Williamson","movielength":"105 mn","story":"Une senatrice americaine se lance dans la course a l election presidentielle en proposant l arret total de la Purge annuelle. Ses opposants profitent alors d une nouvelle edition de cette journee ou tous les crimes sont permis pour la traquer et la tuer..."}, {"id":"1036","movieid":"40568","theTitle":"JASON BOURNE","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/jason_bourne.jpg","moviehour":"14h05 - 17h15 - 20h05","trailer":"euya1zwQ6U0","actorlist":"Réalisé par Greengrass\navec Matt Damon, Tommy Lee Jones, Alicia Vikander","movielength":"124 mn","story":"La traque de Jason Bourne par les services secrets americains se poursuit. Des iles Canaries a Londres en passant par Las Vegas..."}, {"id":"1037","movieid":"40569","theTitle":"FOLLES DE JOIE","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/folles_joie.jpg","moviehour":"17h45","trailer":"IDPx5xKcvyY","actorlist":"Réalisé par Paolo Virz\u00ec\navec Valeria Bruni Tedeschi, Micaela Ramazzotti, Bob Messini\nCom\u00e9die dramatique - Italie - 2016 - 118 mn - Tous publics - V","movielength":"118 mn","story":"Beatrice est une mythomane bavarde au comportement excessif. Donatella est une jeune femme tatouee, fragile et introvertie. Ces deux patientes de la Villa Biondi, une institution therapeutique pour femmes sujettes a des troubles mentaux, se lient d amitie. Une apres-midi, elles decident de s enfuir bien decidees a trouver un peu de bonheur dans cet asile de fous a ciel ouvert qu est le monde des gens \u00ab sains\u00bb."}]
The JSON file is downloadable here if it's not readable on this forum :
https://drive.google.com/file/d/0B5-MjJcEPm3lUHpDWTIxb0NmR1k/view?usp=sharing
EDIT
The thing, I don't have a JSON file. I export it in order to show you but in my AS3, the data are directly taken from my database. My code is doing so :
var urlReqSearchAll: URLRequest = new URLRequest("http://www.brousse-en-folie.com/cinenc/searchMovie4.php");
var loader5:URLLoader = new URLLoader(); searchAll(); function searchAll():void {
if (contains(list)){
list.removeChildren();
}
loading.visible=true;
urlReqSearchAll.method = URLRequestMethod.POST;
loader5.load(urlReqSearchAll);
loader5.addEventListener(Event.COMPLETE,complete);
}
function complete(e:Event):void {
loading.visible=false;
addChild(list);
products = JSON.parse(loader5.data) as Array;
}
Your JSON string without commented header is parsed OK:
test.json file
[{"id":"1020","movieid":"40567","theTitle":"SOS FANTOMES","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/sos_fantome2.jpg","moviehour":"14:15 - 17:10 - 20:10","trailer":"gmeVnCwrc9c","actorlist":"Réalisé par Paul Feig\navec Melissa McCarthy, Kristen Wiig, Kate McKinnon","movielength":"117 mn","story":"S.O.S. FANTOMES est de retour, revisite et dynamise avec un casting feminin et de tout nouveaux personnages plus hilarants les uns que les autres. Trente ans apres le raz-de-maree planetaire du premier film, le realisateur Paul Feig nous offre sa vision rafraichissante et ultra vitaminee de la comedie surnaturelle, avec la complicite de certaines des personnalites les plus droles du cinema actuel : Melissa McCarthy, Kristen Wiig, Kate McKinnon, Leslie Jones et Chris Hemsworth. Les fantomes n ont qu a bien se tenir !"}, {"id":"1021","movieid":"40564","theTitle":"ELLE","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/elle_reduit.jpg","moviehour":"20h30","trailer":"YqGJtnKZ2vs","actorlist":"Réalisé par Paul Verhoeven\navec Isabelle Huppert, Laurent Lafitte, Anne Consigny","movielength":"130 mn","story":"Michele fait partie de ces femmes que rien ne semble atteindre. A la tete dune grande entreprise de jeux video, elle gere ses affaires comme sa vie sentimentale : dune main de fer. Sa vie bascule lorsquelle est agressee chez elle par un mysterieux inconnu. Inebranlable, Michele se met a le traquer en retour. Un jeu etrange sinstalle alors entre eux. Un jeu qui, a tout instant, peut degenerer."}, {"id":"1022","movieid":"40565","theTitle":"SUICIDE SQUAD","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/suicide_squad_reduit.jpg","moviehour":"14h10 - 17h35 - 20h40","trailer":"XfboDbU3xnA","actorlist":"Réalisé par David Ayer\navec Margot Robbie, Will Smith, Jared Leto","movielength":"130 mn","story":"C est tellement jouissif d etre un salopard ! Face a une menace aussi enigmatique qu invincible, l agent secret Amanda Waller reunit une armada de crapules de la pire espece. Armes jusqu aux dents par le gouvernement, ces Super-Mechants s embarquent alors pour une mission-suicide. Jusqu au moment ou ils comprennent qu ils ont ete sacrifies. Vont-ils accepter leur sort ou se rebeller"}, {"id":"1023","movieid":"40555","theTitle":"INDEPENDANCE DAY 2 RESURGENCE\u00a0","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/independance_day_2_reduit.jpg","moviehour":"20h35","trailer":"b577i7s2CiM","actorlist":"Réalisé par Roland Emmerich\navec Liam Hemsworth, Jeff Goldblum, Bill Pullman","movielength":"121 mn","story":"Nous avons toujours su qu ils reviendraient. La terre est menacee par une catastrophe d une ampleur inimaginable. Pour la proteger, toutes les nations ont collabore autour d un programme de defense colossal exploitant la technologie extraterrestre recuperee. Mais rien ne peut nous preparer a la force de frappe sans precedent des aliens. Seule l ingeniosite et le courage de quelques hommes et femmes peuvent sauver l humanite de l extinction."}, {"id":"1024","movieid":"40548","theTitle":"CONJURING 2 ","movieimage":"http:\/\/www.cinecity.nc\/images\/AFFICHES\/conjuring-2_reduit.jpg","moviehour":"13h45 - 20h25","trailer":"Y3kNhv0Nm_g","actorlist":"Réalisé par James Wan avec Vera Farmiga, Patrick Wilson, Frances O'Connor","movielength":"134 mn","story":"Une nouvelle histoire vraie issue des dossiers d'Ed et Lorraine Warren : l'une de leurs enquêtes les plus traumatisantes.<br\/><br\/>Lorraine et Ed Warren se rendent dans le nord de Londres pour venir en aide à une mère qui élève seule ses quatre enfants dans une maison hantée par des esprits maléfiques. Il s'agira d'une de leurs enquêtes paranormales les plus terrifiantes"}, {"id":"1025","movieid":"40560","theTitle":"INSAISISSABLES 2","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/insaisissables_2_reduit.jpg","moviehour":" 17h25 - 20h15","trailer":"0iGn57DVJIc","actorlist":"Réalisé par Jon M. Chu\navec Jesse Eisenberg, Mark Ruffalo, Woody Harrelson","movielength":"125 mn","story":"Un an apres avoir surpasse le FBI et acquis l admiration du grand public grace a leurs tours exceptionnels, les 4 Cavaliers reviennent ! Pour leur retour sur le devant de la scene, ils vont denoncer les methodes peu orthodoxes d un magnat de la technologie a la tete d une vaste organisation criminelle. Ils ignorent que cet homme d affaire, Walter Marbrya une longueur d avance sur eux, et les conduit dans un piege : il veut que les magiciens braquent l un des systemes informatiques les plus securises du monde. Pour sortir de ce chantage et dejouer les plans de ce syndicat du crime, ils vont devoir elaborer le braquage le plus spectaculaire jamais concu."}, {"id":"1026","movieid":"40551","theTitle":"DE GLACE 5 : LES LOIS DE L'UNIVERS \u00a0","movieimage":"http:\/\/www.cinecity.nc\/images\/AFFICHES\/l_age_de_glac_loi_de_l_univers_reduit.jpg","moviehour":" 13h30 - 15h50 - 17h20 - 20h55","trailer":"9v44tabqvoo","actorlist":"Réalisé par Mike Thurmeier, Galen T. Chu avec Ray Romano, Simon Pegg, John Leguizamo","movielength":"95 mn","story":"La quête permanente de Scrat pour attraper son insaisissable noisette le catapulte dans l'espace, où il déclenche accidentellement une série d'événements cosmiques qui vont transformer et menacer le monde de l'Âge de Glace. Pour sauver leur peau, Sid, Manny, Diego et le reste de la bande vont devoir quitter leur foyer et embarquer dans une nouvelle aventure pleine de comédie, parcourant de nouvelles terres exotiques et rencontrant une galerie de parsonnages hauts en couleur."}, {"id":"1027","movieid":"40556","theTitle":"LE BGG - LE BON GROS GEANT \u00a0","movieimage":"http:\/\/www.cinecity.nc\/images\/AFFICHES\/le_bon_gros_geant_reduit.jpg","moviehour":"14h20 ","trailer":"aiUo4MCHWBA","actorlist":"Réalisé par Steven Spielberg avec Dany Boon, Mark Rylance, Ruby Barnhill","movielength":"117 mn","story":"Le Bon Gros Géant ne ressemble pas du tout aux autres habitants du Pays des Géants. Il mesure plus de 7 mètres de haut et possède de grandes oreilles et un odorat très fin. Il n'est pas très malin mais tout à fait adorable, et assez secret. Les géants comme le Buveur de sang et l'Avaleur de chair fraîche, sont deux fois plus grands que lui et aux moins deux fois plus effrayants, et en plus, ils mangent les humains. Le BGG, lui, préfère les schnockombres et la frambouille. À son arrivée au Pays des Géants, la petite Sophie, une enfant précoce de 10 ans qui habite Londres, a d'abord peur de ce mystérieux géant qui l'a emmenée dans sa grotte, mais elle va..."}, {"id":"1028","movieid":"40541","theTitle":"LE MONDE DE DORY ","movieimage":"http:\/\/www.cinecity.nc\/images\/AFFICHES\/le_monde_de_dory_reduit.jpg","moviehour":"13h35 - 15h50 - 18h10","trailer":"yE3VBMHFQQs","actorlist":"Réalisé par Andrew Stanton, Angus MacLane avec Franck Dubosc, Kev Adams, Philippe Lellouche","movielength":"95 mn","story":"Dory, le poisson chirurgien bleu amnésique, retrouve ses amis Nemo et Marlin. Tous trois se lancent à la recherche du passé de Dory. Pourra-t-elle retrouver ses souvenirs ? Qui sont ses parents ? Et où a-t-elle bien pu apprendre à parler la langue des baleines ?"}, {"id":"1029","movieid":"40546","theTitle":"NINJA TURTLES 2 ","movieimage":"http:\/\/www.cinecity.nc\/images\/AFFICHES\/ninja_turtles_2_reduit.jpg","moviehour":"14h15","trailer":"rAkDlbyPuDg","actorlist":"Réalisé par Dave Green avec Megan Fox, Stephen Amell, Noel Fisher","movielength":"112 mn","story":"Michelangelo, Donatello, Leonardo et Raphael sont de retour pour affronter des méchants toujours plus forts et impressionnants, aux côtés d'April O'Neil, Vern Fenwick et d'un nouveau venu, le justicier masqué hockeyeur Casey Jones. Après son évasion de prison, Shredder associe ses forces à celles d'un savant fou Baxter Stockman et de deux hommes de main aussi bêtes que costauds, Bebop & Rocksteady. Leur objectif : lancer un plan diabolique pour régner sur le monde entier ! Alors que les Ninja Turtles s'apprêtent à défier Shredder et son nouveau gang, ils doivent rapidement faire face à une menace tout aussi grande : le célèbre Krang !"}, {"id":"1030","movieid":"40571","theTitle":"PETER ET ELLIOT LE DRAGON","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/peter_elliott.jpg","moviehour":"13h50 - 16h15 - 20h00","trailer":"yW9MTo17N9w","actorlist":"Réalisé par David Lowery\navec Oakes Fegley, Bryce Dallas Howard, Robert Redford","movielength":"103 mn","story":"Depuis de longues annees, M. Meacham, un vieux sculpteur sur bois, regale les enfants du coin avec ses histoires sur un feroce dragon qui vivrait au plus profond de la foret voisine. Pour sa fille Grace, garde forestiere de son etat, tout ceci n est que contes a dormir debout\u2026 jusqu au jour ou elle fait connaissance avec Peter. Ce mysterieux petit garcon de 10 ans - qui dit n avoir ni famille ni foyer - assure qu il vit dans les bois avec un dragon geant baptise Elliott. Et la description qu il en fait correspond etonnamment a celui dont parle son pere\u2026 Avec l aide de la jeune Natalie - la fille de Jack, le proprietaire de la scierie -, Grace va tout mettre en oeuvre pour decouvrir qui est vraiment Peter, d ou il vient, et percer le secret de son incroyable histoire\u2026"}, {"id":"1031","movieid":"40559","theTitle":"COMME DES BETES","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/comme_des_betes_reduit.jpg","moviehour":" 13h40 - 16h00 - 18h15","trailer":"CcPNAD-P1Eo","actorlist":"Réalisé par Yarrow Cheney, Chris Renaud\navec Philippe Lacheau, Fran\u00e7ois Damiens, Willy Rovelli","movielength":"87 mn","story":"La vie secrete que menent nos animaux domestiques une fois que nous les laissons seuls a la maison pour partir au travail ou a l ecole."}, {"id":"1032","movieid":"40554","theTitle":"TARZAN ","movieimage":"http:\/\/www.cinecity.nc\/images\/AFFICHES\/tarzan_reduit.jpg","moviehour":"17h50","trailer":"PGBDdZJbC5A","actorlist":"Réalisé par David Yates avec Alexander Skarsg\u00c3\u00a5rd, Margot Robbie, Christoph Waltz","movielength":"110 mn","story":"Après avoir grandi dans la jungle africaine, Tarzan a renoué avec ses origines aristocratiques, répondant désormais au nom de John Clayton, Lord Greystoke. Il mène une vie paisible auprès de son épouse Jane jusqu'au jour où il est convié au Congo en tant qu'émissaire du Commerce. Mais il est loin de se douter du piège qui l'attend. Car le redoutable belge Leon Rom est bien décidé à l'utiliser pour assouvir sa soif de vengeance et sa cupidité"}, {"id":"1033","movieid":"40537","theTitle":"WARCRAFT : LE COMMENCEMENT ","movieimage":"http:\/\/www.cinecity.nc\/images\/AFFICHES\/warcraft_reduit.jpg","moviehour":"20h35","trailer":"InBV7RggnYQ","actorlist":"Réalisé par Duncan Jones avec Travis Fimmel, Toby Kebbell, Paula Patton","movielength":"124 mn","story":"Le pacifique royaume d'Azeroth est au bord de la guerre alors que sa civilisation doit faire face à une redoutable race d'envahisseurs: des guerriers Orcs fuyant leur monde moribond pour en coloniser un autre. Alors qu'un portail s'ouvre pour connecter les deux mondes, une armée fait face à la destruction et l'autre à l'extinction. De côtés opposés, deux héros vont s'affronter et décider du sort de leur famille, de leur peuple et de leur patrie."}, {"id":"1034","movieid":"40570","theTitle":"STAR TREK SANS LIMITES","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/star_trek_ss_limites.jpg","moviehour":"14h00 - 17h40 - 20h30","trailer":"Y5GLGwOQDbs","actorlist":"Réalisé par Justin Lin\navec Chris Pine, Zachary Quinto, Simon Pegg","movielength":"123 mn","story":"Une aventure toujours plus epique de l USS Enterprise et de son audacieux equipage. L equipe explore les confins inexplores de l espace, faisant face chacun, comme la Federation toute entiere, a une nouvelle menace."}, {"id":"1035","movieid":"40558","theTitle":"AMERICAN NIGHTMARE 3 ELECTIONS","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/American_Nighmare_3_reduit.jpg","moviehour":"13h55 - 18h00 - 20h50","trailer":"VJA8JxvjTj0","actorlist":"Réalisé par James DeMonaco\navec Frank Grillo, Elizabeth Mitchell, Mykelti Williamson","movielength":"105 mn","story":"Une senatrice americaine se lance dans la course a l election presidentielle en proposant l arret total de la Purge annuelle. Ses opposants profitent alors d une nouvelle edition de cette journee ou tous les crimes sont permis pour la traquer et la tuer..."}, {"id":"1036","movieid":"40568","theTitle":"JASON BOURNE","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/jason_bourne.jpg","moviehour":"14h05 - 17h15 - 20h05","trailer":"euya1zwQ6U0","actorlist":"Réalisé par Greengrass\navec Matt Damon, Tommy Lee Jones, Alicia Vikander","movielength":"124 mn","story":"La traque de Jason Bourne par les services secrets americains se poursuit. Des iles Canaries a Londres en passant par Las Vegas..."}, {"id":"1037","movieid":"40569","theTitle":"FOLLES DE JOIE","movieimage":"http:\/\/www.cinecity.nc\/Content\/images\/AFFICHES\/folles_joie.jpg","moviehour":"17h45","trailer":"IDPx5xKcvyY","actorlist":"Réalisé par Paolo Virz\u00ec\navec Valeria Bruni Tedeschi, Micaela Ramazzotti, Bob Messini\nCom\u00e9die dramatique - Italie - 2016 - 118 mn - Tous publics - V","movielength":"118 mn","story":"Beatrice est une mythomane bavarde au comportement excessif. Donatella est une jeune femme tatouee, fragile et introvertie. Ces deux patientes de la Villa Biondi, une institution therapeutique pour femmes sujettes a des troubles mentaux, se lient d amitie. Une apres-midi, elles decident de s enfuir bien decidees a trouver un peu de bonheur dans cet asile de fous a ciel ouvert qu est le monde des gens \u00ab sains\u00bb."}]
Main.as
[Embed(source = "../jsons/test.json", mimeType = "application/octet-stream")] public var test:Class;
public function Main() {
trace(JSON.parse(new test()));
}
outputs
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
as expected.
So if I understand the issue correctly removing comments should help

XPath: How do I extract the text from almost equivalent html structure?

I'm trying to extract some news articles from a webpage, but the html structure changes for some of these articles.
In one case I have this:
and in another case I have this:
Is there a XPath I can use that could extract the full text on both cases?
EDIT
For the fist case I have tried this (using scrapy shell):
response.xpath('//*[#class="mioloNoticia"]/article/text()').extract()
which results in:
[u'\r\n ',
u'\r\n ',
u'\r\n ',
u'\r\n ',
u'\r\n ',
u'\r\n ',
u'Entendo as raz\xf5es dos defensores do acordo ortogr\xe1fico. Tamb\xe9m entendo as raz\xf5es pelas quais uma criatura acredita que \xe9 Napole\xe3o Bonaparte. ',
u'Mais dif\xedcil de compreender \xe9 o motivo que leva uma classe pol\xedtica inteira a seguir com respeito Napole\xe3o Bonaparte. O problema do acordo nem sequer \xe9 t\xe9cnico ou jur\xeddico. Isso \xe9 \xf3bvio: qualquer um sabe que aquilo \xe9 uma aberra\xe7\xe3o lingu\xedstica (a grafia como mera transcri\xe7\xe3o fon\xe9tica?) e uma ilegalidade completa (lembrar as acrobacias jur\xeddicas que se fizeram sobre o texto original). Sem falar da ambi\xe7\xe3o autorit\xe1ria de submeter 300 milh\xf5es de falantes a um capricho racionalista. ',
u'O problema do acordo \xe9 termos tido v\xe1rios governos que, reverentes e analfabetos, foram ratificando, modificando e legislando como se o acordo fosse mesmo para levar a s\xe9rio. Se Marcelo ajudar a acabar com esta farsa, a sua Presid\xeancia j\xe1 ter\xe1 valido a pena.']
and for the second case I have tried:
response.xpath('//*[#class="mioloNoticia"]/article/p/text()').extract()
which results in a better extraction:
[u'Os c\xe1lculos na ves\xedcula, os sintomas de um reumatismo que o atacava quando o Outono se aproximava ou a certeza de que o fim das coisas era inevit\xe1vel abriam-lhe a porta ao pessimismo em geral e \xe0 descren\xe7a no futuro \u2013 mas a vis\xe3o de um mundo encavalitado \xe0s costas do "progresso" era o aspecto mais penoso da exist\xeancia. A esta dist\xe2ncia, compreendo-o; ser "contra o progresso" \xe9 nos nossos dias um pecado capital, e resmungar contra "a criatividade" tornou-se uma apostasia definitiva e dram\xe1tica.',
u'O "ser humano" est\xe1 condenado a acreditar na criatividade sem limites, na originalidade, no progresso, na mudan\xe7a e, finalmente, na ideia de que as coisas novas s\xe3o sempre superiores \xe0s antigas. Isto pode fazer confus\xe3o a um velho do Alto Minho, educado pela vida (e pelos desaires) a apreciar as coisas que permanecem e a desconfiar das inven\xe7\xf5es em que n\xe3o v\xea grande utilidade.',
u'A minha sobrinha Maria Lu\xedsa \u2013 a eleitora esquerdista da fam\xedlia \u2013 j\xe1 foi uma sacerdotisa do Progresso (com mai\xfascula). Hoje, desconfia bastante da direc\xe7\xe3o que as coisas tomam, e o seu optimismo em rela\xe7\xe3o \xe0 esp\xe9cie humana \xe9 morigerado. Alimento a esperan\xe7a, dissimulada por muita cautela e certo tom de ironia, de v\xea-la feliz como Dona Ester, minha m\xe3e, gostava de ver felizes os seus filhos, espalhados sobre o areal da praia de Afife, respirando o iodo da tarde e abrigando-se do vento galego que descia pelo litoral. Os sucessos e insucessos dos \xfaltimos setenta anos ensinaram-me a desejar pouco, a aceitar a grandeza das coisas desconhecidas, a reler os livros que j\xe1 foram belos algum dia, a manter alguma f\xe9 numa ordem que comanda os planetas ou a solid\xe3o das dunas de Moledo. Ao mesmo tempo, esse ego\xedsmo n\xe3o faz mal aos outros. N\xe3o exige muito deles. N\xe3o lhes oferece demasiadas desilus\xf5es, nem utopias, nem promessas v\xe3s de um mundo perfeito. N\xe3o lhes alimenta a f\xe9 nas coisas imposs\xedveis que exigem que os outros mudem para que n\xf3s possamos satisfazer os desejos pessoais.',
u'Esse mundo perfeito existe, sim \u2013 mas terminou h\xe1 muito, antes do progresso, da democracia e dos d\xe9fices da economia. Tamb\xe9m \xe9 preciso lembrar que n\xe3o se pode voltar atr\xe1s nem \xe9 poss\xedvel recuperar o tempo perdido. O que est\xe1 perdido, est\xe1 perdido. O que passou, passou h\xe1 muito.']
But I'm after a single XPath that could word for both cases.
If the only different between different articles are plain text or text within tags the xpath is quite simple
//article/text() | //article/p/text()
This will extract both whether one of them exists or both

Html rendering in ios

In order to render html tags in the description section of my ios app . im using "core text extension"
Normally it is working 100%.
But sometimes its not working.It is displayng a blank section.
ex - :
COMITE DE SELECTION « ARTWIGO »COMMENT ÇA MARCHE ? But et objectifs du comité de sélectionLe but de notre comité de sélection est d’opérer un choix, réfléchi et cohérent, des artistes présentés par ARTWIGO ; ceci, afin de préserver la qualité et le niveau nécessaires au succès de l’application et donc, de garantir la promotion des artistes.Cette sélection tient compte de critères spécifiques à chaque type d’expression artistique.Le comité est composé de spécialistes, indépendants, reconnus dans chaque domaine proposé par « Artwigo » et venant d’univers différents ;Le comité de sélection est constitué de 11 membres répartis de la manière suivante :- 3 membres « fondateurs » composant le bureau- 6 membres composant le comité consultatif.Christine Jamart, rédactrice en chef de l’Art Même. BruxellesCarine Fol, Directrice Artistique de La Centrale Electrique. BruxellesJoël Benzakin, Bela Edition. BruxellesJean-Louis Godefroid, Directeur Espace Contretype. BruxellesAndré Goldberg, resonsable Secteur Arts Plastiques au Centre Culturel Jacques Franck. BruxellesEmmanuel d’Autreppe, responsable de l’Annexe des Brasseurs (art contemporain). LiègeLa composition du bureau du comité est la suivante :Le Directeur du Comité : Jean-François Picaud Laethier de Morfouace La Secrétaire générale : Carole de Vleeschouwer le Rapporteur : Joël Van AudenhaegeLe comité de sélection se prononce à la majorité des voix.Confidentialité Le résultat des votes et leurs motivations ne sont pas fournis aux candidats.Les candidats sont juste informés, par email, de l’acceptation ou du rejet de leur candidature par la Secrétaire générale.Référence jfplm08-10-2012
Im rendering this using the folowing code structure
htmlText = [htmlText stringByReplacingOccurrencesOfString:#"''" withString:#"'"];
NSData *data = [htmlText dataUsingEncoding:NSUTF8StringEncoding];
NSAttributedString *string = [[NSAttributedString alloc] initWithHTML:data options:nil documentAttributes:NULL];
[DTAttributedTextContentView setLayerClass:[CATiledLayer class]];
DTAttributedTextView *_textView = [[DTAttributedTextView alloc] initWithFrame:frame];
_textView.textDelegate = self;
_textView.attributedString = string;
[self.view addSubview:_textView];
I dont know the reason but its not rendering properly
Is thr any solution for this issue
Thank you