diff options
| author | Michael Vogt <michael.vogt@ubuntu.com> | 2010-06-01 17:08:24 +0200 |
|---|---|---|
| committer | Michael Vogt <michael.vogt@ubuntu.com> | 2010-06-01 17:08:24 +0200 |
| commit | e74ead9f918b38bfe8ae5cfe941df4057dcc509e (patch) | |
| tree | 9f678aa2510cb1df272cd5beca5cf551794e6307 /python/pkgrecords.cc | |
| parent | 5a062bb328348cd3a2ac693b579d35d0ce8e11f0 (diff) | |
| parent | 50f9df7e415deb9bb6156ef8f596b6d4d49b23a4 (diff) | |
| download | python-apt-e74ead9f918b38bfe8ae5cfe941df4057dcc509e.tar.gz | |
* merge from debian bzr, remaining changes:
- different mirror list
* data/templates/gNewSense.info.in,
data/templates/gNewSense.mirrors:
- add gNewSense template and mirrors, thanks to Karl Goetz
* apt/cache.py:
- Make Cache.get_changes() much (~35x) faster (Closes: #578074).
- Make Cache.req_reinstall_pkgs much faster as well.
- Make Cache.get_providing_packages() about 1000 times faster.
- Use has_versions and has_provides from apt_pkg.Package where possible.
* apt/package.py:
- Decode using utf-8 in installed_files (LP: #407953).
- Fix fetch_source() to work when source name = binary name (LP: #552400).
- Merge a patch from Sebastian Heinlein to make get_changelog() only
check sources where source version >= binary version (Closes: #581831).
- Add Version.source_version and enhance Sebastian's patch to make use
of it, in order to find the best changelog for the package.
* python:
- Return bool instead of int to Python where possible, looks better.
- Document every class, function, property.
* python/cache.cc:
- Check that 2nd argument to Cache.update() really is a SourceList object.
- Fix PackageFile.not_automatic to use NotAutomatic instead of NotSource.
- Add Package.has_versions to see which packages have at least one version,
and Package.has_provides for provides.
- Add rich compare methods to the Version object.
* python/generic.cc:
- Fix a memory leak when using old attribute names.
- Map ArchiveURI property to archive_uri
* python/progress.cc:
- Do not pass arguments to InstallProgress.wait_child().
* doc:
- Update the long documentation.
* debian/control:
- Change priority to standard, keep -doc and -dev on optional.
* utils/migrate-0.8.py:
- Open files in universal newline support and pass filename to ast.parse.
- Add has_key to the list of deprecated functions.
- Don't abort if parsing failed.
- do not require files to end in .py if they are passed on the command
line or if they contain python somewhere in the shebang line.
* apt/cache.py:
- make cache open silent by default (use apt.progress.base.OpProgress)
* tests/data/aptsources_ports/sources.list:
- fix ports test-data
* tests/test_apt_cache.py:
- add simple test for basic cache/dependency iteration
Diffstat (limited to 'python/pkgrecords.cc')
| -rw-r--r-- | python/pkgrecords.cc | 60 |
1 files changed, 43 insertions, 17 deletions
diff --git a/python/pkgrecords.cc b/python/pkgrecords.cc index 916a2e0f..efa99b62 100644 --- a/python/pkgrecords.cc +++ b/python/pkgrecords.cc @@ -44,12 +44,14 @@ static PyObject *PkgRecordsLookup(PyObject *Self,PyObject *Args) Struct.Last = &Struct.Records.Lookup(pkgCache::VerFileIterator(*Cache,Cache->VerFileP+Index)); // always return true (to make it consistent with the pkgsrcrecords object - return Py_BuildValue("i", 1); + return PyBool_FromLong(1); } static PyMethodDef PkgRecordsMethods[] = { - {"lookup",PkgRecordsLookup,METH_VARARGS,"Changes to a new package"}, + {"lookup",PkgRecordsLookup,METH_VARARGS, + "lookup((packagefile: apt_pkg.PackageFile, index: int)) -> bool\n\n" + "Changes to a new package"}, {} }; @@ -117,18 +119,35 @@ static PyObject *PkgRecordsGetRecord(PyObject *Self,void*) { return PyString_FromStringAndSize(start,stop-start); } static PyGetSetDef PkgRecordsGetSet[] = { - {"filename",PkgRecordsGetFileName}, - {"homepage",PkgRecordsGetHomepage}, - {"long_desc",PkgRecordsGetLongDesc}, - {"md5_hash",PkgRecordsGetMD5Hash}, - {"maintainer",PkgRecordsGetMaintainer}, - {"name",PkgRecordsGetName}, - {"record",PkgRecordsGetRecord}, - {"sha1_hash",PkgRecordsGetSHA1Hash}, - {"sha256_hash",PkgRecordsGetSHA256Hash}, - {"short_desc",PkgRecordsGetShortDesc}, - {"source_pkg",PkgRecordsGetSourcePkg}, - {"source_ver",PkgRecordsGetSourceVer}, + {"filename",PkgRecordsGetFileName,0, + "The filename of the package, as stored in the 'Filename' field."}, + {"homepage",PkgRecordsGetHomepage,0, + "The homepage of the package, as stored in the 'Homepage' field."}, + {"long_desc",PkgRecordsGetLongDesc,0, + "The long description of the packages; i.e. all lines in the\n" + "'Description' field except for the first one."}, + {"md5_hash",PkgRecordsGetMD5Hash,0, + "The MD5 hash value of the package, as stored in the 'MD5Sum' field."}, + {"maintainer",PkgRecordsGetMaintainer,0, + "The maintainer of the package, as stored in the 'Maintainer' field."}, + {"name",PkgRecordsGetName,0, + "The name of the package, as stored in the 'Package' field."}, + {"record",PkgRecordsGetRecord,0, + "The raw record, suitable for parsing by apt_pkg.TagSection."}, + {"sha1_hash",PkgRecordsGetSHA1Hash,0, + "The SHA1 hash value, as stored in the 'SHA1' field."}, + {"sha256_hash",PkgRecordsGetSHA256Hash,0, + "The SHA256 hash value, as stored in the 'SHA256' field."}, + {"short_desc",PkgRecordsGetShortDesc,0, + "The short description of the package, i.e. the first line of the\n" + "'Description' field."}, + {"source_pkg",PkgRecordsGetSourcePkg,0, + "The name of the source package, if different from the name of the\n" + "binary package. This information is retrieved from the 'Source' field."}, + {"source_ver",PkgRecordsGetSourceVer,0, + "The version of the source package, if it differs from the version\n" + "of the binary package. Just like 'source_pkg', this information\n" + "is retrieved from the 'Source' field."}, {} }; @@ -144,6 +163,13 @@ static PyObject *PkgRecordsNew(PyTypeObject *type,PyObject *Args,PyObject *kwds) GetCpp<pkgCache *>(Owner))); } +static const char *packagerecords_doc = + "PackageRecords(cache: apt_pkg.Cache)\n\n" + "Package Records contain information about packages. Those objects\n" + "can be used to retrieve information such as maintainer or filename\n" + "of a package. They can also be used to retrieve the raw records\n" + "of the packages (i.e. those stanzas stored in Packages files)."; + PyTypeObject PyPackageRecords_Type = { PyVarObject_HEAD_INIT(&PyType_Type, 0) @@ -169,9 +195,9 @@ PyTypeObject PyPackageRecords_Type = (Py_TPFLAGS_DEFAULT | // tp_flags Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_GC), - "Records Object", // tp_doc - CppTraverse<PkgRecordsStruct>, // tp_traverse - CppClear<PkgRecordsStruct>, // tp_clear + packagerecords_doc, // tp_doc + CppTraverse<PkgRecordsStruct>, // tp_traverse + CppClear<PkgRecordsStruct>, // tp_clear 0, // tp_richcompare 0, // tp_weaklistoffset 0, // tp_iter |
