Commit 9aefd2ddce4df867f250eb88a1a1d63df0682282

Authored by Scott Klum
2 parents aa9836fb a50c1470

Merge branch 'master' of https://github.com/biometrics/openbr

.gitignore
... ... @@ -32,6 +32,9 @@ share/openbr/models
32 32 *.RData
33 33 *.Rhistory
34 34  
  35 +### Python ###
  36 +*.pyc
  37 +
35 38 ### Subversion ###
36 39 *.svn*
37 40  
... ...
docs/docs/api_docs/python_api.md
... ... @@ -46,6 +46,14 @@ The Python API is a light wrapper of the C API. It creates an object that has [a
46 46 br.br_free_template_list(query)
47 47 br.br_finalize()
48 48  
  49 +Some functions were made more pythonic and thus differ slightly from the C API. In particular, the C functions that populate a string buffer have that logic abstracted away. For example, `br_get_filename(char * buffer, int buffer_length, br_template tmpl)` in C becomes `filename = br.br_get_filename(tmpl)` in Python. Here are the functions that differ from the C API:
  50 +
  51 +- br_most_recent_message
  52 +- br_objects
  53 +- br_scratch_path
  54 +- br_get_filename
  55 +- br_get_metadata_string
  56 +
49 57 To enable the module, add `-DBR_INSTALL_BRPY=ON` to your cmake command (or use the ccmake GUI - highly recommended).
50 58  
51 59 Currently only OS X and Linux are supported.
... ...
scripts/brpy/__init__.py
... ... @@ -53,6 +53,10 @@ def _handle_string_func(func, *moretypes):
53 53 return msg
54 54 return call_func
55 55  
  56 +# TODO: small wrapper around any objects that need br_free_*
  57 +# so when python object dies, user doesn't need to call br_free_*
  58 +# TODO: iterator for templatelist object
  59 +# (or mimic C++ obj API via C? overkill?)
56 60 def init_brpy(br_loc='/usr/local/lib'):
57 61 """Initializes all function inputs and outputs for the br ctypes lib object"""
58 62  
... ...