PROJET AUTOBLOG


Sam & Max: Python, Django, Git et du cul

Site original : Sam & Max: Python, Django, Git et du cul

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

Tableau de référence des exceptions en Python 6

lundi 23 mars 2015 à 00:23

J’ai fais un topo sur la gestion des erreurs en python, mais je pense que les débutants peuvent bénéficier d’un petit tableau pour s’y retrouver quand ils tombent sur les erreurs les plus courantes.

Les exceptions suivantes sont levées en cas d’erreur. Elles héritent toutes de StandardError :

Exception Cause Résolution
NotImplementedError Un développeur a volontairement levé cette exception dans une des méthodes de sa classe afin de signaler que c’est aux enfants de la classe de l’implémenter. N’utilisez pas la classe directement, mais créez une classe enfant. Overridez la méthodes afin de lui donner un comportement. Si vous ne comprenez pas ce que je viens de dire, lisez le guide sur la POO.
IndentationError ou TabError Le fichier mélange des tabs et des espaces ou n’utilisent pas le même nombre de tabs ou d’espaces partout. Activez l’affichage des tabs et espaces dans votre éditeur de texte, et assurez-vous d’utiliser 4 espaces partout comme valeur d’indentation.
ImportError Python ne peut pas importer un module. Vérifier que le nom du module ne comporte pas de fautes (Python est sensible à la casse). Assurez-vous que le module est importable (situé dans un dossier du PYTHON PATH) et qu’il ne contient pas d’erreurs empêchant son importation, telle qu’une référence cyclique. Si vous ne savez pas ce qu’est le PYTHON PATH, lisez l’article sur les imports.
AssertionError Une expression assert est fausse. Si c’est dans votre code, retirez le assert, ce mot clé n’est que pour les tests unittaires. Si vous avez la malchance de tomber sur une lib qui l’utilise comme garde fou pour le passage d’arguments valeur, lisez le code source, et passez une valeur qui rendra l’expression vraie. Si vous en avez dans les tests et que vous ne savez pas quoi en faire, lisez le guide sur le tests.
AttributeError Vous demandez à un objet de vous fournir un attribut qu’il ne possède pas. Vérifiez que le nom de l’attribut et le nom de l’objet ne contiennent pas de faute (Python est sensible à la casse). Vérifier que l’attribut a bien été créé avant son accès et pas supprimé entre temps (Python est dynamique, les attributs peuvent être créés et supprimés à la volée. Si le cas où l’attribut n’existe pas est un cas valide, vous pouvez tester cette existence avec hasattr() ou obtenir une valeur par défaut avec getattr().
NameError Vous tentez d’utiliser un nom (de variable, fonction, classe, etc) qui n’existe pas. Vérifiez que ce nom ne contient pas de faute (Python est sensible à la casse). Assurez-vous que ce que vous nommez a bien été créé avant cette ligne.
IndexError Vous tentez d’accéder à une partie d’une indexable (souvent une liste ou un tuple) qui n’existe pas. Assurez vous que l’indexable contient assez d’éléments. Si le cas d’un indexable trop court est normal, vous pouvez vérifier la longueur de l’indexable avec len(), ou utilisez un try/except.
KeyError Vous tentez d’accéder à une clé d’un mapping (souvent un dictionnaire) qui n’existe pas. Assurez vous que la clé existe. Si le cas d’une clé inexistante est normal, vous pouvez vérifier qu’une clé est dans le mapping avec ‘in’, utiliser try/except ou obtenir une valeur par défaut avec get(). Dans le cas où vous souhaitez aussi que la valeur par défaut soit ajoutée à la collection, utilisez setdefault() ou collection.defaultdict().
TypeError Vous tentez une opération incompatible avec ce type. Si l’erreur a lieu au niveau d’une fonction que vous appelez, assurez-vous de passer des paramètres du type attendu par la fonction. Vous pouvez vérifier le type d’un objet avec type(). Vérifiez également que vous n’utilisez pas un opérateur incompatible avec un type (par exemple, & ne fonctionne pas sur les strings) ou entre deux types incompatibles (par exemple, il n’est pas possible d’additionner une string avec un entier).
ValueError Vous passez une valeur à une fonction qui n’a aucun sens dans ce contexte ou dont le sens est ambiguë. Assurez-vous de ne pas passer une valeur aberrante et que le résultat attendu soit évident. Par exemple, si vous essayez de faire int(‘é’), la conversion de la lettre “é” en entier n’a pas de résultat évident.
UnicodeDecodeError Vous gérez votre texte comme un porc. Lisez le guide sur l’encoding.
UnicodeEncodeError
OverflowError Vous faites des calculs trop gros pour les types numériques des base Utilisez le module decimal
ZeroDivisionError Vous faites une division par zéro Assurez-vous que sous aucune condition aucun dénominateur n’est égal à 0
IOError Erreur d’entrée / sortie Vérifiez que vous pouvez lire / écrire depuis et vers la ressource que vous utilisez. Parmi les problèmes récurrents : disque dur plein, système corrompu, absence de permissions, fichier inexistant, etc.
OSError L’OS retourne une erreur Les causes peuvent être très variées, mais concernent souvent le système de fichier ou l’utilisation d’un sous-process. Vérifier les lignes où vous utiliser les modules os, shutils, popen, subprocess, multiprocessing, etc.
MemoryError Vous utilisez trop de mémoire Vérifiez vos remplissages de listes et dictionnaires, particulièrement si vous en déclarez un comme valeur par défaut d’un paramètre.

Je n’ai pas mentionné quelques exceptions beaucoup plus rares, mais vous pouvez trouver la liste complète ici.

Toutes les exceptions héritent de BaseException, y compris Exception.

Il existe 3 exceptions qui n’héritent pas de Exception, et ne représentent PAS des erreurs :

Bien qu’héritant d’Exception, les warnings sont des mécanismes un peu particulier. Ils sont tous notés XxxWarning (ex: DeprecationWarning pour signaler l’usage d’une fonctionnalité en cours de dépréciation) et sont des enfants de Warning.

Généralement les warnings ne sont pas fait pour être levés avec raise, mais appelé avec warnings.warn. Par défaut ces warnings sont affichés, mais peuvent être réduits au silence, filtrés ou levés comme exception selon le désir du développeur.

Enfin, StopIteration est levée quand on appelle next() sur un itérateur vide. C’est le seul enfant de Exception (avec Warning) qui n’hérite pas de StandardError car ce n’est pas une erreur en soit, mais simplement un mécanisme de contrôle de flux qui dit à la boucle for quand s’arrêter.

Le don du mois : VLC 6

samedi 14 mars 2015 à 12:12

Le concept du don du mois fait des emules, et c’est bien. Que nous réserve donc mars ?

Un petit flasback, comme souvent.

Souvenez-vous, ce temps des packs de codecs buggés et vérolés. Des multiples lecteurs à installer. Des fichiers incomplets ou corrompus illisibles pour un bit de travers. De votre ordi qui rame car le film est trop compressées. L’ère pré-historique de la lecture de vidéo.

Et puis, cocorico !

A l’école Centrale de Paris, des élèves décident de streamer des films entre deux points de leur internat, et ainsi naquis VLC.

Qui lit tout. Même les .mov, les trucs fait pour realplayer, les .ogg, les videos streamées, les films cassés, les DVD chiffrés ou zonés… Tout, en prenant le minimum de ressource. Avec tellement d’options en plus : les sous-titre, le décalage du son, le transcoding, le changement d’orientation, de format, de pitch, le saut des pubs, etc. Et il existe des interfaces ncurse, HTTP et telnet !

Cerise sur le gâteau, ça marche sur Mac. Sur Linux. Et sur Windows, en un exe, qu’on peut rendre portable sur clé USB. Et depuis la dernière version, sur mobile.

La fondation VLC accepte les bitcoins et reçoit donc 50€ d’amour inconditionnel.

Je suis très attachant 9

vendredi 13 mars 2015 à 13:03

Je n’ai rien contre le fait d’être attaché de temps en temps, mais il est vrai que je préfère attacher. Pas que ce soit une pratique quotidienne, pas plus que manger des frites à Mac Do, mais de temps en temps avec des amis c’est sympa.

Maintenant, quand on attache, il faut se poser la question de quoi, sur quoi, avec quoi et comment.

Bondage, weall started somewhere

Personne ne naît expert en ligotage

Quoi

Les bras, en priorité. C’est ce qui donne le plus de sensations.

Les chevilles en second, si on a la possibilité.

Homme attaché

On est pas obligé d’attacher à quelque chose en particulier

Après le reste n’est pas aussi important, c’est du bonus, c’est contextuel.

On peut attacher les bras aux chevilles pour donner un sentiment d’abandon total.

On peut attacher le cou pour le côté “laisse”.

Plus rare, mais intéressant, on peut attacher le taille en formant un harnais. Parfois pour suspendre le partenaire, parfois juste pour l’empêcher de gigoter. C’est quelque chose qu’on fait quand on veut donner un coup de pouce dans la progression de ce que peut supporter l’autre. Néanmoins le point d’attache est plus difficile à trouver. Astuce : si on ne peut pas attacher en face, diviser la corde ou autre, en deux, et attacher de part et d’autre. C’est presque aussi efficace.

On peut attacher les cheveux à quelque chose, mais c’est advanced, je le recommande pas aux débutants. Contrairement au cou, ce n’est pas très dangereux, mais il y a beaucoup de manière de casser l’ambiance avec cette idée.

On peut ligoter les seins. Bien entendu, le but n’est pas d’empêcher la personne de se débattre à coup de tétons, mais bien, pour certaines qui aiment cela, d’avoir les mamelles en tension. Dans le même registre, un bâillon est une forme d’attachement. Une chaussette dans la bouche et un bout de scotch font l’affaire. Perso j’aime bien la gags ball (c’est psychologique), mais c’est dur d’entre trouver à la bonne taille car la plupart sont trop grosses.

Et enfin, on peut attacher tout le corps pour un effet d’emprisonnement total.

Comme d’habitude, ce que vous allez attacher n’est pas juste dépendant du résultat que vous voulez obtenir, mais également de ce que peut accepter l’autre. Néanmoins, ne flippez pas : essayez, et si on vous dit non, essayez autre chose. Inutile de vous demander pendant des heures si oui ou non ça va le faire. Même demander directement à la personne n’est pas toujours une bonne solution, entre ceux qui ne savent pas ce qu’ils aiment, ceux qui n’osent pas l’avouer et ceux pour qui en parler leur retire l’excitation. Un peu comme quand vous voyez un enfant dire à un autre “tu veux sortir avec moi ?”. Adulte, ça vous paraîtrait non naturel de le demander à haute voix, et généralement une relation commence par la tentative d’un baiser, non la demande de permission de le faire.

Donc essayez, mais sans brusquer. Sans surprise. Montrez clairement ce que vous êtes en train de faire. Donnez le temps à la personne de dire non.

C’est l’éternel problématique du sexe : notre société vous dit qu’il faut demander la permission pour tout sinon vous êtes pire qu’Hitler, mais dans la pratique les personnes avec une sexualité avancée ne demandent pas tout. Certaines choses sont justes tentées, et on s’adapte au résultat et à la réaction. Il y a donc une véritable prise de risque social, comme souvent avec les trucs un peu fun.

Ça n’enlève pas le fait qu’il faut AVOIR la permission pour continuer quoique ce soit. Simplement que vous ne pouvez pas toujours la demander explicitement.

Dans les milieux SM expérimentés, il n’est cependant pas rare d’avoir des questionnaires à remplir au préalable pour que chacun sache ce qu’il peut faire ou pas. Mais le plupart des gens n’en sont pas à ce degré d’aisance sexuelle (tiens, je sais qu’on se connaît depuis une semaine, mais rempli ce questionnaire avant qu’on baise steupl). Et croyez-moi, ils font des trucs plus hard que de mettre une laisse.

Sur quoi

Bien entendu, les barreaux de lit viennent en première idée, et le radiateur en second. Mais on peut innover.

On peut s’attacher l’un à l’autre, de différentes manières. Une corde en corps à corps. Une main à une main. Une laisse du cou de l’un à la hanche de l’autre.

Double bondage

Nul besoin d’aller si loin, même attacher une seule main peut suffire à mettre la bonne ambiance

On peut s’attacher à une chaise, bien entendu. Les chaises roulantes sont marrantes 5 minutes, mais pas pratiques.

Un truc bien sympa est d’avoir un accessoire pour suspendre. Un crochet par exemple, attaché très solidement au mur ou au plafond. Une mezzanine avec des barreaux (chez Ikea ce sont de sacrés coquins) se prête naturellement à cela.

J’ai quand même une astuce spécial bricolo pour vous : prenez des attaches de sex shop, et faites un gros nœud d’un coté, puis passez les au dessus d’une porte qui ferme bien. Le nœud coincera les attaches dans le haut de la porte, et vous pouvez suspendre tout à loisir contre la porte. Avantage : ça s’enlève facilement après la séance.

Une chose à laquelle on pense plus rarement : attacher à un gros objet lourd mais transportable, à traîner comme un boulet de prisonnier. C’est utile surtout pour les scénarios domi de longue durée, par pour chahuter au goûter, mais les gens ne s’y attendent pas. Faites gaffe que le truc ne raye pas le parquet, ça m’a coûté une caution.

Si vous avez la chance de visiter des clubs SM, vous rentrerez avec tout un tas de supports inédits pour s’attacher : des croix, des tables spéciales, des “chevaux” de bois, etc. C’est impressionnant, et tout le monde n’a pas envie ni besoin d’aller aussi loin, mais il est bon de savoir que ça existe. Ça peut inspirer pour chez soi.

A ne pas tenter :

Avec quoi

Des choses larges. Les petites attaches coupent la circulation du sang, et peuvent être dangereuses. Je ne vais pas jeter la pierre, moi aussi j’ai attaché avec des lacets dans le feu de l’action, mais ce n’est pas idéal.

Les ceintures font de meilleures attaches improvisées.

En matière de corde, prenez de la grosse corde (chez Jardiland ce sont de sacrés coquins), et essayez la sur vous. Plusieurs longueurs sont utiles : courtes pour les brases et les jambes, longues pour les hanches ou le cou, très longue pour tout le corps, genre total bondage.

Shibari

Evidemment, les japonais ont trouvé le moyen d’en faire une forme d’art. Qui d’autres ?

Mais l’idéal pour débuter, ce sont encore les produits des sex shops. Beaucoup sont nuls à chier, il faut donc les essayer. Généralement, les attaches pour les bras et jambes sont pas mal. Un truc sympa qu’on ne trouve que dans ces boutiques ou sur le net, ce sont des rubans adhésifs qui se collent uniquement à eux même. Ça ne colle pas à la peau ni aux vêtements. On peut faire des choses intéressantes avec.

Sinon évidemment, le gros scotch gris est top pour un scénario type kidnapping. Évitez les zones poilues et les tissues fragiles, sauf si vous savez que ça plaît. Les attaches plastiques rapides, qui sont assez fines donc faites gaffe, brillent quand la rapidité de mise en place et la solidité sont importantes. Et elles permettent de créer de nouvelles zones d’attache ou d’en lier plusieurs (chez Bricorama ce sont de sacrés coquins).

De manière surprenante, les boutiques de sécurité (là où se fournissent les flics, gardiens, CRS, garde du corps, qui sont de sacrés coquins) possèdent plein de choses qui peuvent être détournées. Non, je ne parle pas des tasers bande d’abrutis, mais des différentes variantes des menottes (bien meilleures que celles des sex shop) et autres outils pour maîtriser “une menace”. Ne faites pas n’importe quoi néanmoins, ces magasins possèdent des choses dangereuses qui ne sont pas faites pour faire mumuse. Vous êtes des adultes (j’espère :)), vous vous devez le bon sens, dans le cas contraire je m’assurerai que vous receviez le Darwin Award qui vous est dû.

Autre source peu connue de matériel cochon, les hôpitaux (qui sont pleins de sacrés coquins), et particulièrement les départements avec des patients subissant des traitements invasifs, en grande douleur ou en internement psychiatrique. Sans aller jusqu’à la camisole de force, que je n’ai pas eu le plaisir de tester, les attaches des lits sont à la fois très polyvalentes (on peut les combiner, les ajuster et les attacher à presque n’importe quoi) et très confortables (on peut tirer dessus très fort sans blesser la personne). J’ai des amis infirmiers qui m’ont fourni en la matière, et c’est super chouette.

Enfin, si vous avez les moyens, les balançoires et autres outils de suspensions SM sont très, très fun, mais demandent une installation contraignante.

Comment

Avec concentration.

Spock bondage

Il faut rester logique

On peut faire un peu mal. On peut fournir un peu d’inconfort. Ou plus. Ou moins. A doser selon l’attaché(e).

Mais la sécurité est importante.

Si tout ce que vous faites est d’attacher la personne aux barreaux du lit, le pire qu’il puisse vous arriver sont des poignets un peu rouges.

Mais dès que vous faites de la laisse, de la suspension ou des attaches sur plusieurs parties du corps, il faut réfléchir à ce que vous faites.

Et c’est ce que beaucoup de personnes ne comprennent pas, dans un moment de bestialité sexuelle, qu’on doive avoir la maturité et la discipline de prendre du recul. Mais c’est comme ça que la confiance se construit, qu’on peut aller de plus en plus loin, et qu’on s’amuse.

