summaryrefslogtreecommitdiff
path: root/python/apt_pkgmodule.cc
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2011-05-26 18:01:26 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2011-05-26 18:01:26 +0200
commit19e2e0f210da3fb4cb87cfe1ddd4bbc6c61d8cd1 (patch)
tree917dd7e06549e3ac7efffdae3c8e9d02788ac81d /python/apt_pkgmodule.cc
parente0b2560ab0fab5716187b7a1f93052373f5cbd23 (diff)
downloadpython-apt-19e2e0f210da3fb4cb87cfe1ddd4bbc6c61d8cd1.tar.gz
merge from debian, omit disable of the 0.7 API
Diffstat (limited to 'python/apt_pkgmodule.cc')
-rw-r--r--python/apt_pkgmodule.cc106
1 files changed, 71 insertions, 35 deletions
diff --git a/python/apt_pkgmodule.cc b/python/apt_pkgmodule.cc
index d1ac33e0..e8490b4e 100644
--- a/python/apt_pkgmodule.cc
+++ b/python/apt_pkgmodule.cc
@@ -24,6 +24,7 @@
#include <apt-pkg/sha256.h>
#include <apt-pkg/init.h>
#include <apt-pkg/pkgsystem.h>
+#include <apt-pkg/orderlist.h>
#include <sys/stat.h>
#include <libintl.h>
@@ -83,7 +84,7 @@ static PyObject *VersionCompare(PyObject *Self,PyObject *Args)
return 0;
}
- return Py_BuildValue("i",_system->VS->DoCmpVersion(A,A+LenA,B,B+LenB));
+ return MkPyNumber(_system->VS->DoCmpVersion(A,A+LenA,B,B+LenB));
}
static char *doc_CheckDep =
@@ -459,7 +460,7 @@ static PyObject *GetLock(PyObject *Self,PyObject *Args)
int fd = GetLock(file, errors);
- return HandleErrors(Py_BuildValue("i", fd));
+ return HandleErrors(MkPyNumber(fd));
}
static char *doc_PkgSystemLock =
@@ -732,6 +733,12 @@ static struct _PyAptPkgAPIStruct API = {
&PyVersion_Type, // version_type
&PyVersion_FromCpp, // version_tocpp
&PyVersion_ToCpp, // version_tocpp
+ &PyGroup_Type, // group_type
+ &PyGroup_FromCpp, // group_fromcpp
+ &PyGroup_ToCpp, // group_tocpp
+ &PyOrderList_Type, // orderlist_type
+ &PyOrderList_FromCpp, // orderlist_fromcpp
+ &PyOrderList_ToCpp // orderlist_tocpp
};
@@ -811,6 +818,8 @@ extern "C" void initapt_pkg()
ADDTYPE(Module,"DependencyList",&PyDependencyList_Type); // NO __new__(), internal
ADDTYPE(Module,"Package",&PyPackage_Type); // NO __new__()
ADDTYPE(Module,"Version",&PyVersion_Type); // NO __new__()
+ ADDTYPE(Module,"Group", &PyGroup_Type);
+ ADDTYPE(Module,"GroupList", &PyGroupList_Type);
/* ============================ cdrom.cc ============================ */
ADDTYPE(Module,"Cdrom",&PyCdrom_Type);
/* ========================= configuration.cc ========================= */
@@ -824,7 +833,8 @@ extern "C" void initapt_pkg()
/* ========================= metaindex.cc ========================= */
ADDTYPE(Module,"MetaIndex",&PyMetaIndex_Type); // NO __new__()
/* ========================= pkgmanager.cc ========================= */
- ADDTYPE(Module,"PackageManager",&PyPackageManager_Type);
+ ADDTYPE(Module,"_PackageManager",&PyPackageManager_Type);
+ ADDTYPE(Module,"PackageManager",&PyPackageManager2_Type);
/* ========================= pkgrecords.cc ========================= */
ADDTYPE(Module,"PackageRecords",&PyPackageRecords_Type);
/* ========================= pkgsrcrecords.cc ========================= */
@@ -838,6 +848,7 @@ extern "C" void initapt_pkg()
ADDTYPE(Module,"AcquireItemDesc",&PyAcquireItemDesc_Type);
ADDTYPE(Module,"SystemLock",&PySystemLock_Type);
ADDTYPE(Module,"FileLock",&PyFileLock_Type);
+ ADDTYPE(Module,"OrderList",&PyOrderList_Type);
// Tag file constants
PyModule_AddObject(Module,"REWRITE_PACKAGE_ORDER",
CharCharToList(TFRewritePackageOrder));
@@ -845,86 +856,110 @@ extern "C" void initapt_pkg()
PyModule_AddObject(Module,"REWRITE_SOURCE_ORDER",
CharCharToList(TFRewriteSourceOrder));
+ PyDict_SetItemString(PyOrderList_Type.tp_dict, "FLAG_ADDED", MkPyNumber(pkgOrderList::Added));
+ PyDict_SetItemString(PyOrderList_Type.tp_dict, "FLAG_ADD_PENDIG", MkPyNumber(pkgOrderList::AddPending));
+ PyDict_SetItemString(PyOrderList_Type.tp_dict, "FLAG_IMMEDIATE", MkPyNumber(pkgOrderList::Immediate));
+ PyDict_SetItemString(PyOrderList_Type.tp_dict, "FLAG_LOOP", MkPyNumber(pkgOrderList::Loop));
+ PyDict_SetItemString(PyOrderList_Type.tp_dict, "FLAG_UNPACKED", MkPyNumber(pkgOrderList::UnPacked));
+ PyDict_SetItemString(PyOrderList_Type.tp_dict, "FLAG_CONFIGURED", MkPyNumber(pkgOrderList::Configured));
+ PyDict_SetItemString(PyOrderList_Type.tp_dict, "FLAG_REMOVED", MkPyNumber(pkgOrderList::Removed));
+ PyDict_SetItemString(PyOrderList_Type.tp_dict, "FLAG_IN_LIST", MkPyNumber(pkgOrderList::InList));
+ PyDict_SetItemString(PyOrderList_Type.tp_dict, "FLAG_AFTER", MkPyNumber(pkgOrderList::After));
+ PyDict_SetItemString(PyOrderList_Type.tp_dict, "FLAG_STATES_MASK", MkPyNumber(pkgOrderList::States));
// Acquire constants.
// some constants
PyDict_SetItemString(PyAcquire_Type.tp_dict, "RESULT_CANCELLED",
- Py_BuildValue("i", pkgAcquire::Cancelled));
+ MkPyNumber(pkgAcquire::Cancelled));
PyDict_SetItemString(PyAcquire_Type.tp_dict, "RESULT_CONTINUE",
- Py_BuildValue("i", pkgAcquire::Continue));
+ MkPyNumber(pkgAcquire::Continue));
PyDict_SetItemString(PyAcquire_Type.tp_dict, "RESULT_FAILED",
- Py_BuildValue("i", pkgAcquire::Failed));
+ MkPyNumber(pkgAcquire::Failed));
#ifdef COMPAT_0_7
PyDict_SetItemString(PyAcquire_Type.tp_dict, "ResultCancelled",
- Py_BuildValue("i", pkgAcquire::Cancelled));
+ MkPyNumber(pkgAcquire::Cancelled));
PyDict_SetItemString(PyAcquire_Type.tp_dict, "ResultContinue",
- Py_BuildValue("i", pkgAcquire::Continue));
+ MkPyNumber(pkgAcquire::Continue));
PyDict_SetItemString(PyAcquire_Type.tp_dict, "ResultFailed",
- Py_BuildValue("i", pkgAcquire::Failed));
+ MkPyNumber(pkgAcquire::Failed));
#endif
// Dependency constants
PyDict_SetItemString(PyDependency_Type.tp_dict, "TYPE_DEPENDS",
- Py_BuildValue("i", pkgCache::Dep::Depends));
+ MkPyNumber(pkgCache::Dep::Depends));
PyDict_SetItemString(PyDependency_Type.tp_dict, "TYPE_PREDEPENDS",
- Py_BuildValue("i", pkgCache::Dep::PreDepends));
+ MkPyNumber(pkgCache::Dep::PreDepends));
PyDict_SetItemString(PyDependency_Type.tp_dict, "TYPE_SUGGESTS",
- Py_BuildValue("i", pkgCache::Dep::Suggests));
+ MkPyNumber(pkgCache::Dep::Suggests));
PyDict_SetItemString(PyDependency_Type.tp_dict, "TYPE_RECOMMENDS",
- Py_BuildValue("i", pkgCache::Dep::Suggests));
+ MkPyNumber(pkgCache::Dep::Suggests));
PyDict_SetItemString(PyDependency_Type.tp_dict, "TYPE_CONFLICTS",
- Py_BuildValue("i", pkgCache::Dep::Conflicts));
+ MkPyNumber(pkgCache::Dep::Conflicts));
PyDict_SetItemString(PyDependency_Type.tp_dict, "TYPE_REPLACES",
- Py_BuildValue("i", pkgCache::Dep::Replaces));
+ MkPyNumber(pkgCache::Dep::Replaces));
PyDict_SetItemString(PyDependency_Type.tp_dict, "TYPE_OBSOLETES",
- Py_BuildValue("i", pkgCache::Dep::Obsoletes));
+ MkPyNumber(pkgCache::Dep::Obsoletes));
PyDict_SetItemString(PyDependency_Type.tp_dict, "TYPE_DPKG_BREAKS",
- Py_BuildValue("i", pkgCache::Dep::DpkgBreaks));
+ MkPyNumber(pkgCache::Dep::DpkgBreaks));
PyDict_SetItemString(PyDependency_Type.tp_dict, "TYPE_ENHANCES",
- Py_BuildValue("i", pkgCache::Dep::Enhances));
+ MkPyNumber(pkgCache::Dep::Enhances));
// PackageManager constants
PyDict_SetItemString(PyPackageManager_Type.tp_dict, "RESULT_COMPLETED",
- Py_BuildValue("i", pkgPackageManager::Completed));
+ MkPyNumber(pkgPackageManager::Completed));
PyDict_SetItemString(PyPackageManager_Type.tp_dict, "RESULT_FAILED",
- Py_BuildValue("i", pkgPackageManager::Failed));
+ MkPyNumber(pkgPackageManager::Failed));
PyDict_SetItemString(PyPackageManager_Type.tp_dict, "RESULT_INCOMPLETE",
- Py_BuildValue("i", pkgPackageManager::Incomplete));
+ MkPyNumber(pkgPackageManager::Incomplete));
#ifdef COMPAT_0_7
PyDict_SetItemString(PyPackageManager_Type.tp_dict, "ResultCompleted",
- Py_BuildValue("i", pkgPackageManager::Completed));
+ MkPyNumber(pkgPackageManager::Completed));
PyDict_SetItemString(PyPackageManager_Type.tp_dict, "ResultFailed",
- Py_BuildValue("i", pkgPackageManager::Failed));
+ MkPyNumber(pkgPackageManager::Failed));
PyDict_SetItemString(PyPackageManager_Type.tp_dict, "ResultIncomplete",
- Py_BuildValue("i", pkgPackageManager::Incomplete));
+ MkPyNumber(pkgPackageManager::Incomplete));
#endif
+ PyDict_SetItemString(PyVersion_Type.tp_dict, "MULTI_ARCH_NONE",
+ MkPyNumber(pkgCache::Version::None));
+ PyDict_SetItemString(PyVersion_Type.tp_dict, "MULTI_ARCH_ALL",
+ MkPyNumber(pkgCache::Version::All));
+ PyDict_SetItemString(PyVersion_Type.tp_dict, "MULTI_ARCH_FOREIGN",
+ MkPyNumber(pkgCache::Version::Foreign));
+ PyDict_SetItemString(PyVersion_Type.tp_dict, "MULTI_ARCH_SAME",
+ MkPyNumber(pkgCache::Version::Same));
+ PyDict_SetItemString(PyVersion_Type.tp_dict, "MULTI_ARCH_ALLOWED",
+ MkPyNumber(pkgCache::Version::Allowed));
+ PyDict_SetItemString(PyVersion_Type.tp_dict, "MULTI_ARCH_ALL_FOREIGN",
+ MkPyNumber(pkgCache::Version::AllForeign));
+ PyDict_SetItemString(PyVersion_Type.tp_dict, "MULTI_ARCH_ALL_ALLOWED",
+ MkPyNumber(pkgCache::Version::AllAllowed));
// AcquireItem Constants.
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "STAT_IDLE",
- Py_BuildValue("i", pkgAcquire::Item::StatIdle));
+ MkPyNumber(pkgAcquire::Item::StatIdle));
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "STAT_FETCHING",
- Py_BuildValue("i", pkgAcquire::Item::StatFetching));
+ MkPyNumber(pkgAcquire::Item::StatFetching));
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "STAT_DONE",
- Py_BuildValue("i", pkgAcquire::Item::StatDone));
+ MkPyNumber(pkgAcquire::Item::StatDone));
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "STAT_TRANSIENT_NETWORK_ERROR",
- Py_BuildValue("i", pkgAcquire::Item::StatTransientNetworkError));
+ MkPyNumber(pkgAcquire::Item::StatTransientNetworkError));
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "STAT_ERROR",
- Py_BuildValue("i", pkgAcquire::Item::StatError));
+ MkPyNumber(pkgAcquire::Item::StatError));
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "STAT_AUTH_ERROR",
- Py_BuildValue("i", pkgAcquire::Item::StatAuthError));
+ MkPyNumber(pkgAcquire::Item::StatAuthError));
#ifdef COMPAT_0_7
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "StatIdle",
- Py_BuildValue("i", pkgAcquire::Item::StatIdle));
+ MkPyNumber(pkgAcquire::Item::StatIdle));
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "StatFetching",
- Py_BuildValue("i", pkgAcquire::Item::StatFetching));
+ MkPyNumber(pkgAcquire::Item::StatFetching));
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "StatDone",
- Py_BuildValue("i", pkgAcquire::Item::StatDone));
+ MkPyNumber(pkgAcquire::Item::StatDone));
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "StatError",
- Py_BuildValue("i", pkgAcquire::Item::StatError));
+ MkPyNumber(pkgAcquire::Item::StatError));
PyDict_SetItemString(PyAcquireItem_Type.tp_dict, "StatAuthError",
- Py_BuildValue("i", pkgAcquire::Item::StatAuthError));
+ MkPyNumber(pkgAcquire::Item::StatAuthError));
#endif
#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 1
@@ -964,6 +999,7 @@ extern "C" void initapt_pkg()
PyModule_AddIntConstant(Module,"INSTSTATE_HOLD",pkgCache::State::Hold);
PyModule_AddIntConstant(Module,"INSTSTATE_HOLD_REINSTREQ",pkgCache::State::HoldReInstReq);
+
// DEPRECATED API
#ifdef COMPAT_0_7
PyModule_AddObject(Module,"RewritePackageOrder",