def afficher(self):
        # On récupère la liste des appareils connectés au réseau local
        appareils = appareils_connectes('192.168.0.*', 15)
        message = []

        for k in range(len(appareils)):
            message += ['%s : %s' % (appareils[k]['ip'], appareils[k]['nom'])]

        # On afficheg la page
        self.label1 = Label(self.pa.minitel, 0.05, 0.1, message, 0.8, 0.45,
                            True, 'gauche')
        self.label2 = Label(self.pa.minitel, 0.58, 0.99, ['Rafraîchir :'], 0.0,
                            0.0, False, 'gauche')
        self.ligne = Ligne(self.pa.minitel, 0.0, 0.95, 1.0, 'h', 'blanc')
        self.bouton1 = Bouton(self.pa.minitel, 0.0, 0.99, 0.0, 'SOMMAIRE')
        self.bouton2 = Bouton(self.pa.minitel, 0.9, 0.99, 0.0, 'ENVOI')
        self.elements = Conteneur(self.pa.minitel, 0.0, 0.0, 1.0, 1.0, 'blanc',
                                  'noir')
        self.elements.ajouter(self.label1)
        self.elements.ajouter(self.label2)
        self.elements.ajouter(self.ligne)
        self.elements.ajouter(self.bouton1)
        self.elements.ajouter(self.bouton2)
        self.elements.afficher()
        self.elements.executer({
            'SOMMAIRE': self.pa.executer,
            'ENVOI': self.executer
        })
Beispiel #2
0
    def afficher(self):
        message = []

        for k in range(len(self.services)):
            message += ['%d. %s' % (k + 1, self.services[k].nom)]

        self.label1 = Label(self.minitel, 0.1, 0.0, [
            self.titre, '-------------',
            'v%s - %s' % (self.version, self.auteur)
        ], 0.7, 0.22, True, 'centre')
        self.label2 = Label(self.minitel, 0.1, 0.4, message, 0.7, 0.0, True,
                            'gauche')
        self.ligne1 = Ligne(self.minitel, 0.0, 0.95, 1.0, 'h', 'blanc')
        self.bouton1 = Bouton(self.minitel, 0.9, 0.99, 0.1, 'ENVOI')
        self.label3 = Label(self.minitel, 0.0, 0.99, ['Choix :'])
        self.champ1 = ChampTexte(self.minitel, 0.2, 0.99, 2, 2, '')
        self.elements = Conteneur(self.minitel, 0.0, 0.0, 1.0, 1.0, 'blanc',
                                  'noir')
        self.elements.ajouter(self.label1)
        self.elements.ajouter(self.label2)
        self.elements.ajouter(self.ligne1)
        self.elements.ajouter(self.bouton1)
        self.elements.ajouter(self.label3)
        self.elements.ajouter(self.champ1)
        self.elements.afficher()
        self.elements.executer({'ENVOI': self.valider})
 def afficher_page_connection(self):
     self.label1 = Label(self.pa.minitel, 0.05, 0.1, [
         'Veuillez saisir les champs', 'ci-dessous pour piloter',
         'ouverture/fermeture des volets'
     ], 0.8, 0.2, True, 'centre')
     self.label2 = Label(
         self.pa.minitel, 0.05, 0.4,
         ['Adresse réseau :', '   Identifiant :', '  Mot de passe :'], 0.8,
         0.2, True, 'gauche')
     self.champ1 = ChampTexte(self.pa.minitel, 0.53, 0.51, 15, 100, '')
     self.champ2 = ChampTexte(self.pa.minitel, 0.53, 0.54, 15, 100, '')
     self.champ3 = ChampTexte(self.pa.minitel, 0.53, 0.57, 15, 100, '',
                              None, True)
     self.ligne1 = Ligne(self.pa.minitel, 0.0, 0.95, 1.0, 'h', 'blanc')
     self.bouton1 = Bouton(self.pa.minitel, 0.0, 0.99, 0.0, 'SOMMAIRE')
     self.bouton2 = Bouton(self.pa.minitel, 0.9, 0.99, 0.0, 'ENVOI')
     self.elements = Conteneur(self.pa.minitel, 0.0, 0.0, 1.0, 1.0, 'blanc',
                               'noir')
     self.elements.ajouter(self.label1)
     self.elements.ajouter(self.label2)
     self.elements.ajouter(self.champ1)
     self.elements.ajouter(self.champ2)
     self.elements.ajouter(self.champ3)
     self.elements.ajouter(self.ligne1)
     self.elements.ajouter(self.bouton1)
     self.elements.ajouter(self.bouton2)
     self.elements.afficher()
     self.elements.executer({
         'SOMMAIRE': self.pa.executer,
         'ENVOI': self.valider_page_connection
     })