Quelques conseils mécaniques : essayez d’orienter les attaches aux poignets de telle sorte que la corde appuie plus sur l’extérieur du bras qu’à l’intérieur (où sont les veines). Par exemples, si vous utilisez un zipper plastique, mettez l’intérieur des bras l’un contre l’autre, ou contre une surface, pour immobiliser les deux mains à la fois. Si vous serrez fort, ce sera désagréable, mais pas dangereux.

Pas évident si vous avez convenu que la personne se débattrait pendant l’acte, j’en conviens. Des fois ça donne des sessions fou-rire et ça finit n’importe comment :)

Les attaches des chevilles ne sont pas très risquées, donc si vous voulez tirer sur quelque chose, ici, vous pouvez.

A moins que vous sachiez très bien ce que vous faites, contrairement aux bras et aux jambes qui peuvent être en tension pour renforcer le sentiment d’emprisonnement, le cou doit toujours avoir du mou et jamais avec un angle possible dans lequel on peut se coincer et se blesser. Il y a 3 choses à vérifier : s’assurer que la trachée n’est pas écrasée pour laisser passer l’air et ne pas casser la voix, que les jugulaires ne sont pas bloquées pour assurer un flux sanguin, et que la nuque ne subit pas de pression. Souvenez-vous : le collier, c’est du jeu. Il existe des personnes qui aiment être étranglées, mais elles sont rares, et ça demande de l’attention de la part de celui qui étrangle. Il y a des gens qui meurent chaque année à cause d’asphyxie érotiques mal maîtrisées.

