Literal

Logiciel capture d'écran:
Literal
Détails logiciels:
Version: 1.0.0
Date de transfert: 15 Apr 15
Développeur: Ask Solem
Licence: Gratuit
Popularité: 11

Rating: nan/5 (Total Votes: 0)

littéral est un projet pour créer un moyen de générer du code Python avec le code Python & nbsp;. Au lieu d'avoir des littéraux de chaîne de code Python, vous utilisez des objets qui se souvient literal.py les opérations effectuées à eux, et l'historique des opérations est le programme Python résultant.
Ce est juste une expérience que je voulais jouer avec; Ce est l'utilité ne est pas prouvée, et plus que probablement ce sera jeté comme une expérience ratée. Il faut donc utiliser avec soin et prudence.
aperçu rapide
importation littérale
@ Literal.py
def unpack_octet (x, charge utile, offset, unpack_from):
& Nbsp; x <<= unpack_from ('B', la charge utile, offset)
& Nbsp; décalage + 1 =
impression (unpack_octet ())
Donne:
x = unpack_from ('B', la charge utile, offset)
décalage + 1 =
Ou un autre exemple utilisé pour créer déballeurs d'arguments pour le protocole AMQP:
def déballer (méthode):
& Nbsp; @ literal.py
& Nbsp; def corps (p, charge utile, offset, unpack_from, argtuple, ssize):
& nbsp; Fields = method.fields
& Nbsp; noms = p.tuple (* self.field_names)
& Nbsp; pour i, fset dans une énumération (champs):
& Nbsp; si len (fset) == 1:
& Nbsp; pour le champ dans fset:
& Nbsp; name = p.var (field.name)
& Nbsp; si field.format == '*':
& Nbsp; # Ce est une charge utile de chaîne,
& Nbsp; # ne ont pas à déballer
& Nbsp; nom <<= charge utile [offset: décalage + ssize]
& Nbsp; décalage + = ssize
& Nbsp; d'autre:
& Nbsp; # Un seul champ pour décompresser
& Nbsp; nom <<= unpack_from (struct_format (field.format),
& Nbsp; la charge utile, offset) [0]
& Nbsp; décalage + = field.size
& Nbsp; d'autre:
& Nbsp; # Une liste de champ pour décompresser
& Nbsp; ceux-ci = p.tuple (* fset.names)
& Nbsp; ces <<= unpack_from (struct_format (fset.format),
& Nbsp; la charge utile, offset)
& Nbsp; décalage + = somme (f.size for f in fset)
& Nbsp; retourner noms
. & Nbsp; le corps de retour () as_fun (lambda charge utile, compensé: 1,
& Nbsp; method.name)
Générerait le code suivant pour la méthode AMQP basic_deliver:
def livrer (charge utile, offset):
& Nbsp; ssize = unpack_from ('B', la charge utile, offset) [0]
& Nbsp; décalage + 1 =
& Nbsp; consumer_tag = charge utile [offset: décalage + ssize]
& Nbsp; décalage + = ssize
& Nbsp; delivery_tag, redistribué, ssize = unpack_from ('QBB', charge utile, offset)
& Nbsp; décalage + 10 =
& Nbsp; l'échange = charge utile [offset: décalage + ssize]
& Nbsp; décalage + = ssize
& Nbsp; ssize = unpack_from ('B', la charge utile, offset) [0]
& Nbsp; décalage + 1 =
& Nbsp; routing_key = charge utile [offset: décalage + ssize]
& Nbsp; décalage + = ssize
& Nbsp; retour (consumer_tag, delivery_tag, redistribué,
& Nbsp; l'échange, routing_key)
Plus de documentation à venir.
Installation
Vous pouvez installer littérale soit via Python Package Index (PyPI) ou de la source.
Pour installer avec pip:
pip installer littérale
Pour installer en utilisant easy_install:
& Nbsp; easy_install littérale
Si vous avez téléchargé l'archive source, vous pouvez l'installer en procédant comme suit:
& Nbsp; python setup.py build
# Python setup.py install # en tant que root
Bug Tracker
Si vous avez des suggestions, des rapports ou des désagréments bugs se il vous plaît les signaler à notre Issue Tracker à http://github.com/ask/literal.py/issues/
Contribuer
Développement de literal.py arrive au Github: http://github.com/ask/literal.py
Nous vous encourageons fortement à participer au développement. . Si vous ne aimez pas Github (pour une raison), vous êtes invités à envoyer des patchs réguliers

Exigences :

  • Python

D'autres logiciels de développeur Ask Solem

django-kombu
django-kombu

12 May 15

celerymon
celerymon

20 Feb 15

Github2
Github2

5 Jun 15

Kombu
Kombu

12 May 15

Commentaires à Literal

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!