Pleroma/Gegeweb

Gérald Niel 🤘 ☭ Ⓐ bass | @gerald@pleroma.gegeweb.eu

Bassiste, ingé-son, newsmaster, pas informaticien (en théorie), autodidacte, cyclotouriste/sportif et "vélotafeur".
Au boulot, responsable du SI (logiciels).

:qrcode:

#vélo #vélotaf #basse #FreeBSD #rock #metal #hardrock #RaspberryPi

re: gemypi.py Commentaires sur gemini via le fediverse
@jln
Ça viendra… ;)

Déjà ne pas ré-écrire pour rien, c'est pas si mal.
C'est déjà bien fonctionnel.
Dans une crontab toute les 10/15' ça peut suffire.
Pas forcément besoin de faire du temps réel. Surtout sur ce média.

re: gemypi.py Commentaires sur gemini via le fediverse

@jln

(date modif fichiers)

Mais je ne sais pas trop si c’est fiable de s’appuyer sur ce type d’information système. J’imagine que oui ?

Oui c’est fiable, je l’utilise pour gérer du contenu en cache (avec du PHP ou du JS).

Une autre solution… le script tourne comme un deamon et reçoit les notifs pour le toot. J’ai survolé la doc de Mastodon.py mais ça semble possible. Du coup ça pourrait faire du temps réel…

https://mastodonpy.readthedocs.io/en/stable/#streamlistener

re: gemypi.py Commentaires sur gemini via le fediverse

@jln

Je ne crois pas qu’on puisse connaitre le nombre de toots sans effectuer une requête qui va de toute façon tous les rapatrier

Si si. ;) Avec l’ID du toot original :

https://mastodonpy.readthedocs.io/en/stable/#toot-dicts

'replies_count': # The number of replies to this status.

D’ailleurs j’avais pensé à mettre un lien vers le toot original. Puisqu’il faut répondre de là pour commenter.

Mais pour ça il faut que je sois plus à l’aise avec Python. Même si c’est un langage qui à l’air facile à apprendre. ;)

re: gemypi.py Commentaires sur gemini via le fediverse
@jln
J'ai envoyé une nouvelle PR sur cette branche.
J'ai été obligé d'ajouter deux lignes vides au début du fichier comment.tpl.
Sinon ça vient se coller juste derrière la dernière ligne de la page.

Si on utilise le script dans une crontab pour éviter de ré-écrir pour rien peut être faudrait-il stocker le nombre de réponses et ne charger les toots et ré-écrire la page que si le nombre de réponses à changé.

Mais ça… pas encore trouver comment faire.
J'y vais un peu à taton avec Python là. ;)

#UPS, épisode #3…
Le colis qui devait être livré ce jour entre 10h00 et 14h00 qui est toujours « en transit » est passé à demain entre 10h00 et 14h00.

La suite au prochain épisode…

BTW, today we released v3, complete with p2p live streaming features and a behind-the-scene short film.

Read more about it on our blog (and please share 😉) https://framablog.org/2021/01/07/peertube-v3-its-a-live-a-liiiiive/

re: gemypi.py Commentaires sur gemini via le fediverse

@jln Je dois aller bosser. J’ai quelque chose de fonctionnel. Je ferais une MR ce soir…

USERCRED_FEDI = "./pytooter_usercred.secret"

SERVER_TIMEZONE = pytz.timezone('Europe/Paris')
DATE_FORMAT = "%d %b %Y %H:%M"

def fedi_connectt():
    mastodon = Mastodon(
        access_token = USERCRED_FEDI,
        api_base_url = URL_FEDI
    )
    return mastodon

Puis :

