Cache (cache).. Date non mise a jour

Document Actions
Réponses: 6   Visites: 0
Up one level
Vous devez être un membre enregistré pour contribuer sur ce forum. Inscrivez-vous maintenant

Cache (cache).. Date non mise a jour

Posté par airod le 13/08/2009 08:56
bonjour, je suis bien embeté, j'ai un header dans mon site qui affiche la date via une fonction Python (donc coté serveur).
Seulement celle ci ne se met pas a jour lors d'une nouvelle connexion (a partir du meme ordi) le lendemain, et surlendemain, ect.... tant que je n'ai pas redemarré le serveur. Quelqu'un a t il une idée....
aujoud'hui je suis encore au vendredi 7 Aout!!!!! lol
merci
  • Re: Cache (cache).. Date non mise a jour

    Posté par petit le 13/08/2009 11:47
    peut-être un pb de cache au niveau du serveur pour ton header ou ton script python.

    sur mon site webaudruicq.objectis.net j'affiche un calendrier et celui est actualisé à chaque affichage même si la fonction cache est active au niveau du navigateur.
  • Re: Cache (cache).. Date non mise a jour

    Posté par airod le 26/08/2009 08:21
    ok, je veux bien mais comment puis je controler le cache. Mon script python (external methode) qui affiche la date n'est pas mise dans le http cache ou le Ram cache, donc normalement il davrait se mettre a jour, non!

    merci d'avance
    • Re: Cache (cache).. Date non mise a jour

      Posté par tflorac le 27/08/2009 22:16
      Est-ce que tu pourrais nous montrer le code de ton script ??
  • Re: Cache (cache).. Date non mise a jour

    Posté par airod le 31/08/2009 08:54
    voici le code que j'ai mis dans une External Méthode.
    code:
    import time 
    import datetime  
    def formatDayLongDateFR(date=time.strftime('%d/%m/%Y')):
         mois=['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre']     
         jour=['Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanche']     
         a=datetime.date(int(date.split('/')[2]),int(date.split('/')[1]),int(date.split('/')[0]))     
         dateFR=str(jour) + ' '+str(a.day)+ ' '+mois[(a.month)-1]+' '+str(a.year)

    return dateFR


    Je ne comprend pas, le script est simple. Bien sûr, je ne suis pas obligé de le mettre dans une external méthode (erreur des débuts).
    Mais le problème reste entier, Pourquoi cette méthode reste en cache tant que le serveur n'est pas redémarré?
    merci d'avance
  • Re: Cache (cache).. Date non mise a jour

    Posté par petit le 01/09/2009 08:13
    je suis étonné du positionnement de ton "return dateFR", je te propose de le décaler vers la droite sous dateFR. Essayes aussi de remettre à zéro '' ton dateFR puis dateFR=str(jour) + ' '+str(a.day)+ ' '+mois[(a.month)-1]+' '+str(a.year).

    Il est vrai que nativement il est plus simple de faire un petit script python sous zope.

    date=DateTime()
    mois=['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre']

    return "%s/%s/%s" % (date.day(),mois(int(date.month())],date.year())

    pour avoir le jour exact, j'utilise à titre d'exemple le script python suivant :

    liste=date.split('/')
    jour_an = '3/1/2000'
    rang1 = container.date_to_int(jour_an)
    rang2 = container.date_to_int(date)
    container.REQUEST.RESPONSE.setHeader('content-type','text/html')
    jour_semaine=['L','M','M','J','V','S','D']
    jour_english=['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
    nom_mois=['JANVIER','FEVRIER','MARS','AVRIL','MAI','JUIN','JUILLET','AOUT','SEPTEMBRE','OCTOBRE','NOVEMBRE','DECEMBRE']
    max = 1
    for i in container.graphe.jours:
    if len(i) > max:
    max = len(i)
    boule = container.graphe.jours
    jour = (rang2 - rang1)%7
    rang = int(liste[0])
    j = jour
    mois = int(container.nb_jour(int(liste[2]),int(liste[1])))
    le_mois = int(liste[1])
    x = 0
    print """<div style="text-align: center; color: black; font-family: Comic Sans MS; font-size: 0.8em; font-weight: bolder; font-style: oblique;">""" + nom_mois+ " " + liste[2] + """</div>"""
    date=DateTime()
    print """<table cellspacing="1" style="background-color: rgb(183, 229, 229); border-style: none;">"""
    print """<tr>"""
    y = 1
    print """<td style="text-align: right; vertical-align: top; color: black; font-size: 0.6em;">""" + str(max) + """</td>"""
    while y <= mois:
    if y == int(date.day()):
    print """<td style="vertical-align: bottom; text-align: center;"><img src="rouge" style="width: 10px; height: """ + str(round((int(len(boule))*100)/max)) + 'px; border-style: none;" alt="' + str(len(boule)) + '"' + """></td>"""
    else:
    print """<td style="vertical-align: bottom; text-align: center;"><img src="jaune" style="width: 10px; height: """ + str(round((int(len(boule))*100)/max)) + 'px; border-style: none;" alt="' + str(len(boule)) + '"' + """></td>"""
    y = y + 1
    print """</tr><tr>"""
    x = 0
    y = 1
    print """<td style="text-align: right; vertical-align: top; color: black; font-size: 0.6em;">0</td>"""
    while y <= mois:
    if x < j:
    print """"""
    else:
    if y < 10:
    jour = "0" + str(y)
    else:
    jour = str(y)
    if y == int(date.day()):
    print """<td style= "border: 1px solid rgb(51, 51, 51); background-color: red; color: black; text-align: center; font-size: 0.6em;">""" + jour + "</td>"
    else:
    if ((x)%7 <> 6) and ((x)%7 <> 5):
    print """<td style= "border: 1px solid rgb(51, 51, 51); text-align: center; color: black; font-size: 0.6em;">""" + jour + "</td>"
    else:
    print """<td style= "border: 1px solid rgb(51, 51, 51); background-color: rgb(51, 204, 0); color: black; text-align: center; font-size: 0.6em;"> """ + jour + """</td>"""
    y = y + 1
    x = x + 1

    print """</tr></table>"""
    print """<p><span style="color: rgb(0, 0, 153); font-family: Comic Sans MS;">(Nombre de pages vues)</span></p>"""
    u=context.REQUEST['BASE0']
    print """<a style="border-style: none; background-color: transparent;" href="""+ '"' + u + '/site/graphe/le_cal?jour=' + str(date.day()) + '"' + """target="_self">"""
    print """<p><span style="color:red; font-family: Comic Sans MS;">Cliquez sur ce lien pour plus de d&eacute;tail</span></p>"""
    print "</a>"
    return printed
  • Re: Cache (cache).. Date non mise a jour

    Posté par airod le 01/09/2009 13:40
    hummm, le "return dateFR" est bien placé, c'est la mise en forme du post qui le décale. j'ai essayé de le corrigé mais rien n'y fait, le placement reste ainsi.
    Donc pas d'erreur de ce coté....

    En effet peut être, faut il initialiser ma variable en début de script.
    J'essaie ca rapidement. Merci
    je vous tiens au courant

Python.org : Le site officiel du langage Python.
Zope.org : Le site web officiel de Zope.
Daily Python-URL : Actus de l'univers Python.
Tribute to Zyons : Zyons notre ami et membre fondateur de l'Afpy, nous quittait en 2005.