Commit 2ff6b1c5 authored by Robert Sebille's avatar Robert Sebille

Ajout du paramètre affiche_no_frame + prêt pour pip 0.0.15

parent 6d460875
V 0.0.15
- corrections mineures de la documentation
- ajout du parametre no_frame, n° de la frame jouée
- ajout du paramètre affiche_no_frame, defaut = False
- ajout du paramètre no_frame_xy, défaut = (0, 0)
V 0.0.14
- ajout de l'attribut titre_xy(x, y), défaut = (4, 2)
(qui déprécie l'attribut titre_x)
......
......@@ -4,13 +4,15 @@ Cette classe fournit des outils pour afficher des petits films à partir de fram
Les frames peuvent être dans un seul fichier, avec un séparateur ou dans plusieurs fichiers qui seront lus d'un répertoire à préciser, et dans l'ordre alphanumérique croissant.
Pour démarrer:
Pour démarrer, esayez
from film.film import Film
Film.demo()
- [Dépot](https://framagit.org/zenjo/film/tree/master)
- [Wiki](https://framagit.org/zenjo/film/wikis/home)
- [Documentation sphinx](https://docs.sebille.name/ascii-films/)
- [Bibliothèque de frames ascii](https://framagit.org/zenjo/film/wikis/Frames)
......@@ -137,6 +137,7 @@ SuperFlix")
f1.projection(10, 2, 4)
# vol en déplacement de 1
f1.deplacement = 1
###
f1.projection(84, 2, 4)
f1.deplacement = 0
f1.projection(10, 84, 4)
......
......@@ -47,7 +47,7 @@ class Film:
Dépot: https:///framagit.org/zenjo/film/tree/master
"""
_version = "0.0.14"
_version = "0.0.15"
def __init__(self, titre="", dict_sous_titres={}):
"""Constructeur"""
......@@ -64,6 +64,8 @@ class Film:
self._sous_titres_largeur = 40
self._sous_titres_reverse = False
self._deplacement = 1
self._affiche_no_frame = False
self._no_frame_xy = (0, 0)
self._nb_frames_per_file = 0
def __str__(self):
......@@ -313,6 +315,41 @@ croissant de leurs noms.")
Retourne ou fixe les coordonnées de l'affichage du CTRL + C, si
affiche_ctrl_c = True. Défaut = (0, 15)""")
def get_affiche_no_frame(self):
return self._affiche_no_frame
def set_affiche_no_frame(self, affiche_no_frame):
self._affiche_no_frame = affiche_no_frame
affiche_no_frame = property(get_affiche_no_frame, set_affiche_no_frame, '',
"""
Retourne ou décide si il faut afficher le n° de la frame en cours (booléen)
Défaut = False
.. note::
Pratique en conjonction avec un long délai dans la méthode projection,
pour régler finement la projection d'un ou de film(s), de sous-titres,
...
Exemple:
.. code-block::
obj.affiche_no_frame = True
obj.projection(delai = 0.5)
""")
def get_no_frame_xy(self):
return self._no_frame_xy
def set_no_frame_xy(self, no_frame_xy):
self._no_frame_xy = no_frame_xy
no_frame_xy = property(get_no_frame_xy, set_no_frame_xy, '',
"""
Retourne ou fixe les coordonnées de l'affichage n° de frame en cours, si
affiche_no_frame = True. Défaut = (0, 0)""")
# public methods
def projection(self, nb_frames=0, x=2, y=4, trace=0, delai=0.1):
"""Lance l'instance film en lisant les frames.
......@@ -342,9 +379,13 @@ croissant de leurs noms.")
before = " " * trace
no_frame = 0
while no_frame <= nb_frames or nb_frames == 0:
while no_frame < nb_frames or nb_frames == 0:
try:
for f in self._frames:
# affichage du n° de la frame
if self.affiche_no_frame:
self.__ccxy1(self.no_frame_xy)
print("frame " + str(no_frame))
# affichage de la frame
for l in range(len(f)):
self.goto(x, y + l)
......@@ -366,8 +407,6 @@ croissant de leurs noms.")
self.__ccxy1(self.ctrl_c_xy)
print(" CTRL + C to stop.")
sleep(delai)
if no_frame > nb_frames and nb_frames != 0:
break
if self.reverse:
x -= self.deplacement
else:
......
......@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
setuptools.setup(
name="ascii_films",
version="0.0.14",
version="0.0.15",
author="Robert Sebille",
author_email="robert@sebille.name",
maintainer = 'Robert Sebille',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment