Esempio n. 1
0
  'Rétablir',
  '-',
  'Aperçu',
  'Imprimer...',
  '-',
  'Fermer',
  'Quitter'
]

labelMenu = Label(minitel, 2, 2, "Menu", 'rouge')
menu = Menu(minitel, options, 9, 1)

labelNom = Label(minitel, 2, 15, "Nom", 'rouge')
champNom = ChampTexte(minitel, 10, 15, 20, 60)

labelPrenom = Label(minitel, 2, 16, "Prénom", 'rouge')
champPrenom = ChampTexte(minitel, 10, 16, 20, 60)

conteneur.ajoute(labelMenu)
conteneur.ajoute(menu)
conteneur.ajoute(labelNom)
conteneur.ajoute(champNom)
conteneur.ajoute(labelPrenom)
conteneur.ajoute(champPrenom)
conteneur.affiche()

conteneur.executer()

minitel.close()

Esempio n. 2
0
class Wrapper:  # To get linked with the system that communicate directly with the Minitel
    minitel = None

    def __init__(self):  # Constructor
        self = self

    def Connect(self):
        self.minitel = Minitel()
        if (self.minitel.deviner_vitesse() == -1):
            if (self.minitel.definir_vitesse(300) == False):
                return (1)
        self.minitel.identifier()
        while (self.minitel.capacite['nom'] == "Minitel inconnu"):
            time.sleep(2)
            self.minitel.identifier()

        self.minitel.definir_mode("VIDEOTEX")
        print("{} - {}".format(self.minitel.capacite['nom'],
                               self.minitel.capacite['vitesse']))
        self.minitel.efface()
        self.minitel.debut_ligne()

    def DisplayImageList(self, file_list):
        largeur = 80
        hauteur = 72
        colonne = 1
        ligne = 1
        self.minitel.efface()
        for fichier in file_list:
            image = Image.open(fichier)
            image = image.resize((largeur, hauteur), Image.ANTIALIAS)

            image_minitel = ImageMinitel(self.minitel)
            image_minitel.importer(image)
            image_minitel.envoyer(colonne, ligne)

            self.minitel.sortie.join()
            sleep(3)
            self.minitel.efface()

    def ReadString(self,
                   end=ENVOI
                   ):  #TODO: faire un while plus propre while(valeurs != end)
        content = ""

        while True:
            received = self.minitel.recevoir_sequence(True, None)
            if (received.valeurs == end):
                content += '\0'
                break
            if (received.valeurs == ANNULATION
                ):  # Delete this condition after VivaTech event
                return None
            if (len(content) +
                    10) > 140:  # Delete this condition after VivaTech event
                continue
            content += chr(received.valeurs[0])
            self.minitel.envoyer(received.valeurs[0])
        return content

    def DisplayCursor(self, display=True):
        self.minitel.curseur(display)

    def WaitForAnyInput(self):
        self.minitel.recevoir_sequence(True, None)

    def WriteString(self, text="default"):
        nb_column = 40
        nb_line = 24
        if (self.minitel.capacite['80colonnes'] == True):
            if (self.minitel.mode == 'MIXTE'):
                nb_column = 80
        text = text[0:nb_column * nb_line]
        s_send = Sequence()
        s_send.ajoute(text)
        self.minitel.envoyer(s_send)

    def GetModel(self):
        return self.minitel.capacite['nom']

    def WriteLnString(self, text=""):
        nb_column = 40
        nb_line = 24
        if (self.minitel.capacite['80colonnes'] == True):
            if (self.minitel.mode == 'MIXTE'):
                nb_column = 80
        space_to_add = nb_column - (len(text) % nb_column)
        for i in range(space_to_add):
            text += " "
        text = text[0:nb_column * nb_line]
        s_send = Sequence()
        s_send.ajoute(text)
        self.minitel.envoyer(s_send)

    def ClearScreen(self):
        self.minitel.efface()

    def GetMinitel(self):
        return (self.minitel)

    def Disconnect(self):
        self.minitel.close()
Esempio 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()
Esempio n. 4
0
class Wrapper: # To get linked with the system that communicate directly with the Minitel
    minitel = None
    
    def __init__(self): # Constructor
        self = self
        
    def Connect(self):  
        self.minitel = Minitel()
        if (self.minitel.deviner_vitesse() == -1):
            if (self.minitel.definir_vitesse(300) == False):
                return (1)
        self.minitel.identifier()
        while (self.minitel.capacite['nom'] == "Minitel inconnu"):
            time.sleep(2)
            self.minitel.identifier()

        self.minitel.definir_mode("VIDEOTEX")
        print("{} - {}".format(self.minitel.capacite['nom'], self.minitel.capacite['vitesse']))
        self.minitel.efface()
        self.minitel.debut_ligne()

    def DisplayImageList(self, file_list):
        largeur = 80
        hauteur = 72
        colonne = 1
        ligne = 1
        self.minitel.efface()
        for fichier in file_list:
                image = Image.open(fichier)
                image = image.resize((largeur, hauteur), Image.ANTIALIAS)

                image_minitel = ImageMinitel(self.minitel)
                image_minitel.importer(image)
                image_minitel.envoyer(colonne, ligne)

                self.minitel.sortie.join()
                sleep(3)
                self.minitel.efface()

    def ReadString(self, end = ENVOI): #TODO: faire un while plus propre while(valeurs != end)
        content = ""

        while True:
            received = self.minitel.recevoir_sequence(True, None)
            if (received.valeurs == end):
                content += '\0'
                break
            if (received.valeurs == ANNULATION): # Delete this condition after VivaTech event
                return None
            if (len(content) + 10) > 140: # Delete this condition after VivaTech event
                continue
            content += chr(received.valeurs[0])
            self.minitel.envoyer(received.valeurs[0]) 
        return content

    def DisplayCursor(self, display = True):
        self.minitel.curseur(display)

    def WaitForAnyInput(self):
        self.minitel.recevoir_sequence(True, None)    

    def WriteString(self, text = "default"):
        nb_column = 40
        nb_line = 24
        if (self.minitel.capacite['80colonnes'] == True):
            if (self.minitel.mode == 'MIXTE'):
                nb_column = 80
        text = text[0:nb_column * nb_line]
        s_send = Sequence()
        s_send.ajoute(text)
        self.minitel.envoyer(s_send)

    def GetModel(self):
        return self.minitel.capacite['nom']

    def WriteLnString(self, text = ""):
        nb_column = 40
        nb_line = 24
        if (self.minitel.capacite['80colonnes'] == True):
            if (self.minitel.mode == 'MIXTE'):
                nb_column = 80
        space_to_add = nb_column - (len(text) % nb_column)
        for i in range(space_to_add):
            text += " "
        text = text[0:nb_column * nb_line]
        s_send = Sequence()
        s_send.ajoute(text)
        self.minitel.envoyer(s_send)

    def ClearScreen(self):
        self.minitel.efface()

    def GetMinitel(self):
        return (self.minitel)

    def Disconnect(self):
        self.minitel.close()