Beispiel #4
0
def ecran_login():
    minitel.efface()

    image = Image.open('Dotclear-logo.png')
    image = image.resize((80,36), Image.ANTIALIAS)
    image_minitel = ImageMinitel(minitel)
    image_minitel.importer(image)
    image_minitel.envoyer(1,1)

    bouton_envoi()

    conteneur = Conteneur(minitel, 1, 13, 40, 4, 'blanc', 'noir')

    labelLogin = Label(minitel, 1, 15, "Nom d'utilisatrice ou d'utilisateur", 'rouge')
    champLogin = DCInput(minitel, 1, 16, 40, 60, envoi_callback = validate_login, update_callback = login_form.updateLogin)

    labelPass = Label(minitel, 1, 18, "Mot de passe", 'rouge')
    champPass = DCInput(minitel, 1, 19, 40, 60, champ_cache=True, envoi_callback = validate_login, update_callback = login_form.updatePassword)


    conteneur.ajoute(labelLogin)
    conteneur.ajoute(champLogin)
    conteneur.ajoute(labelPass)
    conteneur.ajoute(champPass)
    conteneur.affiche()

    conteneur.executer()
	def afficher( self ):
		self.ligne1   = Ligne(self.pa.minitel, 0.0, 0.95, 1.0, 'h', 'blanc')
		self.bouton1  = Bouton(self.pa.minitel, 0.0, 0.99, 0.0, 'SOMMAIRE')
		self.elements = Conteneur(self.pa.minitel, 0.0, 0.0, 1.0, 1.0, 'blanc', 'noir')
		self.elements.ajouter(self.ligne1)
		self.elements.ajouter(self.bouton1)
		self.elements.afficher()
		self.elements.executer({'SOMMAIRE':self.pa.executer})
    def afficher_page_resultats(self):
        # On récupère les données sur les volets
        url = '%s/json.htm?type=devices&filter=all&used=true&order=Name&username=%s&password=%s' % (
            self.url_base, self.identifiant, self.mot_passe)
        contenu = requests.get(url)
        donnees = contenu.json()

        # On vérifie si la connection est ok
        if donnees['status'] != 'OK':
            self.pa.minitel.erreur(1, 20, "Impossible de se connecter")
            self.page_actuelle = 'connection'
            self.executer()
            return

        # On stocke les données sur les volets au bon format
        self.volets = []

        for volet in donnees['result']:
            self.volets += [{
                'idx': volet['idx'],
                'etat': ('o' if volet['Status'] == 'Open' else 'f'),
                'nom': volet['Name']
            }]

        # On affiche la liste des volets
        options = []

        for k in range(len(self.volets)):
            options += [
                '%s (%s)' % (self.volets[k]['nom'], self.volets[k]['etat'])
            ]

        self.menu1 = Menu(self.pa.minitel, options, 0.2, 0.3)
        self.ligne1 = Ligne(self.pa.minitel, 0.0, 0.95, 1.0, 'h', 'blanc')
        self.bouton1 = Bouton(self.pa.minitel, 0.0, 0.99, 0.0, 'SOMMAIRE')
        self.label1 = Label(self.pa.minitel, 0.5, 0.99, ['Ouvrir/fermer :'],
                            0.0, 0.0, False, 'gauche')
        self.bouton2 = Bouton(self.pa.minitel, 0.9, 0.99, 0.0, 'ENVOI')
        self.elements = Conteneur(self.pa.minitel, 0.0, 0.0, 1.0, 1.0, 'blanc',
                                  'noir')
        self.elements.ajouter(self.menu1)
        self.elements.ajouter(self.ligne1)
        self.elements.ajouter(self.label1)
        self.elements.ajouter(self.bouton1)
        self.elements.ajouter(self.bouton2)
        self.elements.afficher()
        self.elements.executer({
            'SOMMAIRE': self.pa.executer,
            'ENVOI': self.valider_page_resultats
        })
