diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2023-08-06 16:54:57 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2023-08-06 16:54:57 (GMT) |
commit | 4fcc35a52ccb025b6d803d85e017931cd2452960 (patch) | |
tree | e95920f16c273e41f9cae1ea2f02571c221a514e /plugins/pychrysalide/analysis/scan | |
parent | 74d062d4ec55d7ac3914bbf64b8b6c5ab52227df (diff) |
Extend the ROST grammar with a first batch of new features.
Diffstat (limited to 'plugins/pychrysalide/analysis/scan')
-rw-r--r-- | plugins/pychrysalide/analysis/scan/scanner.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/plugins/pychrysalide/analysis/scan/scanner.c b/plugins/pychrysalide/analysis/scan/scanner.c index bf5a5f5..befbc80 100644 --- a/plugins/pychrysalide/analysis/scan/scanner.c +++ b/plugins/pychrysalide/analysis/scan/scanner.c @@ -188,6 +188,51 @@ static PyObject *py_content_scanner_analyze(PyObject *self, PyObject *args) /****************************************************************************** * * +* Paramètres : self = objet Python concerné par l'appel. * +* closure = non utilisé ici. * +* * +* Description : Indique le chemin d'un éventuel fichier de source. * +* * +* Retour : Chemin d'un éventuel fichier de définitions ou NULL. * +* * +* Remarques : - * +* * +******************************************************************************/ + +static PyObject *py_content_scanner_get_filename(PyObject *self, void *closure) +{ + PyObject *result; /* Valeur à retourner */ + GContentScanner *scanner; /* Analyseur à consulter */ + const char *filename; /* Chemin d'accès à transmettre*/ + +#define CONTENT_SCANNER_FILENAME_ATTRIB PYTHON_GET_DEF_FULL \ +( \ + filename, py_content_scanner, \ + "Provide the access path to the source file of the rules'" \ + " definition, or *None* if these rules have not been loaded"\ + " from memory." \ +) + + scanner = G_CONTENT_SCANNER(pygobject_get(self)); + + filename = g_content_scanner_get_filename(scanner); + + if (filename != NULL) + result = PyUnicode_FromString(filename); + + else + { + result = Py_None; + Py_INCREF(result); + } + + return result; + +} + + +/****************************************************************************** +* * * Paramètres : - * * * * Description : Fournit un accès à une définition de type à diffuser. * @@ -206,6 +251,7 @@ PyTypeObject *get_python_content_scanner_type(void) }; static PyGetSetDef py_content_scanner_getseters[] = { + CONTENT_SCANNER_FILENAME_ATTRIB, { NULL } }; |