summaryrefslogtreecommitdiffstats
path: root/pym/cache
Commit message (Collapse)AuthorAgeFilesLines
* Bug #196680 - Handle a CacheError inside mirror_cache() whenZac Medico2007-10-221-0/+4
| | | | | | reading from the source cache. (trunk r8222) svn path=/main/branches/2.1.2/; revision=8223
* Implement iterkeys on top of __iter__ instead of vice versa. Thanks to ↵Zac Medico2007-06-229-12/+22
| | | | | | Brian Harring for the suggestion. (trunk r6918) svn path=/main/branches/2.1.2/; revision=6934
* Remove more unnecessary list generation. (trunk r6912)Zac Medico2007-06-222-6/+3
| | | | svn path=/main/branches/2.1.2/; revision=6931
* Ignore non-existent directories for bug #171809. This is required for ↵Zac Medico2007-03-231-1/+9
| | | | | | readonly mode. (trunk r6264:6265) svn path=/main/branches/2.1.2/; revision=6266
* Fix the rest of the broken except statement syntax. (trunk r6120:6121)Zac Medico2007-03-011-1/+1
| | | | svn path=/main/branches/2.1.2/; revision=6122
* In order to correctly handl the case of target caches that don't have ↵Zac Medico2007-02-031-1/+3
| | | | | | complete eclass entries, validate the set of interited eclasses to make sure it is correct (since timestamp validation is not applicable). (trunk r5880) svn path=/main/branches/2.1.2/; revision=5881
* For bug #160893, ignore a KeyError during cache cleansing since that key ↵Zac Medico2007-01-081-1/+4
| | | | | | isn't wanted anyway. svn path=/main/trunk/; revision=5483
* For bug #159518, increase the "database is locked" timeout.Zac Medico2006-12-311-1/+7
| | | | svn path=/main/trunk/; revision=5434
* Make _setitem do a deepcopy just in case.Zac Medico2006-12-261-1/+3
| | | | svn path=/main/trunk/; revision=5394
* For forward compatibility, make metadata_overlay pass any additional ↵Zac Medico2006-12-231-2/+5
| | | | | | positional and keyword parameters into the super constructor. svn path=/main/trunk/; revision=5368
* Make metadata_overlay use the autocommits attribute of the underlying database.Zac Medico2006-12-231-1/+1
| | | | svn path=/main/trunk/; revision=5357
* Pass a cache instance into metadata_overlay since it doesn't have enough ↵Zac Medico2006-12-231-3/+6
| | | | | | information to construct one itself. svn path=/main/trunk/; revision=5356
* Add volatile cache module missing from the previous commit.Zac Medico2006-12-221-0/+25
| | | | svn path=/main/trunk/; revision=5355
* When an unprivileged user runs portage (not in the portage group), use ↵Zac Medico2006-12-222-2/+5
| | | | | | metadata_overlay together with a volatile in-memory cache module in order to implement cache writes. This allows, for example, a user who's not in the portage group to run `ebuild foo.ebuild digest` (issue reported by Charlie Shepherd <masterdriverz@gentoo.org>). svn path=/main/trunk/; revision=5354
* More intelligently handle CacheCorruption errors in the writable cache.Zac Medico2006-12-201-0/+4
| | | | svn path=/main/trunk/; revision=5338
* Make sure trg is defined.Zac Medico2006-11-041-1/+2
| | | | svn path=/main/trunk/; revision=4925
* When transferring cache after sync, compare all metadata to make sure it is ↵Zac Medico2006-11-041-0/+16
| | | | | | identical (don't trust _mtime_ and _eclasses_ alone). Local tests show that this can add approximately 15% more time to the metadata update, but it's needed for things like bug #153591. svn path=/main/trunk/; revision=4924
* Add backward compatibility code for cache modules that override has_key ↵Zac Medico2006-10-271-1/+8
| | | | | | instead of __contains__. svn path=/main/trunk/; revision=4855
* Reverse the relationship between __contains__ and has_key in all cache ↵Zac Medico2006-10-267-8/+8
| | | | | | classes since python handles the "in" operator more efficiently than a has_key method call. svn path=/main/trunk/; revision=4821
* Test for basestring instead of types.DictType so that the test more generic.Zac Medico2006-10-261-1/+1
| | | | svn path=/main/trunk/; revision=4820
* For full compatibility with older versions of portage, write the path in the ↵Zac Medico2006-10-251-6/+5
| | | | | | serialized _eclasses_ when possible. svn path=/main/trunk/; revision=4818
* For the time being, write a variation of the old _eclass_ format so that ↵Zac Medico2006-10-251-0/+10
| | | | | | cache written only forces a regen for older versions of portage rather than a ValueError due to failed long() conversion. svn path=/main/trunk/; revision=4815
* Improve reconstruct_eclasses error handling.Zac Medico2006-10-251-9/+8
| | | | svn path=/main/trunk/; revision=4814
* Enable recognition of _mtime_ that doesn't rely on cache mtime mangling.Zac Medico2006-10-241-1/+4
| | | | svn path=/main/trunk/; revision=4808
* Remove paths from _eclasses_ serialization in the cache. This makes the ↵Zac Medico2006-10-241-4/+15
| | | | | | mtimes of the eclasses the only thing that distinguishes them, but the probablility of collision is negligible. This same _eclasses_ format will be used to serialize eclass mtimes in cache that is distributed via the rsync mirrors. The deserialization code can handle mixtures of both the old and new formats. svn path=/main/trunk/; revision=4807
* Add a missing method parameter.Zac Medico2006-10-151-1/+1
| | | | svn path=/main/trunk/; revision=4708
* Catch a ValueError caused by corrupt cache for bug #149134.Zac Medico2006-09-281-1/+5
| | | | svn path=/main/trunk/; revision=4545
* Move the open call out of the inner try block.Zac Medico2006-09-221-4/+2
| | | | svn path=/main/trunk/; revision=4506
* Use finally: to ensure that the file is closed properly.Zac Medico2006-09-221-8/+9
| | | | svn path=/main/trunk/; revision=4504
* Don't use LazyLoad for cache pulls because it causes a race condition.Zac Medico2006-09-221-11/+1
| | | | svn path=/main/trunk/; revision=4503
* Improve and simplify __getitem__ error handling.Zac Medico2006-09-221-14/+8
| | | | svn path=/main/trunk/; revision=4502
* Use fstat to when retrieve cache timestamps and avoid a race.Zac Medico2006-09-222-15/+5
| | | | svn path=/main/trunk/; revision=4501
* For compatibility with float timestamps in python-2.5, convert st_mtime ↵Zac Medico2006-09-221-1/+2
| | | | | | attributes to long wherever portage expects 1s resolution. svn path=/main/trunk/; revision=4500
* Convert stat timestamps to long for compatibility with python-2.5, which ↵Zac Medico2006-09-221-1/+2
| | | | | | returns floats for timestamps. svn path=/main/trunk/; revision=4499
* Allow cache.sqlite to use sqlite3 from python-2.5, if available.Zac Medico2006-09-221-1/+4
| | | | svn path=/main/trunk/; revision=4498
* Replace relative imports with absolute imports for forward compatibility ↵Zac Medico2006-09-1810-25/+25
| | | | | | with python 2.6. svn path=/main/trunk/; revision=4470
* Make it easy to pass alternative cache implementations into the constructor ↵Zac Medico2006-06-201-1/+2
| | | | | | as suggested by Brian Harring. svn path=/main/trunk/; revision=3547
* Use get() to simplify setitem logic as suggested by Brian Harring.Zac Medico2006-06-201-12/+10
| | | | svn path=/main/trunk/; revision=3546
* Implement get() as part of the standard mapping interface.Zac Medico2006-06-201-0/+6
| | | | svn path=/main/trunk/; revision=3545
* Fix it so that values are properly saved in the writable layer. Previously ↵Zac Medico2006-06-201-1/+3
| | | | | | they've been discarded, leading to regen on each access (only in cases where the user has altered an ebuild in the $PORTDIR). svn path=/main/trunk/; revision=3544
* make elog mail module always set the 'From' header for rfc2822 complianceMarius Mauch2006-06-1010-10/+10
| | | | svn path=/main/trunk/; revision=3483
* Use iteritems() instead of items() because an iterator uses less memory.Zac Medico2006-05-141-1/+1
| | | | svn path=/main/trunk/; revision=3350
* Write raw bytes instead of attempting to encode as utf-8 for bug #133287.Zac Medico2006-05-141-1/+1
| | | | svn path=/main/trunk/; revision=3349
* Fix a potential NameError due to 'cpv' being undefined in the namespace and ↵Zac Medico2006-05-071-3/+5
| | | | | | also fix a potential AttributeError due to an attempt to call reconstruct_eclasses() on a dict object that has already been reconstructed in flat_hash.database._parse_data(). svn path=/main/trunk/; revision=3329
* Properly encode metadata strings as utf-8 in order to avoid ↵Zac Medico2006-05-071-1/+1
| | | | | | | | "UnicodeEncodeError: 'ascii' codec can't encode character" exception when given a unicode string. svn path=/main/trunk/; revision=3328
* Replace inappropriate use of writelines with normal write.Zac Medico2006-05-071-1/+1
| | | | svn path=/main/trunk/; revision=3327
* Remove the uppercase requirement on flat_hash metadata keys so that ↵Zac Medico2006-05-061-3/+1
| | | | | | _eclasses_ will work. This is equivalent to the patch by Brian Harring that went into 2.0.54-r2 for forward compatibility with planned changes in the rsync metadata cache. svn path=/main/trunk/; revision=3323
* Catch an uncaught CacheCorruption for the traceback from bug #126692.Zac Medico2006-05-031-1/+7
| | | | svn path=/main/trunk/; revision=3313
* Add a new sqlite cache module (one I wrote) that has acceptable performance.Zac Medico2006-05-011-0/+237
| | | | svn path=/main/trunk/; revision=3299
* Remove sqlite.py because it's performance is unacceptable and it is ↵Zac Medico2006-05-011-67/+0
| | | | | | therefore useless. svn path=/main/trunk/; revision=3298