Literal

Software screenshot:
Literal
Software detaljer:
Version: 1.0.0
Upload dato: 15 Apr 15
Udvikler: Ask Solem
Licens: Gratis
Popularitet: 11

Rating: nan/5 (Total Votes: 0)

Literal er et projekt for at skabe en måde at generere Python kode med Python kode. & Nbsp; I stedet for at Strenglitteraler af Python kode, du bruger literal.py objekter, der husker de operationer, gjort for dem, og historien om operationer er den resulterende Python program.
Dette er blot et eksperiment, som jeg ønskede at spille med; Det er nytten ikke er bevist, og mere end sandsynligt vil blive smidt væk som en mislykket eksperiment. Så brug med omhu og forsigtighed.
Hurtig oversigt
import bogstavelig
@ Literal.py
def unpack_octet (x, nyttelast, offset, unpack_from):
& Nbsp; x <<= unpack_from ('B', nyttelast, offset)
& Nbsp; offset + = 1
print (unpack_octet ())
Giver:
x = unpack_from ('B', nyttelast, offset)
offset + = 1
Eller et andet eksempel bruges til at skabe argument udpakkere for AMQP protokol:
def udpakning (metode):
& Nbsp; @ literal.py
& Nbsp; def krop (p, nyttelast, offset, unpack_from, argtuple, ssize):
& nbsp; Fields = method.fields
& Nbsp; navne = p.tuple (* self.field_names)
& Nbsp; thi jeg, fset i optælle (felter):
& Nbsp; hvis len (fset) == 1:
& Nbsp; for feltet i fset:
& Nbsp; name = p.var (field.name)
& Nbsp; hvis field.format == '*':
& Nbsp; # Dette er en streng nyttelast,
& Nbsp; # behøver ikke at pakke ud
& Nbsp; navn <<= nyttelast [offset: offset + ssize]
& Nbsp; offset + = ssize
& Nbsp; andet:
& Nbsp; # Et enkelt felt til at pakke
& Nbsp; navn <<= unpack_from (struct_format (field.format)
& Nbsp; nyttelast, offset) [0]
& Nbsp; offset + = field.size
& Nbsp; andet:
& Nbsp; # En liste over felt at pakke
& Nbsp; disse = p.tuple (* fset.names)
& Nbsp; disse <<= unpack_from (struct_format (fset.format)
& Nbsp; nyttelast, offset)
& Nbsp; offset + = sum (f.size for f i fset)
& Nbsp; returnere navne
. & Nbsp; tilbagevenden krop () as_fun (lambda nyttelast, offset: 1,
& Nbsp; method.name)
Vil få følgende kode for AMQP metode basic_deliver:
def levere (nyttelast, offset):
& Nbsp; ssize = unpack_from ('B', nyttelast, offset) [0]
& Nbsp; offset + = 1
& Nbsp; consumer_tag = nyttelast [offset: offset + ssize]
& Nbsp; offset + = ssize
& Nbsp; delivery_tag, tilbageleveret, ssize = unpack_from (»QBB«, nyttelast, offset)
& Nbsp; offset + = 10
& Nbsp; udveksling = nyttelast [offset: offset + ssize]
& Nbsp; offset + = ssize
& Nbsp; ssize = unpack_from ('B', nyttelast, offset) [0]
& Nbsp; offset + = 1
& Nbsp; routing_key = nyttelast [offset: offset + ssize]
& Nbsp; offset + = ssize
& Nbsp; afkast (consumer_tag, delivery_tag, tilbageleveret,
& Nbsp; udveksling, routing_key)
Mere dokumentation til at komme.
Installation
Du kan installere bogstavelig enten via Python Package Index (PyPI) eller fra kilden.
Sådan installeres ved hjælp pip:
pip installere bogstavelig
Sådan installeres ved hjælp easy_install:
& Nbsp; easy_install bogstavelig
Hvis du har hentet en kilde tar-arkiv kan du installere den ved at gøre følgende:
& Nbsp; python setup.py build
# Python setup.py installere # som root
Bug tracker
Hvis du har forslag, fejlrapporter eller irritationsmomenter bedes du rapportere dem til vores problem tracker på http://github.com/ask/literal.py/issues/
Bidrag
Udvikling af literal.py sker på Github: http://github.com/ask/literal.py
Du er stærkt tilskyndes til at deltage i udviklingen. . Hvis du ikke kan lide Github (eller anden grund) er du velkommen til at sende regelmæssige patches

Krav :

  • Python

Andre software developer Ask Solem

django-kombu
django-kombu

12 May 15

Celery
Celery

12 May 15

Kombu
Kombu

12 May 15

Kommentarer til Literal

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!