pyolian: make the library and the generator importable from another folder

This commit is contained in:
Davide Andreoli 2017-12-29 09:27:49 +01:00
parent 763942d8c7
commit b5e3853e9d
4 changed files with 32 additions and 6 deletions

2
.gitignore vendored
View File

@ -41,6 +41,8 @@ tags
*.eot.cs
*.eo.lua
*.luac
*.pyc
__pycache__
.dir-locals.el
/efl-*-doc.tar.bz2
/ar-lib

View File

View File

@ -14,13 +14,25 @@ You can directly use the python API provided here if you need direct access
to eolian, or we suggest to look at the template-based generator.py if you just
need to generate some sort of text files out of the eolian database.
To use this library from outside this directory, you need to hack sys.path in
a way that this folder will be available on PYTHON_PATH, fe:
pyolian_path = os.path.join(EFL_ROOT_PATH, 'src', 'scripts')
sys.path.insert(0, pyolian_path)
from pyolian import eolian
from pyolian.generator import Template
"""
from enum import IntEnum
from ctypes import cast, byref, c_char_p, c_void_p
try:
from .eolian_lib import lib
except ImportError:
from eolian_lib import lib
### Eolian Enums ############################################################
class Eolian_Function_Type(IntEnum):

View File

@ -15,9 +15,6 @@ For example (from this source folder):
...of course you can pass any other class or namespace to the example above.
You can also import this module and use the provided Template class if you
are more confortable from within python.
The generator is based on the great pyratemp engine (THANKS!), you can find
the full template syntax at: www.simple-is-better.org/template/pyratemp.html
@ -30,10 +27,25 @@ Just keep in mind the syntax is a bit different in this implementation:
comment_start = "#!"
comment_end = "!#"
You can also import this module and use the provided Template class if you
are more confortable from within python. To import from outside this directory
you need to hack sys.path in a way that this folder will be available on
PYTHON_PATH, fe:
pyolian_path = os.path.join(EFL_ROOT_PATH, 'src', 'scripts')
sys.path.insert(0, pyolian_path)
from pyolian.generator import Template
"""
import os
import datetime
try:
from . import eolian
from . import pyratemp
except ImportError:
import eolian
import pyratemp