Exemplo n.º 1
0
class PageAccueil:
    def __init__(self, titre, version, auteur):
        self.minitel = Minitel()
        self.minitel.deviner_vitesse()
        self.minitel.identifier()
        self.minitel.definir_vitesse(9600)
        self.minitel.definir_mode('VIDEOTEX')
        self.minitel.configurer_clavier(etendu=True,
                                        curseur=False,
                                        minuscule=True)
        self.minitel.echo(False)
        self.minitel.curseur(False)
        self.services = []
        self.titre = titre
        self.version = version
        self.auteur = auteur

    def ajouter_service(self, service):
        self.services += [service]

    def executer(self):
        self.effacer()
        self.afficher()

    def effacer(self):
        self.minitel.effacer('vraimenttout')

    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 valider(self):
        if not is_a_number(self.champ1.valeur):
            self.minitel.bip()
            return

        choix = int(self.champ1.valeur)

        if choix < 1 or choix > len(self.services):
            self.minitel.bip()
            return

        self.services[choix - 1].executer()

    def __del__(self):
        self.minitel.stopper()
Exemplo n.º 2
0
# -*- coding: utf-8 -*-

from minitel.Minitel import Minitel
from minitel.ui.ChampTexte import ChampTexte
from minitel.ui.Conteneur import Conteneur
from minitel.ui.Label import Label
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',
  '-',
Exemplo n.º 3
0
class MinYLPG:
    def __init__(self):
        self.mode = 'MIXTE'
        self.minitel = Minitel()
        self.minitel.deviner_vitesse()
        self.minitel.identifier()
        self.minitel.definir_vitesse(4800)
        self.minitel.definir_mode(self.mode)
        self.minitel.configurer_clavier(etendu=True,
                                        curseur=False,
                                        minuscule=True)
        self.minitel.echo(False)
        self.minitel.efface()
        self.minitel.curseur(False)

    def clean_screen(self):
        self.minitel.position(0, 0)
        self.minitel.efface(portee='vraimenttout')
        self.minitel.position(1, 1)
        self.minitel.taille(largeur=2, hauteur=2)

    def close(self):
        self.minitel.sortie.join()
        self.minitel.close()

    def message(self, message):
        message_sans_accent = unidecode.unidecode(message)
        self.minitel.envoyer(message_sans_accent)
        # self.minitel.envoyer(10)
        self.minitel.envoyer(13)

    def switch_mode(self):
        if self.mode == 'MIXTE':
            self.mode = 'VIDEOTEX'
        else:
            self.mode = 'MIXTE'
        self.minitel.definir_mode(self.mode)
        self.clean_screen()

    def follower_alert(self, abonne):
        self.switch_mode()

        if len(abonne) < 20:
            abocent = 2 * (10 - floor(len(abonne) / 2)) + 1
            epaisseur_texte = 2
        elif len(abonne) >= 20 and len(abonne) < 40:
            abocent = 20 - floor(len(abonne) / 2) + 1
            epaisseur_texte = 1
        else:
            abocent = 7
            epaisseur_texte = 1
            abonne = "Achète-toi un nom moins long"

        self.minitel.position(0, 0)
        self.minitel.efface(portee='vraimenttout')
        self.minitel.position(0, 0)
        image = Image.open('minylpg/images/ylpg.png')
        image = image.resize((80, 72), Image.NEAREST)
        image_minitel = ImageMinitel(self.minitel)
        image_minitel.importer(image)
        image_minitel.envoyer(0, 0)

        self.minitel.position(10, 2)
        self.minitel.taille(largeur=2, hauteur=2)
        self.minitel.couleur(caractere=0, fond=7)
        self.minitel.envoyer("YOU LOOK")
        self.minitel.position(8, 4)
        self.minitel.taille(largeur=2, hauteur=2)
        self.minitel.couleur(caractere=0, fond=7)
        self.minitel.envoyer("PRETTY GOOD")
        self.minitel.position(abocent, 22)
        self.minitel.taille(largeur=epaisseur_texte, hauteur=2)
        self.minitel.couleur(caractere=0, fond=7)
        self.minitel.envoyer(abonne)

        self.minitel.bip()

        sleep(5)

        image = Image.open('minylpg/images/ylpgwink1.png')
        image = image.resize((20, 15), Image.NEAREST)
        image_minitel = ImageMinitel(self.minitel)
        image_minitel.importer(image)
        image_minitel.envoyer(20, 9)

        sleep(1.5)

        image = Image.open('minylpg/images/ylpgwink0.png')
        image = image.resize((20, 15), Image.NEAREST)
        image_minitel = ImageMinitel(self.minitel)
        image_minitel.importer(image)
        image_minitel.envoyer(20, 9)
        sleep(3)

        self.switch_mode()