Commit 52635147 authored by Julian Andres Klode's avatar Julian Andres Klode

Drop apt_pkg.IndexRecords, it has been dropped in experimental

Bye bye!
parent fd18eceb
......@@ -42,6 +42,9 @@ Removed
* The attribute :attr:`apt_pkg.Package.auto` was not set anymore, and thus
removed.
* The class :class:`apt_pkg.IndexRecords` has been removed, as it was removed
in APT 1.1
Maintenance
-----------
* The classes :class:`apt.cache.Cache` and :class:`apt.cache.FilteredCache` no
......
......@@ -698,9 +698,6 @@ static struct _PyAptPkgAPIStruct API = {
&PyHashString_Type, // hashstring_type
&PyHashString_FromCpp, // hashstring_fromcpp
&PyHashString_ToCpp, // hashstring_tocpp
&PyIndexRecords_Type, // indexrecords_type
&PyIndexRecords_FromCpp, // indexrecords_tocpp
&PyIndexRecords_ToCpp, // indexrecords_tocpp
&PyMetaIndex_Type, // metaindex_type
&PyMetaIndex_FromCpp, // metaindex_tocpp
&PyMetaIndex_ToCpp, // metaindex_tocpp
......@@ -847,7 +844,6 @@ extern "C" void initapt_pkg()
ADDTYPE(Module,"SourceRecords",&PySourceRecords_Type);
/* ========================= sourcelist.cc ========================= */
ADDTYPE(Module,"SourceList",&PySourceList_Type);
ADDTYPE(Module,"IndexRecords",&PyIndexRecords_Type);
ADDTYPE(Module,"HashString",&PyHashString_Type);
ADDTYPE(Module,"Policy",&PyPolicy_Type);
ADDTYPE(Module,"Hashes",&PyHashes_Type);
......
......@@ -126,8 +126,6 @@ extern PyTypeObject PyMetaIndex_Type;
// HashString
extern PyTypeObject PyHashString_Type;
// IndexRecord
extern PyTypeObject PyIndexRecords_Type;
// Policy
extern PyTypeObject PyPolicy_Type;
......@@ -157,7 +155,6 @@ extern PyTypeObject PyOrderList_Type;
# define PyGroup_ToCpp GetCpp<pkgCache::GrpIterator>
# define PyHashes_ToCpp GetCpp<Hashes>
# define PyHashString_ToCpp GetCpp<HashString*>
# define PyIndexRecords_ToCpp GetCpp<indexRecords*>
# define PyMetaIndex_ToCpp GetCpp<metaIndex*>
# define PyPackage_ToCpp GetCpp<pkgCache::PkgIterator>
# define PyPackageFile_ToCpp GetCpp<pkgCache::PkgFileIterator>
......@@ -190,7 +187,6 @@ PyObject* PyDependency_FromCpp(pkgCache::DepIterator const &obj, bool Delete, Py
PyObject* PyDescription_FromCpp(pkgCache::DescIterator const &obj, bool Delete, PyObject *Owner);
PyObject* PyHashes_FromCpp(Hashes const &obj, bool Delete, PyObject *Owner);
PyObject* PyHashString_FromCpp(HashString* const &obj, bool Delete, PyObject *Owner);
PyObject* PyIndexRecords_FromCpp(indexRecords* const &obj, bool Delete, PyObject *Owner);
PyObject* PyMetaIndex_FromCpp(metaIndex* const &obj, bool Delete, PyObject *Owner);
PyObject* PyPackage_FromCpp(pkgCache::PkgIterator const &obj, bool Delete, PyObject *Owner);
PyObject* PyGroup_FromCpp(pkgCache::GrpIterator const &obj, bool Delete, PyObject *Owner);
......
/*
* indexrecords.cc - Wrapper around indexRecords
*
* Copyright 2009 Julian Andres Klode <jak@debian.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#include <Python.h>
#include "apt_pkgmodule.h"
#include "generic.h"
#include <apt-pkg/indexrecords.h>
static PyObject *indexrecords_new(PyTypeObject *type,PyObject *Args,
PyObject *kwds)
{
char * kwlist[] = {NULL};
if (PyArg_ParseTupleAndKeywords(Args, kwds, "", kwlist) == 0)
return 0;
indexRecords *records = new indexRecords();
CppPyObject<indexRecords*> *New = CppPyObject_NEW<indexRecords*>(NULL, type,
records);
return New;
}
static PyObject *indexrecords_load(PyObject *self,PyObject *args)
{
PyApt_Filename filename;
if (PyArg_ParseTuple(args, "O&", PyApt_Filename::Converter, &filename) == 0)
return 0;
indexRecords *records = GetCpp<indexRecords*>(self);
return HandleErrors(PyBool_FromLong(records->Load(filename)));
}
static char *indexrecords_lookup_doc =
"lookup(key: str) -> (HashString, int)\n\n"
"Look up the filename given by 'key' and return a tuple (hash, size),\n"
"where the first element 'hash' is an apt_pkg.HashString object\n"
"and the second element 'size' is an int object.";
static PyObject *indexrecords_lookup(PyObject *self,PyObject *args)
{
PyApt_Filename keyname;
if (PyArg_ParseTuple(args, "O&", PyApt_Filename::Converter, &keyname) == 0)
return 0;
indexRecords *records = GetCpp<indexRecords*>(self);
const indexRecords::checkSum *result = records->Lookup(keyname);
if (result == 0) {
PyErr_SetString(PyExc_KeyError,keyname);
return 0;
}
// Copy the HashString(), to prevent crashes and to not require the
// indexRecords object to exist.
PyObject *py_hash = PyHashString_FromCpp(new HashString(result->Hash), true, NULL);
PyObject *value = Py_BuildValue("(ON)",py_hash,MkPyNumber(result->Size));
Py_DECREF(py_hash);
return value;
}
static PyObject *indexrecords_get_dist(PyObject *self)
{
indexRecords *records = GetCpp<indexRecords*>(self);
return HandleErrors(PyString_FromString(records->GetDist().c_str()));
}
static PyMethodDef indexrecords_methods[] = {
{"load",indexrecords_load,METH_VARARGS,
"load(filename: str)\n\n"
"Load the file given by filename."},
{"get_dist",(PyCFunction)indexrecords_get_dist,METH_NOARGS,
"get_dist() -> str\n\n"
"Return a distribution set in the release file."},
{"lookup",indexrecords_lookup,METH_VARARGS,indexrecords_lookup_doc},
{}
};
static char *indexrecords_doc = "IndexRecords()\n\n"
"Representation of a Release file.";
PyTypeObject PyIndexRecords_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"apt_pkg.IndexRecords", // tp_name
sizeof(CppPyObject<indexRecords*>), // tp_basicsize
0, // tp_itemsize
// Methods
CppDeallocPtr<indexRecords*>, // tp_dealloc
0, // tp_print
0, // tp_getattr
0, // tp_setattr
0, // tp_compare
0, // tp_repr
0, // tp_as_number
0, // tp_as_sequence
0, // tp_as_mapping
0, // tp_hash
0, // tp_call
0, // tp_str
0, // tp_getattro
0, // tp_setattro
0, // tp_as_buffer
(Py_TPFLAGS_DEFAULT | // tp_flags
Py_TPFLAGS_BASETYPE),
indexrecords_doc, // tp_doc
0, // tp_traverse
0, // tp_clear
0, // tp_richcompare
0, // tp_weaklistoffset
0, // tp_iter
0, // tp_iternext
indexrecords_methods, // tp_methods
0, // tp_members
0, // tp_getset
0, // tp_base
0, // tp_dict
0, // tp_descr_get
0, // tp_descr_set
0, // tp_dictoffset
0, // tp_init
0, // tp_alloc
indexrecords_new, // tp_new
};
......@@ -49,7 +49,6 @@ NEW_FROM(PyDependency_FromCpp,&PyDependency_Type,pkgCache::DepIterator)
NEW_FROM(PyDescription_FromCpp,&PyDescription_Type,pkgCache::DescIterator)
NEW_FROM(PyHashes_FromCpp,&PyHashes_Type,Hashes)
NEW_FROM(PyHashString_FromCpp,&PyHashString_Type,HashString*)
NEW_FROM(PyIndexRecords_FromCpp,&PyIndexRecords_Type,indexRecords*)
NEW_FROM(PyMetaIndex_FromCpp,&PyMetaIndex_Type,metaIndex*)
NEW_FROM(PyPackage_FromCpp,&PyPackage_Type,pkgCache::PkgIterator)
NEW_FROM(PyGroup_FromCpp,&PyGroup_Type,pkgCache::GrpIterator)
......
......@@ -107,10 +107,6 @@ struct _PyAptPkgAPIStruct {
PyObject* (*hashstring_fromcpp)(HashString* const &obj, bool Delete, PyObject *Owner);
HashString*& (*hashstring_tocpp)(PyObject *self);
PyTypeObject *indexrecords_type;
PyObject* (*indexrecords_fromcpp)(indexRecords* const &obj, bool Delete, PyObject *Owner);
indexRecords*& (*indexrecords_tocpp)(PyObject *self);
PyTypeObject *metaindex_type;
PyObject* (*metaindex_fromcpp)(metaIndex* const &obj, bool Delete, PyObject *Owner);
metaIndex*& (*metaindex_tocpp)(PyObject *self);
......
......@@ -45,7 +45,7 @@ def get_version():
# The apt_pkg module.
files = ['apt_pkgmodule.cc', 'acquire.cc', 'cache.cc', 'cdrom.cc',
'configuration.cc', 'depcache.cc', 'generic.cc', 'hashes.cc',
'hashstring.cc', 'indexfile.cc', 'indexrecords.cc', 'metaindex.cc',
'hashstring.cc', 'indexfile.cc', 'metaindex.cc',
'pkgmanager.cc', 'pkgrecords.cc', 'pkgsrcrecords.cc', 'policy.cc',
'progress.cc', 'sourcelist.cc', 'string.cc', 'tag.cc',
'lock.cc', 'acquire-item.cc', 'python-apt-helpers.cc',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment