Exemple #1
0
 def test_compose_many(self):
     foo = Noop()
     bar = Noop()
     baz = Noop()
     composed = Hellbox.compose(foo, bar, baz)()
     assert composed.head == foo
     assert composed.tail == baz
Exemple #2
0
 def test_compose_many(self):
     foo = Noop()
     bar = Noop()
     baz = Noop()
     composed = Hellbox.compose(foo, bar, baz)()
     assert composed.head == foo
     assert composed.tail == baz
Exemple #3
0
 def test_compose(self):
     foo = Noop()
     bar = Noop()
     composed = Hellbox.compose(foo, bar)()
     assert composed.head == foo
     assert composed.head is not foo
     assert composed.tail == bar
     assert composed.tail is not bar
     assert bar in composed.head.callbacks
Exemple #4
0
 def test_compose(self):
     foo = Noop()
     bar = Noop()
     composed = Hellbox.compose(foo, bar)()
     assert composed.head == foo
     assert composed.head is not foo
     assert composed.tail == bar
     assert composed.tail is not bar
     assert bar in composed.head.callbacks
Exemple #5
0
 def test_compose(self):
     noop = lambda x: x
     foo = Chute.create(noop)()
     bar = Chute.create(noop)()
     Composite = Hellbox.compose(foo, bar)
     composed = Composite()
     assert composed.head is foo
     assert composed.tail is bar
     assert bar in foo.callbacks
Exemple #6
0
 def test_multiple_compose(self):
     foo = Noop()
     bar = Noop()
     Composite = Hellbox.compose(foo, bar)
     composed = Composite()
     assert composed.head == foo
     assert composed.tail == bar
     composed2 = Composite()
     assert composed is not composed2
     assert composed.head is not composed2.head
Exemple #7
0
 def test_multiple_compose(self):
     foo = Noop()
     bar = Noop()
     Composite = Hellbox.compose(foo, bar)
     composed = Composite()
     assert composed.head == foo
     assert composed.tail == bar
     composed2 = Composite()
     assert composed is not composed2
     assert composed.head is not composed2.head
Exemple #8
0
"""
Example hellfile.py

To run with development version of Hellbox, from this directory run:
> hell init (This will fail because pip doesn't know about hellbox yet)
> cd .. && ./example/.hellbox/bin/python setup.py install
> cd example && hell freeze && hell inspect
"""

from hellbox import Hellbox
from packages.test import TestUFO
from packages.generate_otf import GenerateOTF
from packages.extension import BuildRoboFontExtension


MakeOTF = Hellbox.compose(TestUFO(), GenerateOTF())

MakeExt = Hellbox.compose(BuildRoboFontExtension(info_format="yaml"))


with Hellbox("font") as task:
    task.describe("Does a little generation dance.")
    task.read("*.ufo", "src/*") >> MakeOTF() >> task.write("otf")

with Hellbox("extension") as task:
    task.describe("Builds a robofont extension in place.")
    task.requires("font")
    task.read("src") >> MakeExt() >> task.write(".")


Hellbox.default = "font"
Exemple #9
0
from hellbox import Hellbox
from hellbox.jobs.dsig import InsertDummyDsig
from hellbox.jobs.fontmake import GenerateOtf, GenerateTtf

from lib.autohint import Autohint
from lib.woff import GenerateWoff
from lib.woff2 import GenerateWoff2

PostProduction = Hellbox.compose(InsertDummyDsig(), Autohint())

Hellbox.default = "build"

with Hellbox("build") as task:
    task.describe("Builds font files from source")

    source = task.read("source/*.ufo")
    otf = source >> GenerateOtf() >> PostProduction()
    ttf = source >> GenerateTtf() >> PostProduction()
    woff = ttf >> GenerateWoff()
    woff2 = ttf >> GenerateWoff2()

    otf >> task.write("build/otf")
    ttf >> task.write("build/ttf")
    woff >> task.write("build/woff")
    woff2 >> task.write("build/woff2")
Exemple #10
0
"""
Example hellfile.py

To run with development version of Hellbox, from this directory run:
> hell init (This will fail because pip doesn't know about hellbox yet)
> cd .. && ./example/.hellbox/bin/python setup.py install
> cd example && hell freeze && hell inspect
"""

from hellbox import Hellbox
from packages.test import TestUFO
from packages.generate_otf import GenerateOTF
from packages.extension import BuildRoboFontExtension

MakeOTF = Hellbox.compose(TestUFO(), GenerateOTF())

MakeExt = Hellbox.compose(BuildRoboFontExtension(info_format="yaml"))

with Hellbox("font") as task:
    task.describe("Does a little generation dance.")
    task.read("*.ufo", "src/*") >> MakeOTF() >> task.write("otf")

with Hellbox("extension") as task:
    task.describe("Builds a robofont extension in place.")
    task.requires("font")
    task.read("src") >> MakeExt() >> task.write(".")

Hellbox.default = "font"