Laisse avec du mou

Ca ne veut pas dire que vous ne pouvez pas tirer sur la laisse. Ca veut dire qu’il faut gérer.

Le porno hard que vous voyez en ligne est fait par des professionnels. Tout paraît toujours simple quand on voit une scène, mais ils ont l’habitude, et la préparation.

Je sais, je vous ai manqué 10

jeudi 12 mars 2015 à 16:00

Mais à partir de demain les articles reprennent. Faudra que je depop tous les mails, les tickets github, répondre aux commentaires, checker indexerror, etc.

Ca va prendre du temps, mais ça repart.

Je ferai bien un article de cul pour faire une rentrée sur le pompier. Heu le bon pied.

Et ça repart 11

lundi 9 février 2015 à 09:03

Je me barre un mois dans la nature.

J’aurai pas d’ordi, donc pas de nouveaux posts sauf si Max se sort les doigts du fion.

Profitez-en pour relire les anciens articles :)

Error happened! 0 - count(): Argument #1 ($value) must be of type Countable|array, null given In: /var/www/ecirtam.net/autoblogs/autoblogs/autoblog.php:428 http://ecirtam.net/autoblogs/autoblogs/sametmaxcom_a844ada43a979e3b1395ab9acb6afafb84340999/?75 #0 /var/www/ecirtam.net/autoblogs/autoblogs/autoblog.php(999): VroumVroum_Blog->update() #1 /var/www/ecirtam.net/autoblogs/autoblogs/sametmaxcom_a844ada43a979e3b1395ab9acb6afafb84340999/index.php(1): require_once('...') #2 {main}