Esempio n. 1
0
#!/usr/bin/env python
# -*- 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',
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"):
            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 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. 4
0
from PIL import ImageDraw
from time import sleep

# Crée une image avec un texte
fonte = ImageFont.truetype("/home/fred/.fonts/OdaBalloon.ttf", 60)
#fonte.fontmode = 1
largeur, hauteur = fonte.getsize("PyMinitel")
image = Image.new("1", (largeur, hauteur))
draw = ImageDraw.Draw(image)
draw.text((0, 0),"PyMinitel", 255, font = fonte)
image = image.resize((largeur / 3, int(hauteur * 1.35 / 3)), Image.NEAREST)

minitel = Minitel()

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

# Met à jour la ligne de contrôle
minitel.position(1, 0)
minitel.envoyer("PyMinitel v0.1.2 - Frédéric Bisson")
minitel.efface(portee = 'finligne')

image_minitel1 = ImageMinitel(minitel, disjoint = False)
image_minitel1.importer(image)