summaryrefslogtreecommitdiff
path: root/python
AgeCommit message (Collapse)AuthorFilesLines
2009-06-21python/acquire.cc, python/indexfile.cc: Do not delete the pointers for some ↵Julian Andres Klode2-3/+5
objects. We can not delete the AcquireFile object's pointer on deallocation because this would cause the item to be removed from the fetcher, which would be incompatible to the previous behaviour. We can not delete the IndexFile object's pointer on deallocation because it is managed by other objects like MetaIndex.
2009-06-21python: Add DeprecationWarning to functions which were replaced by classes.Julian Andres Klode10-8/+37
2009-06-21python/cache.cc: Give more information on TypeErrors in CacheMapOpJulian Andres Klode1-1/+3
2009-06-21python/progress.cc: Just try to call a function and fallback.Julian Andres Klode1-21/+7
2009-06-21python/progress.cc: Fix segfault related to pulse_items.Julian Andres Klode1-5/+5
2009-06-15Add support for Enhances as a dependency type (Closes: #416247)Julian Andres Klode1-1/+1
2009-06-14python/cache.cc,depcache.cc: Do not delete the depcache and cache pointers.Julian Andres Klode2-2/+5
Deleting the pointers caused a crash because those pointers will also be deleted by closing the cache file.
2009-06-12Bugfix: Delete pointers correctly, fixing memory leaks. (LP: #370149)Julian Andres Klode11-16/+35
We previously called the destructor of the pointer. This resulted in no object using pointers being deallocated. This patch introduces CppDeallocPtr() and CppOwnedDeallocPtr() which do the same as the other CppDealloc() and CppOwnedDealloc(), but use 'delete' on the pointer instead of the deconstructor. Furthermore, this patch also changes AcquireFile to be a CppOwnedPyObject, owned by the Acquire object. Without this change, deleting the Acquire object would cause a crash when AcquireFile is deallocated.
2009-06-09python/apt_pkgmodule.cc: Fix the modulename.Julian Andres Klode1-1/+1
2009-06-09Add apt_pkg.Policy class (Closes: #382725)Julian Andres Klode4-1/+194
2009-06-09Allow types providing __new__() to be subclassed.Julian Andres Klode12-16/+32
2009-06-09python/cache.cc: Fix segfaults using the new allocation methods.Julian Andres Klode2-3/+22
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.
2009-06-08Fix build failures with python2.4-dbg (const)Julian Andres Klode2-3/+3
2009-06-08python/progress.cc: #include "generic.h" to fix build failure with python2.4Julian Andres Klode1-0/+1
2009-06-08python/indexrecords.cc: Swap tuple elements in lookup, and raise KeyError ↵Julian Andres Klode1-3/+8
when none is found.
2009-06-08Add apt_pkg.HashString and apt_pkg.IndexRecords (Closes: #456141)Julian Andres Klode5-1/+271
2009-06-08python/generic.h,tag.cc,configuration.cc: Use tp_alloc/tp_free instead of ↵Julian Andres Klode3-11/+12
PyObject_NEW/DEL This allows us to finally implement subclassing. Previously deletion of an instance of a subclass caused segmentation faults, this is not the case anymore.
2009-06-08merge with mvojak@debian.org1-6/+118
2009-06-05python/progress.cc, apt/progress/*.py: Use PEP 8 naming conventions for progressJulian Andres Klode1-17/+64
This changes the progress classes to use PEP 8 names. Due to the concept of the deprecation system, this causes methods of subclasses not to be called at all. If a class implements a command with underscores, it is called. If the class also implements the version in mixedCase, this is ignored. This means that all subclasses will not work correctly, because only the method from the parent class is called.
2009-06-05python/acquire.cc(AcquireItemType): Use "apt_pkg.AcquireItem" as tp_nameJulian Andres Klode1-1/+1
2009-06-05python/: Put all deprecated Get*() functions into #ifdef COMPAT_0_7.Julian Andres Klode10-9/+29
2009-06-05python/apt_pkgmodule.cc: Fix refcount problem.Julian Andres Klode1-1/+3
2009-06-05Introduce the rename rules formally, and add some exceptions.Julian Andres Klode6-18/+18
2009-06-04python/apt_pkgmodule.cc: Make sure all types are ready.Julian Andres Klode1-18/+1
2009-06-04python/cache.cc: Remove some (char*) to make migrate-0.8.py work again.Julian Andres Klode1-13/+13
2009-06-04python/: Unify naming conventions for all new names.Julian Andres Klode8-60/+60
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.
2009-06-04python/cache.cc, python/metaindex.cc: Convert remaining stuff to getset ↵Julian Andres Klode2-170/+356
descriptors.
2009-06-03python/apt_pkgmodule.cc: Rename STATE_* constants.Julian Andres Klode1-15/+15
2009-06-03python/: Convert most names to PEP8 naming conventions (except ↵Julian Andres Klode13-22/+329
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).
2009-05-05* apt/progress/__init__.py:Michael Vogt1-7/+119
- add update_status_full() that takes file_size/partial_size as additional callback arguments - add pulse_items() that takes a addtional "items" tuple that gives the user full access to the individual items that are fetched * python/progress.cc: - low level code for update_status_full and pulse_items()
2009-04-24* python/*.cc: Fix build failures with python2.4-dbg.Julian Andres Klode5-9/+9
2009-04-19ActionGroups can be used as a context manager for the 'with' statement.Julian Andres Klode1-5/+27
2009-04-19* python/*.cc: Export all types and add a __new__() method to them.Julian Andres Klode14-174/+519
Some names may be changed before the release, but this is a good draft.
2009-04-17* python/apt_pkgmodule.cc: Do not access the modules __dict__.Julian Andres Klode1-60/+44
Instead of accessing the modules __dict__ directly, we should use the functions provided by Python to add objects to the module.
2009-04-17* python/generic.h: Force 0.7 compatibility to be off in Python 3 buildsJulian Andres Klode1-0/+2
2009-04-16* python/cache.cc: Correct the 'Auto' descriptor of the Package class.Julian Andres Klode1-1/+1
2009-04-16* apt/*.py: Initial rename work for Bug#481061Julian Andres Klode1-0/+6
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.
2009-04-15* python: Port AcquireItem,Package,Description to GetSetJulian Andres Klode4-118/+188
2009-04-15* Introduce support for Python 3 (Closes: #523645)Julian Andres Klode16-25/+192
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.
2009-04-15* python/pkgrecords.cc: Use GetSet for PkgRecordsTypeJulian Andres Klode2-36/+94
2009-04-14* python/pkgsrcrecords.cc: Use GetSet properties for PkgSrcRecordsTypeJulian Andres Klode3-61/+119
This time, it is a bit more complicated because we have to raise an AttributeError when no package has been looked up.
2009-04-14* python/pkgmanager.cc: Use tp_methods and tp_getset for PkgManagerTypeJulian Andres Klode2-18/+35
2009-04-14* python/indexfile.cc: Use tp_methods and tp_getset for PackageIndexFileTypeJulian Andres Klode2-25/+53
2009-04-14* python/acquire.cc: Use tp_methods and tp_getset for PkgAcquireTypeJulian Andres Klode2-35/+62
2009-04-14* python/depcache.cc: Use tp_methods and tp_getset for PkgDepCacheTypeJulian Andres Klode2-28/+50
2009-04-14* python/cache.cc: Add tp_getset and tp_methods to DependencyType.Julian Andres Klode2-24/+74
2009-04-14* python/cache.cc: Use tp_methods and tp_getset for PkgCacheTypeJulian Andres Klode2-29/+71
2009-04-14* python/acquire.cc, python/sourcelist.cc: Type cleanupJulian Andres Klode3-33/+34
Use GetSet for PkgSourceListType and remove tp_getattr from PkgAcquireFileType.
2009-04-14* Remove any trailing whitespaceJulian Andres Klode8-28/+28
2009-04-13* python/cdrom.cc, python/depcache.cc: Use tp_methods for Cdrom, ↵Julian Andres Klode4-34/+53
ProblemResolver, ActionGroup