diff options
| author | Julian Andres Klode <jak@debian.org> | 2009-07-30 20:31:47 +0200 |
|---|---|---|
| committer | Julian Andres Klode <jak@debian.org> | 2009-07-30 20:31:47 +0200 |
| commit | 67c86eb63c861e9048c8b712654d65dd86d77330 (patch) | |
| tree | 33aa2bcb1481734920132478d52f6475cc6dc3e2 /python/tag.cc | |
| parent | 0a53a962ea50141dacd09e0e9f6228233c12e1f1 (diff) | |
| parent | 1d67c8142d295004c894473df5457b8ce9ed6197 (diff) | |
| download | python-apt-67c86eb63c861e9048c8b712654d65dd86d77330.tar.gz | |
Merge 0.7.11.1-0.7.12.0 from unstable.
Diffstat (limited to 'python/tag.cc')
| -rw-r--r-- | python/tag.cc | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/python/tag.cc b/python/tag.cc index 24a43320..b1a3e520 100644 --- a/python/tag.cc +++ b/python/tag.cc @@ -108,6 +108,29 @@ static PyObject *TagSecFind(PyObject *Self,PyObject *Args) return PyString_FromStringAndSize(Start,Stop-Start); } +static char *doc_FindRaw = "FindRaw(Name) -> String/None"; +static PyObject *TagSecFindRaw(PyObject *Self,PyObject *Args) +{ + char *Name = 0; + char *Default = 0; + if (PyArg_ParseTuple(Args,"s|z",&Name,&Default) == 0) + return 0; + + unsigned Pos; + if (GetCpp<pkgTagSection>(Self).Find(Name,Pos) == false) + { + if (Default == 0) + Py_RETURN_NONE; + return PyString_FromString(Default); + } + + const char *Start; + const char *Stop; + GetCpp<pkgTagSection>(Self).Get(Start,Stop,Pos); + + return PyString_FromStringAndSize(Start,Stop-Start); +} + static char *doc_FindFlag = "FindFlag(Name) -> integer/none"; static PyObject *TagSecFindFlag(PyObject *Self,PyObject *Args) { @@ -410,10 +433,12 @@ static PyMethodDef TagSecMethods[] = { // Query {"find",TagSecFind,METH_VARARGS,doc_Find}, + {"find_raw",TagSecFindRaw,METH_VARARGS,doc_FindRaw}, {"find_flag",TagSecFindFlag,METH_VARARGS,doc_FindFlag}, {"bytes",TagSecBytes,METH_VARARGS,doc_Bytes}, #ifdef COMPAT_0_7 {"Find",TagSecFind,METH_VARARGS,doc_Find}, + {"FindRaw",TagSecFindRaw,METH_VARARGS,doc_FindRaw}, {"FindFlag",TagSecFindFlag,METH_VARARGS,doc_FindFlag}, {"Bytes",TagSecBytes,METH_VARARGS,doc_Bytes}, #endif |
