Age | Commit message (Collapse) | Author | Files | Lines |
|
PyAcquireItemDesc_Type contain a pointer.
|
|
|
|
- apt_pkg.AcquireProgress
- apt_pkg.OpProgress
|
|
The C++ API provides support for creating Python objects from C++ objects
given by pointer or reference (depending on the implementation of the Python
object) and for retrieving the underlying C++ object from the Python object
and for checking the type of the Python object.
|
|
Configuration,ConfigurationPtr,ConfigurationSub into one type.
This makes the whole API easier. The disadvantage is that we require 8 bytes (??) more per
object for the owner object pointer, which is NULL for most cases (the only exception being
objects created by Configuration.sub_tree).
|
|
The dependency type constants have no use, because we do not export values
anywhere. The cleanup moves all #ifdef COMPAT_0_7 together into one section.
|
|
|
|
|
|
This was copied over from "Porting Extension Modules to 3.0", and is not
really needed.
|
|
|
|
This is the first step towards implementing coding guidelines for the
C++ code and providing an usable C++ API.
|
|
The Hashes class is a function which calculates all supported hashes for
one input. DebImg will use this for calculating the hashes of files.
|
|
apt_pkg.parse_[src_]depends() now use CompType instead of CompTypeDeb
(i.e. < instead of <<) to match the interface of Version.depends_list_str.
|
|
We can not keep the old apt_pkg.Version constant, because the name Version
is already used by the Version class.
|
|
|
|
|
|
|
|
We switched to using tp_alloc() to create new objects. Some types
had no tp_flags set and were not initialized using PyType_Ready,
causing tp_alloc (PyType_GenericAlloc) to crash.
|
|
|
|
|
|
|
|
|
|
|
|
Unify all names to follow these rules:
1. Replace the first [A-Z] with the lowercase version [a-z]
2. Replace multiple [A-Z] with [A-Z][a-z] (one upper, remaining ones lowercase)
3. Replace all remaining [A-Z] with _[a-z]
This brings us from 'FileName' to 'file_name' and from 'DescURI' to 'desc_uri'. We
will at a later stage add some exceptions to this rule, like 'filename' instead of
'file_name', to improve readability.
|
|
|
|
Version,PackageFile,MetaIndex).
On our way to close Bug#481061, this converts almost all names to PEP 8 naming
conventions. Missing are now apt_pkg.Version, apt_pkg.PackageFile, apt_pkg.MetaIndex
and apt.progress.*.
In case of the missing apt_pkg classes, they are not converted yet because they
do not use getset descriptors yet.
apt.progress.* has not been converted yet because the extension interacts with it,
and we first need to modify the extension to recognize the new names, as well as
the old names (old applications shouldn't break).
|
|
|
|
Some names may be changed before the release, but this is a good draft.
|
|
Instead of accessing the modules __dict__ directly, we should use the
functions provided by Python to add objects to the module.
|
|
A new module, apt.deprecation, is introduced containing functions and
classes which assist in the deprecation.
The apt_pkg extension gets a new attribute, _COMPAT_0_7 which can be set
by defining COMPAT_0_7 at compile time (-DCOMPAT_0_7).
The names are changed, and compatibility functions are enabled if
bool(apt_pkg._COMPAT_0_7) == True, i.e. if the package has been built with
backward compatibility fixes.
This commit changes the apt and aptsources packages, the apt_pkg and
apt_inst extensions will be the next renames.
|
|
|
|
This is the first initial port to Python 3. The API is almost completely
identical to the one found in Python 2, except that functions working with
binary data require bytes (md5sum,sha1sum,sha256sum,Base64Encode).
Using setup3.py to install the modules will not work, because the apt package
still has to be converted to Python 3. For the package, we call 2to3-3.1 in
debian/rules to do this automatically.
|
|
|
|
This time, it is a bit more complicated because we have to raise an
AttributeError when no package has been looked up.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Use GetSet for PkgSourceListType and remove tp_getattr from
PkgAcquireFileType.
|
|
|
|
ProblemResolver, ActionGroup
|
|
Support the replacement of mapping.has_key() for Configuration,ConfigurationPtr
and ConfigurationSub objects.
This is implemented by extending the various types with the tp_as_sequence
slot, which refers to a PySequenceMethods containing only this method.
The CnfGetAttr() function has been removed and replaced by the use of the
tp_method slot. This helps the py3k port because the previously used
Py_FindMethod() is not avilable anymore.
This completes the support of the 'in' operator in all python-apt objects,
which makes it even easier to convert python-apt-using applications to py3k
once python-apt supports it, as 2to3 converts 'm.has_key(k)' to 'k in m'.
Also finalize the types in apt_pkgmodule.cc and add the new 'key in conf'
description to the documentation.
|
|
Replace support for file objects with a more generic support for any object
providing a fileno() method and for file descriptors (integers).
This also helps us to port to Python 3, where the previously used PyFile_
functions are not available anymore.
|
|
By using tp_methods and tp_getset instead of a function for tp_getattr,
the resulting object is easier to understand and access to attributes and
methods is faster.
It also helps the port to Python 3, where Py_FindMethod does not exist
anymore.
|
|
Support the replacement of mapping.has_key() for sections, and
update the usage in apt/package.py and apt/debfile accordingly.
This is implemented by extending the TagSecType with sequence
methods, but only settings the contains method there.
The TagSecGetAttr() function has been removed and replaced by
the use of the tp_methods slot.
|
|
- when setting a alternative rootdir, read the
config from it as well
* python/configuration.cc, python/apt_pkgmodule.cc:
- add apt_pkg.ReadConfigDir()
|
|
|
|
|