Beispiel #7
0
	def afficher_page_resultats( self ):
		# On met en forme la page courante sur les données météo
		message      = []
		n            = int(len(self.meteo['daily'])/self.nb_pages_resultats)
		indice_debut = n*self.numero_page_resultats
		indice_fin   = indice_debut+n

		for jour in self.meteo['daily'][indice_debut:indice_fin]:
			date           = datetime.fromtimestamp(jour['dt']).strftime('%A %-d %B')
			temps          = jour['weather'][0]['description']
			pluie          = float(jour['pop'])
			min_temp       = int(round(jour['temp']['min']))
			max_temp       = int(round(jour['temp']['max']))
			pression       = int(round(jour['pressure']))
			humidite       = int(round(jour['humidity']))
			vitesse_vent   = int(round(jour['wind_speed']))
			direction_vent = jour['wind_deg']
			lever_soleil   = datetime.fromtimestamp(jour['sunrise']).strftime('%Hh%M')
			coucher_soleil = datetime.fromtimestamp(jour['sunset']).strftime('%Hh%M')
			message       += ['* %s : %s'%(date,temps)]
			message       += ['  * Probabilité pluie : %.2f'%(pluie)]
			message       += ['  * Températures      : %d°C, %d°C'%(min_temp,max_temp)]
			message       += ['  * Pression          : %d hPa'%(pression)]
			message       += ['  * Humidité          : %d%%'%(humidite)]
			message       += ['  * Direction du vent : %d°'%(direction_vent)]
			message       += ['  * Vitesse du vent   : %d m/s'%(vitesse_vent)]
			message       += ['  * Lever soleil      : %s'%(lever_soleil)]
			message       += ['  * Coucher soleil    : %s'%(coucher_soleil)]
			message       += [' ']

		# On affiche les informations
		self.label1   = Label(self.pa.minitel, 0.1, 0.1, message, 0.8, 0.0, False, 'gauche')
		self.ligne1   = Ligne(self.pa.minitel, 0.0, 0.95, 1.0, 'h', 'blanc')
		self.bouton1  = Bouton(self.pa.minitel, 0.0, 0.99, 0.0, 'SOMMAIRE')
		self.bouton2  = Bouton(self.pa.minitel, 0.33, 0.99, 0.0, 'RETOUR')
		self.bouton3  = Bouton(self.pa.minitel, 0.57, 0.99, 0.0, 'SUITE')
		self.bouton4  = Bouton(self.pa.minitel, 0.77, 0.99, 0.0, 'CORRECTION')
		self.elements = Conteneur(self.pa.minitel, 0.0, 0.0, 1.0, 1.0, 'blanc', 'noir')
		self.elements.ajouter(self.label1)
		self.elements.ajouter(self.ligne1)
		self.elements.ajouter(self.bouton1)
		self.elements.ajouter(self.bouton2)
		self.elements.ajouter(self.bouton3)
		self.elements.ajouter(self.bouton4)
		self.elements.afficher()
		self.elements.executer({'SOMMAIRE':self.pa.executer,'RETOUR':self.precedent_page_resultats,'SUITE':self.suivant_page_resultats,'CORRECTION':self.valider_page_resultats})
