No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ArnAud ceef5f4b9b SQL: table name are lowercase 9 years ago
DataSource SQL: table name are lowercase 9 years ago
EditorialModel Implements relation stuff + a lot of fixes in tests and in leo fieldtypes validation stack 9 years ago
Lodel Disabled tests on LeDatasource SQL 9 years ago
install Implements utils function in LeType add_superior (hierarchy) and link_with (rel2type) and add a forgotten file 9 years ago
leapi Added a first implementation of the set_rank method in LeRelation 9 years ago
.gitignore Lodel: first draft of Settings class 9 years ago
Doxyfile Adding graph generation to Doxyfile 9 years ago
Makefile Add a Makefile for common operations (like check, clean, make doxygen doc, upgrade with pip etc) 9 years ago
README.md Write an instance creation script and replace the SQLMigrationHandler by the MysqlMigrationHandler 9 years ago
lint Add a lint script used to test pep8 and lint error 9 years ago
lodel_init.sh Write an instance creation script and replace the SQLMigrationHandler by the MysqlMigrationHandler 9 years ago
makemigrations_interactive_rename.patch Added a dryrun option to the migration handler and solved a bug in the django patch file 9 years ago
refreshdyn.py Implements utils function in LeType add_superior (hierarchy) and link_with (rel2type) and add a forgotten file 9 years ago
requirements.txt Change the MySQL connector and updates the requirements.txt 9 years ago
runtest Added modify_rank test, done some refactoring and updated runtest utils script 9 years ago
settings_local.py.example Lodel: first draft of Settings class 9 years ago

README.md

Creating a Lodel “instance”:

use the lodel_init.sh script :

lodel_init.sh INSTANCE_NAME INSTANCE_WANTED_PATH [LODEL2_LIB_PATH]

Once the instance is created you can run an interactive python interpreter using :

cd INSTANCE_PATH; python loader.py

If you want to write a script that run is the instance env you have to from loader import *

First test installation :

  • use python 3.4

** install dependencies pip install -r requirements.txt

** Doxygen generation Dependencies : doxygen graphviz doxypy Generation : run doxygen in the root folder (where the Doxyfile is)

** create local config in settings.py Copy settings.py.example to settings.py, change the conf to your local settings

** create DATABASES mysql

CREATE DATABASE lodel2 CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT ALL ON lodel2.* TO “lodel”@“localhost”;

** Generate the code for LeObject API

use refreshdyn.py or :

# -*- coding: utf-8 -*-

from EditorialModel.model import Model
from leobject.lefactory import LeFactory
from EditorialModel.backend.json_backend import EmBackendJson
from leobject.datasources.ledatasourcesql import LeDataSourceSQL

OUTPUT = 'leobject/dyn.py'

em = Model(EmBackendJson('EditorialModel/test/me.json'))

pycode = LeFactory.generate_python(EmBackendJson, {'json_file':'EditorialModel/test/me.json'}, LeDataSourceSQL, {})

print(pycode)

with open(OUTPUT, 'w+') as fp:
    fp.write(pycode)

** Tools

A Makefile is written with common operations :

  • make clean : cleans doc and python pycache (and .pyc files)
  • make pip : upgrade python libs according to requirements.txt
  • make doc : generate the doxygen documentation
  • make check : run the unit tests
  • make : run check doc and pip