class Comments():
    """ Ensemble des toots composant les commentaires d'un article
    """
    def __init__(self, toot_id, url=URL_FEDI, comment_title=COMMENT_TITLE, no_comment=NO_COMMENT):
        self.toot_id = toot_id
        self.url = url
        self.comment_title = comment_title
        self.no_comment = no_comment
        mastodon = fedi_connectt()
        self.comments = mastodon.status_context(toot_id)["descendants"]
        
    def get_toots(self):
        """ Renvoie les toots d'un thread, formatés pour l'intégration dans la
        gempage
        """
        self.output = f"\n\n{self.comment_title}\n\n"
        if self.comments:
                for toot in self.comments:
                    toot_date = toot['created_at'].astimezone(SERVER_TIMEZONE).strftime(DATE_FORMAT)
                    self.output += f"### {toot['account']['display_name']} – {toot_date}\n"
                    self.output += f"=> {toot['url']} Voir le toot\n\n"
                    toot_content = html2text.HTML2Text()
                    toot_content.ignore_links = True
                    toot_content = toot_content.handle( toot["content"] )
                    self.output += f"{toot_content}\n"
                    
        else:
                self.output += self.no_comment
                
        return self.output

J’ai un peu modifié la sortie. Le titre troisième niveau permet d’avoir les toots dans la table des matières.

re: gemypi.py Commentaires sur gemini via le fediverse
@jln Au fait je suis allé regarder un peu du coté de la doc de Mastodon.py.
Vu qu'il est utilisé pour poster le toot initial, ne serait-il pas possible de l'utiliser pour récupérer les commentaires ?
Tu supprime de fait le besoin d'avoir recours à json et requests et ça utilise la même interface pour ce qui concerne le fediverse.
À voir…
Malheureusement, je ne connais absolument pas Python. Les modifs que je t'ai proposé étaient relativement faciles à comprendre et faire sans connaître le langage.

@jln J'irais jeter un œil là dessus en fin de journée.

#Bonjour le fediverse !

Passez une bonne journée.

Le WE en approche…
Ici c'est deux jours de travail en présentiel pour cette fin de semaine (dans chômage partiel, il y a partiel)

C'est con, j'avais bien aimé mardi.
Aller bosser entre midi et 14h00.
C'était pas mal cette journée inversée !

@fouine
C'est bien la date renvoyé sur le toot qui est en UTC.
C'est corrigé de mon coté.
Ça à l'air pas mal…

@fouine La date est dans le toot.
Donc c'est juste le fuseau horaire du serveur qui est en UTC.
datetime.stfrtime() doit prendre en compte le fuseau horaire du serveur.

@fouine Va falloir jouer du fuseau horaire.
Vu que je découvre Python avec ce script ! Pas gagné ! 😆

@fouine Ça marche. ;)

@laetsgo

J'en ai bien peur…

L'autre fois juste un avis de passage, le mec a même pas sonné !
(ça peut être que des mecs pour être aussi feignasse ! ;))

Suis en individuel (maison), portail toujours ouvert… m'enfin…

Juste que comme le cadastre a changé, j'ai mis les deux n° (le nouveau et l'ancien) sur la BAL (EN GROS !), car la numérotation dans la rue est rigolote du coup.

L'autre sketch c'est l’autographe qui diffère d'un GPS à l'autre.

@Natouille

@Natouille Le dialogue avec UPS via l’oiseau bleu est tout aussi surréaliste

– UPS

notre système de suivi indique que votre adresse est incomplète ou erroné

– Moi

Meis je viens de vous dire que j’ai vu le camion passer devant chez moi SANS RALENTIR NI S’ARRETER !

Je vais perdre mon calme…

@jln

> Faire du pseudo et de la date un lien vers le toot d’origine ?

Oui, j'avais pensé à ça.

@gegeweb @VoronoV

@jln

Tu peux regarder ici :
gemini://home.gegeweb.org/~gerald/index.gmi

@gegeweb @VoronoV

# Test gemipy.py
Pages pour tester les commentaires sur une page Gemini

=> https://framagit.org/jln/gemipy gemipy.py (Framagit)# Test gemipy.py
Pages pour tester les commentaires sur une page Gemini

=> https://framagit.org/jln/gemipy gemipy.py (Framagit)[…] gemini://home.gegeweb.org/~gerald/index.gmi

»