Beispiel #8
0
	def afficher_page_saisie( self ):
		self.label1   = Label(self.pa.minitel, 0.05, 0.1, ['Veuillez saisir la commune','et le pays ou les coordonnées','géographiques désirées'], 0.8, 0.2, True, 'centre')
		self.label2   = Label(self.pa.minitel, 0.05, 0.4, ['  Commune :','     Pays :',' Latitude :','Longitude :'], 0.8, 0.27, True, 'gauche')
		self.champ1   = ChampTexte(self.pa.minitel, 0.4, 0.51, 20, 30, geocoder.ip('me').city)
		self.champ2   = ChampTexte(self.pa.minitel, 0.4, 0.54, 20, 30, geocoder.ip('me').country)
		self.champ3   = ChampTexte(self.pa.minitel, 0.4, 0.57, 20, 30, '')
		self.champ4   = ChampTexte(self.pa.minitel, 0.4, 0.61, 20, 30, '')
		self.ligne1   = Ligne(self.pa.minitel, 0.0, 0.95, 1.0, 'h', 'blanc')
		self.bouton1  = Bouton(self.pa.minitel, 0.0, 0.99, 0.0, 'SOMMAIRE')
		self.bouton2  = Bouton(self.pa.minitel, 0.9, 0.99, 0.0, 'ENVOI')
		self.elements = Conteneur(self.pa.minitel, 0.0, 0.0, 1.0, 1.0, 'blanc', 'noir')
		self.elements.ajouter(self.label1)
		self.elements.ajouter(self.label2)
		self.elements.ajouter(self.champ1)
		self.elements.ajouter(self.champ2)
		self.elements.ajouter(self.champ3)
		self.elements.ajouter(self.champ4)
		self.elements.ajouter(self.ligne1)
		self.elements.ajouter(self.bouton1)
		self.elements.ajouter(self.bouton2)
		self.elements.afficher()
		self.elements.executer({'SOMMAIRE':self.pa.executer,'ENVOI':self.valider_page_saisie})
Beispiel #9
0
def ecran_write():
    minitel.efface()
    

    minitel.position(1,1)
    minitel.effet(False,False, True)
    minitel.envoyer('Dotclear: nouveau billet')
    minitel.effet(False, False, False)
    
    conteneur = Conteneur(minitel, 1, 3, 40, 4, 'blanc', 'noir')
    labelTitre = Label(minitel, 1, 3, "Titre", 'rouge')
    champTitre = DCInput(minitel, 1, 4, 40, 60, envoi_callback = validate_write, update_callback = post_form.updateTitle)

    labelChapo = Label(minitel, 1, 6, 'Extrait', 'rouge')
    champChapo = DCInput(minitel, 1, 7, 40, 60, envoi_callback = validate_write, update_callback = post_form.updateExtract)

    labelContent = Label(minitel, 1, 9, 'Contenu', 'rouge')
    champContent1 = DCInput(minitel, 1, 10, 40, 40, envoi_callback = validate_write, update_callback = post_form.updateContent1)
    champContent2 = DCInput(minitel, 1, 11, 40, 40, envoi_callback = validate_write, update_callback = post_form.updateContent2)
    champContent3 = DCInput(minitel, 1, 12, 40, 40, envoi_callback = validate_write, update_callback = post_form.updateContent3)
    champContent4 = DCInput(minitel, 1, 13, 40, 40, envoi_callback = validate_write, update_callback = post_form.updateContent4)
    champContent5 = DCInput(minitel, 1, 14, 40, 40, envoi_callback = validate_write, update_callback = post_form.updateContent5)

    conteneur.ajoute(labelTitre)
    conteneur.ajoute(champTitre)
    conteneur.ajoute(labelChapo)
    conteneur.ajoute(champChapo)
    conteneur.ajoute(labelContent)
    conteneur.ajoute(champContent1)
    conteneur.ajoute(champContent2)
    conteneur.ajoute(champContent3)
    conteneur.ajoute(champContent4)
    conteneur.ajoute(champContent5)

    conteneur.affiche()
    
    bouton_envoi()
    conteneur.executer()
