コード例 #1
0
def get_unsatisfied_reqs():
    """Retourne une liste des dépendances non satisfaites."""
    # Récupère les paquets nécessaires en fonction du système
    with open(
            '{path}/{reqs}.txt'.format(path=get_modules_path() + "/../setup",
                                       reqs=sys.platform + '_requirements'),
            'r') as f:
        reqs = reqs_to_list(f.read())

    # Récupère les paquets déjà installés grâce à pip
    satisfied_reqs = subprocess.check_output(
        to_command("{python} -m pip freeze".format(python=python))).decode()
    satisfied_reqs = reqs_to_list(satisfied_reqs)

    # Compare reqs and satisfied_reqs pour trouver les dépendances non satisfaites
    reqs_not_satisfied = []
    for req in reqs:
        if req not in satisfied_reqs:
            reqs_not_satisfied.append(req)

    return reqs_not_satisfied
コード例 #2
0
import sys
from math import cos
from time import sleep

from modules.handyfunctions import get_modules_path, ensure_path, os_adapt
from modules.easydependencies import setup_third_party
try:
    setup_third_party()
    import sdl2.ext
except ImportError:
    from modules.easydependencies import install_requirements
    install_requirements()

    import sdl2.ext

pic_folder = get_modules_path() + '/../pictures/'
LEFT = -1
RIGHT = 1


def create_sprite(pic_path, window):
    factory = sdl2.ext.SpriteFactory(sdl2.ext.SOFTWARE)
    sprite = factory.from_image(pic_path)
    spriterenderer = factory.create_sprite_render_system(window)
    spriterenderer.render(sprite)
    return sprite


def move_sprite(sprite, x, y):
    sprite.position = sprite.x + x, sprite.y + y
コード例 #3
0
def setup_third_party():
    """Initialise toutes les bibliothèques additionnelles."""
    os.environ["PYSDL2_DLL_PATH"] = get_modules_path() + os_adapt(
        "/../third_party/{system}/{arch}".format(system='all',
                                                 arch=get_current_arch()))
コード例 #4
0
    def __init__(self, fenetre, **kwargs):
        MyFrame.__init__(self, fenetre, **kwargs)
        self.ecran_connexion = fenetre
        self.pack(fill='both', expand=1)

        # Creation du cadre du logo #
        self.logo = tk.PhotoImage(file=get_modules_path() +
                                  os_adapt("/logo.png"))
        self.logo = self.logo.subsample(2)
        self.cadre_logo = tk.Canvas(self)
        self.cadre_logo.create_image(225, 0, image=self.logo, anchor="n")
        self.cadre_logo.pack(fill="both", expand=1, side="top")

        # Creation du cadre de connexion #
        self.fenetre_connexion = MyLabelFrame(self,
                                              text=" Connexion ",
                                              labelanchor="nw",
                                              **kwargs)
        self.fenetre_connexion.place(x=0, y=282, width=450, height=165)

        # Creation de la zone de texte "Adresse du serveur" #
        self.texte_adresse_serveur = tk.Label(self.fenetre_connexion,
                                              text="Adresse IP du serveur : ")
        self.texte_adresse_serveur.pack()

        # Creation de la zone d'ecriture de l'adresse du serveur #
        self.HOST = tk.StringVar()
        self.HOST = tk.Entry(self.fenetre_connexion,
                             textvariable=self.HOST,
                             width=15)
        self.HOST.insert(0, '127.0.0.1')
        self.HOST.bind(
            "<Return>", lambda e: self.validation_connexion(
                self.HOST.get(), self.PORT.get()))
        self.HOST.pack()

        # Creation du Warning "Adresse du serveur" #
        self.warning_adresse_serveur = tk.Label(
            self.fenetre_connexion,
            fg="red",
            text=
            "Veuillez entrer une adresse valide, de la forme : XXX.XXX.XXX.XXX"
        )

        # Creation de la zone de texte "Port du serveur" #
        self.texte_port_serveur = tk.Label(self.fenetre_connexion,
                                           text="Port du serveur : ")
        self.texte_port_serveur.pack()

        # Creation de la zone d'ecriture du port du serveur #
        self.PORT = tk.StringVar()
        self.PORT = tk.Entry(self.fenetre_connexion,
                             textvariable=self.PORT,
                             width=6)
        self.PORT.insert(0, '15555')
        self.PORT.bind(
            "<Return>", lambda e: self.validation_connexion(
                self.HOST.get(), self.PORT.get()))
        self.PORT.pack()

        # Creation du Warning "Port du serveur" #
        self.warning_port_serveur = tk.Label(
            self.fenetre_connexion,
            fg="red",
            text="Veuillez entrer un port valide")

        # Creation du bouton de connexion #
        self.bouton_connexion = MyButton(
            self.fenetre_connexion,
            text="Connexion",
            command=lambda: self.validation_connexion(self.HOST.get(),
                                                      self.PORT.get()))
        self.bouton_connexion.pack()
コード例 #5
0
def get_font(font_name):
    """Retourne le chemin de la police donnée."""
    return get_modules_path() + os_adapt("/../setup/fonts/") + font_name
コード例 #6
0
def get_font(font_name):
    """Return the path of the given font_name."""
    return get_modules_path() + os_adapt("/../setup/fonts/") + font_name