Ejemplo n.º 1
0
    def affiche_cumul_tvol(self, *args):
        '''Recupere les valeurs necessaires pour l'affichage de la courbe de
        cumul de temps de vol puis appelle la fonction d'affichage'''
        if self.annee.get() == "Toutes":
            annee = 0
        else:
            annee = int(self.annee.get())
        if not annee:
            req = '''SELECT annee, mois, jour, duree FROM vols
                  WHERE NOT type_vol = "Gonflage" 
                  ORDER BY annee, mois, jour'''      
            self.cur.execute(req)
        else:
            req = '''SELECT annee, mois, jour, duree FROM vols
                  WHERE annee = ?
                  AND NOT type_vol = "Gonflage" 
                  ORDER BY annee, mois, jour
                  '''      
            self.cur.execute(req, (annee,))
            
        l_vols = self.cur.fetchall()

        if len(l_vols) < 2:
            self.canv.delete("all")
            return

        l_dates = [datetime.date(v[0], v[1], v[2]) for v in l_vols]
        min_date, max_date = (min(l_dates), max(l_dates))
        l_jours = list_days_since_origin(l_dates, origin = min_date)

        # annotation de l'axe des abscissses : 1er de chaque mois
        # les annotations sont des chaines de caracteres stockees dans un dico 
        # indexe par la position en x
        annot1_x, annot2_x = date_annotations(l_dates)
                    
        l_tvol = [v[3] for v in l_vols]
        l_cumul_tvol = cumul(l_tvol)

        self.affiche_cumul(l_jours, l_cumul_tvol, labels1_x = annot1_x,
                           labels2_x = annot2_x, xlegend = "Date",
                           ylegend = "Temps de vol (min)")
Ejemplo n.º 2
0
    def affiche_cumul_distance(self, *args):
        '''Recupere les valeurs necessaires pour l'affichage de la courbe de
        cumul de distance en cross puis appelle la fonction d'affichage'''
        if self.annee.get() == "Toutes":
            annee = 0
        else:
            annee = int(self.annee.get())
        if not annee:
            req = '''SELECT annee, mois, jour, distance_parcours FROM vols
                  WHERE NOT distance_parcours = 0
                  ORDER BY annee, mois, jour'''      
            self.cur.execute(req)
        else:
            req = '''SELECT annee, mois, jour, distance_parcours FROM vols
                  WHERE annee = ?
                  AND NOT distance_parcours = 0
                  ORDER BY annee, mois, jour
                  '''      
            self.cur.execute(req, (annee,))
            
        l_vols = self.cur.fetchall()

        if len(l_vols) < 2:
            self.canv.delete("all")
            return

        l_dates = [datetime.date(v[0], v[1], v[2]) for v in l_vols]
        l_jours = list_days_since_origin(l_dates)

        annot1_x, annot2_x = date_annotations(l_dates)

        l_dist = [v[3] for v in l_vols]
        l_cumul_dist = cumul(l_dist)

        self.affiche_cumul(l_jours, l_cumul_dist, labels1_x = annot1_x,
                           labels2_x = annot2_x , xlegend = "Date",
                           ylegend = "Distance (km)")
Ejemplo n.º 3
0
    def affiche_cumul_nvols(self, *args):
        '''Recupere les valeurs necessaires pour l'affichage de la courbe de
        cumul de temps de vol puis appelle la fonction d'affichage'''
        if self.annee.get() == "Toutes":
            annee = 0
        else:
            annee = int(self.annee.get())
        if not annee:
            req = '''SELECT annee, mois, jour FROM vols
                  WHERE NOT type_vol = "Gonflage" 
                  ORDER BY annee, mois, jour'''      
            self.cur.execute(req)
        else:
            req = '''SELECT annee, mois, jour FROM vols
                  WHERE annee = ?
                  AND NOT type_vol = "Gonflage" 
                  ORDER BY annee, mois, jour
                  '''      
            self.cur.execute(req, (annee,))
            
        l_vols = self.cur.fetchall()

        if len(l_vols) < 2:
            self.canv.delete("all")
            return

        l_dates = [datetime.date(v[0], v[1], v[2]) for v in l_vols]
        l_jours = list_days_since_origin(l_dates)

        annot1_x, annot2_x = date_annotations(l_dates)

        l_cumul_nvols = cumul([1 for v in l_vols])

        self.affiche_cumul(l_jours, l_cumul_nvols, labels1_x = annot1_x,
                           labels2_x = annot2_x, xlegend = "Dates",
                           ylegend = "Nombre de vols")