Beispiel #10
0
 def afficher(self):
     self.label1 = Label(self.pa.minitel, 0.05, 0.1, [
         'Veuillez saisir les informations', 'ci-dessous pour changer le',
         'mot de passe réseau wifi'
     ], 0.8, 0.2, True, 'centre')
     self.label2 = Label(self.pa.minitel, 0.05, 0.4, [
         '    SSID réseau wifi :', ' Mot de passe actuel :',
         'Nouveau mot de passe :', '        Confirmation :'
     ], 0.8, 0.24, True, 'gauche')
     self.champ1 = ChampTexte(self.pa.minitel, 0.67, 0.51, 9, 100,
                              ssid_wifi_actuel())
     self.champ2 = ChampTexte(self.pa.minitel, 0.67, 0.54, 9, 100, '', None,
                              True)
     self.champ3 = ChampTexte(self.pa.minitel, 0.67, 0.57, 9, 100, '', None,
                              True)
     self.champ4 = ChampTexte(self.pa.minitel, 0.67, 0.61, 9, 100, '', None,
                              True)
     self.ligne1 = Ligne(self.pa.minitel, 0.0, 0.95, 1.0, 'h', 'blanc')
     self.bouton1 = Bouton(self.pa.minitel, 0.0, 0.99, 0.0, 'SOMMAIRE')
     self.bouton2 = Bouton(self.pa.minitel, 0.9, 0.99, 0.0, 'ENVOI')
     self.elements = Conteneur(self.pa.minitel, 0.0, 0.0, 1.0, 1.0, 'blanc',
                               'noir')
     self.elements.ajouter(self.label1)
     self.elements.ajouter(self.label2)
     self.elements.ajouter(self.champ1)
     self.elements.ajouter(self.champ2)
     self.elements.ajouter(self.champ3)
     self.elements.ajouter(self.champ4)
     self.elements.ajouter(self.ligne1)
     self.elements.ajouter(self.bouton1)
     self.elements.ajouter(self.bouton2)
     self.elements.afficher()
     self.elements.executer({
         'SOMMAIRE': self.pa.executer,
         'ENVOI': self.valider
     })
Beispiel #11
0
from minitel.ui.Menu import Menu

# Initialisation du Minitel
minitel = Minitel()

minitel.deviner_vitesse()
minitel.identifier()
minitel.definir_vitesse(9600)
minitel.definir_mode('VIDEOTEX')
minitel.configurer_clavier(etendu = True, curseur = False, minuscule = True)
minitel.echo(False)
minitel.efface()
minitel.curseur(False)

# Création des widgets
conteneur = Conteneur(minitel, 1, 1, 32, 17, 'blanc', 'noir')

options = [
  'Nouveau',
  'Ouvrir',
  '-',
  'Enregistrer',
  'Enreg. sous...',
  'Rétablir',
  '-',
  'Aperçu',
  'Imprimer...',
  '-',
  'Fermer',
  'Quitter'
]
Beispiel #12
0
from minitel.ui.ChampTexte import ChampTexte
from minitel.ui.Conteneur import Conteneur
from minitel.ui.Label import Label

minitel = Minitel()

minitel.deviner_vitesse()
minitel.identifier()
minitel.definir_vitesse(1200)
minitel.definir_mode('VIDEOTEX')
minitel.configurer_clavier(etendu=True, curseur=False, minuscule=True)
minitel.echo(False)
minitel.efface()
minitel.curseur(False)

conteneur = Conteneur(minitel, 1, 1, 40, 24)

labelNom = Label(minitel, 1, 10, "Nom")
champNom = ChampTexte(minitel, 16, 10, 20, 60)
labelPrenom = Label(minitel, 1, 12, "Prénom")
champPrenom = ChampTexte(minitel, 16, 12, 20, 60)
labelpass = Label(minitel, 1, 14, "Mot de passe")
champpass = ChampTexte(minitel, 16, 14, 20, 60, champ_cache=True)

conteneur.ajoute(labelNom)
conteneur.ajoute(champNom)
conteneur.ajoute(labelPrenom)
conteneur.ajoute(champPrenom)
conteneur.ajoute(labelpass)
conteneur.ajoute(champpass)
conteneur.affiche()