Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/carquinyol/metadatareader.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/carquinyol/metadatareader.c')
-rw-r--r--src/carquinyol/metadatareader.c26
1 files changed, 8 insertions, 18 deletions
diff --git a/src/carquinyol/metadatareader.c b/src/carquinyol/metadatareader.c
index 08be17e..73bfe4a 100644
--- a/src/carquinyol/metadatareader.c
+++ b/src/carquinyol/metadatareader.c
@@ -8,7 +8,7 @@
static PyObject *byte_array_type = NULL;
int
-add_property(char *metadata_path, char *property_name, PyObject *dict,
+add_property(const char *metadata_path, char *property_name, PyObject *dict,
int must_exist)
{
int file_path_size;
@@ -125,7 +125,7 @@ cleanup:
}
static PyObject *
-read_from_properties_list (char *metadata_path, PyObject *properties)
+read_from_properties_list (const char *metadata_path, PyObject *properties)
{
PyObject *dict = PyDict_New();
@@ -148,7 +148,7 @@ cleanup:
}
static PyObject *
-read_all_properties (char *metadata_path)
+read_all_properties (const char *metadata_path)
{
PyObject *dict = PyDict_New();
DIR *dir_stream = NULL;
@@ -198,34 +198,24 @@ metadatareader_retrieve(PyObject *unused, PyObject *args)
{
PyObject *dict = NULL;
PyObject *properties = NULL;
- const char *dir_path = NULL;
- char *metadata_path = NULL;
+ const char *metadata_path = NULL;
- if (!PyArg_ParseTuple(args, "sO:retrieve", &dir_path, &properties))
+ if (!PyArg_ParseTuple(args, "sO:retrieve", &metadata_path, &properties))
return NULL;
- // Build path to the metadata directory
- int metadata_path_size = strlen(dir_path) + 10;
- metadata_path = PyMem_Malloc(metadata_path_size);
- if (metadata_path == NULL) {
- PyErr_NoMemory();
- return NULL;
- }
- snprintf (metadata_path, metadata_path_size, "%s/%s", dir_path, "metadata");
-
if ((properties != Py_None) && (PyList_Size(properties) > 0)) {
dict = read_from_properties_list(metadata_path, properties);
} else {
dict = read_all_properties(metadata_path);
}
- PyMem_Free(metadata_path);
-
return dict;
}
static PyMethodDef metadatareader_functions[] = {
- {"retrieve", metadatareader_retrieve, METH_VARARGS, PyDoc_STR("Read a dictionary from a file")},
+ {"retrieve", metadatareader_retrieve, METH_VARARGS,
+ PyDoc_STR("Read a dictionary from a directory with a single file " \
+ "(containing the content) per key")},
{NULL, NULL, 0, NULL}
};