summaryrefslogtreecommitdiff
path: root/python/apt_pkgmodule.cc
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2011-12-08 18:08:06 +0100
committerMichael Vogt <michael.vogt@ubuntu.com>2011-12-08 18:08:06 +0100
commit2b0f6ff05d2c6937c1160c497cfb76b43f11f2db (patch)
treea87e2639df12481e2046b835996628b53ec6325c /python/apt_pkgmodule.cc
parentb0995cca556668a4eced03e40e3edbc7362c2a10 (diff)
parent350bb4a03d6562ddba12fbb0a34610aac7706b3c (diff)
downloadpython-apt-2b0f6ff05d2c6937c1160c497cfb76b43f11f2db.tar.gz
merged from the mvo branch
Diffstat (limited to 'python/apt_pkgmodule.cc')
-rw-r--r--python/apt_pkgmodule.cc35
1 files changed, 32 insertions, 3 deletions
diff --git a/python/apt_pkgmodule.cc b/python/apt_pkgmodule.cc
index e8490b4e..acfdf019 100644
--- a/python/apt_pkgmodule.cc
+++ b/python/apt_pkgmodule.cc
@@ -25,6 +25,8 @@
#include <apt-pkg/init.h>
#include <apt-pkg/pkgsystem.h>
#include <apt-pkg/orderlist.h>
+#include <apt-pkg/aptconfiguration.h>
+#include <apt-pkg/fileutl.h>
#include <sys/stat.h>
#include <libintl.h>
@@ -184,11 +186,11 @@ static const char *parse_src_depends_doc =
"only contains those dependencies for the architecture set in the\n"
"configuration variable APT::Architecture";
static PyObject *RealParseDepends(PyObject *Self,PyObject *Args,
- bool ParseArchFlags, string name,
+ bool ParseArchFlags, std::string name,
bool debStyle=false)
{
- string Package;
- string Version;
+ std::string Package;
+ std::string Version;
unsigned int Op;
bool StripMultiArch=true;
@@ -393,6 +395,30 @@ static PyObject *sha256sum(PyObject *Self,PyObject *Args)
return 0;
}
/*}}}*/
+// get_architectures - return the list of architectures /*{{{*/
+// ---------------------------------------------------------------------
+static const char *doc_GetArchitectures =
+ "get_architectures() -> list\n\n"
+ "Return the list of supported architectures on this system. On a \n"
+ "multiarch system this can be more than one. The main architectures\n"
+ "is the first item in the list.";;
+static PyObject *GetArchitectures(PyObject *Self,PyObject *Args)
+{
+ PyObject *Obj;
+ if (PyArg_ParseTuple(Args,"",&Obj) == 0)
+ return 0;
+
+ PyObject *List = PyList_New(0);
+ std::vector<std::string> arches = APT::Configuration::getArchitectures();
+ std::vector<std::string>::const_iterator I;
+ for (I = arches.begin(); I != arches.end(); I++)
+ {
+ PyList_Append(List, CppPyString(*I));
+ }
+
+ return List;
+}
+ /*}}}*/
// init - 3 init functions /*{{{*/
// ---------------------------------------------------------------------
static char *doc_Init =
@@ -539,6 +565,9 @@ static PyMethodDef methods[] =
{"sha1sum",sha1sum,METH_VARARGS,doc_sha1sum},
{"sha256sum",sha256sum,METH_VARARGS,doc_sha256sum},
+ // multiarch
+ {"get_architectures", GetArchitectures, METH_VARARGS, doc_GetArchitectures},
+
// Strings
{"check_domain_list",StrCheckDomainList,METH_VARARGS,
"check_domain_list(host: str, domains: str) -> bool\n\n"