Tim Graham
536c447820
Fixed a couple flake8 warnings.
2013-11-07 20:10:25 -05:00
Jaap Roes
7be638390e
Fixed #20536 -- rewrite of the file based cache backend
...
* Safer for use in multiprocess environments
* Better random culling
* Cache files use less disk space
* Safer delete behavior
Also fixed #15806 , fixed #15825 .
2013-11-07 16:12:15 +02:00
Alex Gaynor
c347f78cc1
Fixed all E226 violations
2013-11-03 10:08:55 -08:00
coagulant
3bc0d46a84
Fixed all E261 warnings
2013-11-02 18:20:39 -04:00
Alex Gaynor
7548aa8ffd
More attacking E302 violators
2013-11-02 13:12:09 -07:00
Tim Graham
36ded01527
Fixed #21302 -- Fixed unused imports and import *.
2013-11-02 15:24:56 -04:00
Alex Gaynor
9bf5610890
Start attacking E231 violations
2013-10-24 10:30:03 -07:00
Michael Manfre
bf757a2f4d
Fixed #21147 -- Avoided time.time precision issue with cache backends.
...
The precision of time.time() is OS specific and it is possible for the
resolution to be low enough to allow reading a cache key previously set
with a timeout of 0.
2013-10-01 13:42:59 -04:00
Michael Manfre
d5606b5763
Fixed #21146 - DatabaseCache converts expires to python value
...
DatabaseCache uses raw cursors to bypass the ORM. This prevents it from
being used by database backends that require special handling of datetime
values.
There is no easy way to test this, so no tests added.
2013-09-26 13:11:43 +03:00
Curtis Maloney
4e9f800742
Fixed #21125 -- Removed support for cache URI syntax
2013-09-19 10:01:39 -04:00
Gregor MacGregor
b2b763448f
Fixed #20841 -- Added messages to NotImplementedErrors
...
Thanks joseph at vertstudios.com for the suggestion.
2013-09-10 11:09:59 -04:00
Alex Gaynor
2530735d2d
Fixed a number of flake8 errors -- particularly around unused imports and local variables
2013-09-06 21:56:40 -07:00
Aymeric Augustin
6a6428a36f
Took advantage of django.utils.six.moves.urllib.*.
2013-09-05 14:39:23 -05:00
Simon Charette
11cd7388f7
Fixed #20989 -- Removed useless explicit list comprehensions.
2013-08-30 10:57:51 -04:00
Claude Paroz
5c1143910e
Removed most of absolute_import imports
...
Should be unneeded with Python 2.7 and up.
Added some unicode_literals along the way.
2013-07-29 20:28:13 +02:00
Claude Paroz
fdd7a355bf
Deprecated django.utils.importlib
...
This was a shim for pre-Python 2.7 support.
2013-07-29 17:10:22 +02:00
Tim Graham
3c736207a3
Fixed #20722 -- Fixed MemcachedCache backend get_many on Python 3.
2013-07-09 11:55:45 -04:00
Alex Gaynor
db2727f952
A few cleanups to capture the minimum amount of code in try/except blocks.
2013-07-08 09:26:52 +10:00
ersran9
76ee39ce14
Fixed 20613 - moved pickle loads/dumps outside with self._lock.reader()/writer() blocks
...
Additionaly added pickled=None initially and check for none before
returning in get
2013-07-06 02:09:52 +05:30
Jacob Burch
89955cc35f
Fixed #9595 -- Allow non-expiring cache timeouts.
...
Also, streamline the use of 0 and None between cache backends.
2013-05-18 15:39:42 +02:00
Aymeric Augustin
83a416f5e7
Made atomic usable when autocommit is off.
...
Thanks Anssi for haggling until I implemented this.
This change alleviates the need for atomic_if_autocommit. When
autocommit is disabled for a database, atomic will simply create and
release savepoints, and not commit anything. This honors the contract of
not doing any transaction management.
This change also makes the hack to allow using atomic within the legacy
transaction management redundant.
None of the above will work with SQLite, because of a flaw in the design
of the sqlite3 library. This is a known limitation that cannot be lifted
without unacceptable side effects eg. triggering arbitrary commits.
2013-03-13 15:17:40 +01:00
Aymeric Augustin
1b12e248ea
Fixed #11569 -- Wrapped DatabaseCache._base_set in an atomic block.
...
The atomic block provides a clean rollback to a savepoint on failed writes.
The ticket reported a race condition which I don't know how to test.
2013-03-11 22:19:48 +01:00
Aymeric Augustin
ba5138b1c0
Deprecated transaction.commit/rollback_unless_managed.
...
Since "unless managed" now means "if database-level autocommit",
committing or rolling back doesn't have any effect.
Restored transactional integrity in a few places that relied on
automatically-started transactions with a transitory API.
2013-03-11 14:48:54 +01:00
Tomek Paczkowski
99edbe0e27
Fixed #19253 -- Extracted template cache key building logic
...
Introduced a public function
django.core.cache.utils.make_template_fragment_key
Thanks @chrismedrela for fruitful cooperation.
2013-02-24 14:32:45 +01:00
Bas Peschier
5a9b2bce24
Fixed #19810 -- MemcachedCache now uses pickle.HIGHEST_PROTOCOL
2013-02-24 13:56:15 +01:00
George Song
44164c5c30
Fixed #19896 -- Committed after clearing cache in the database.
2013-02-24 12:15:02 +01:00
Simon Charette
ec469ade2b
Fixed #19689 -- Renamed `Model._meta.module_name` to `model_name`.
2013-02-05 04:16:07 -05:00
Claude Paroz
7c5b244826
Fixed #17061 -- Factored out importing object from a dotted path
...
Thanks Carl Meyer for the report.
2013-02-04 16:38:25 +01:00
Aymeric Augustin
59351247bd
Removed django.core.cache.backends.memcached.CacheClass.
2012-12-29 21:59:07 +01:00
Aymeric Augustin
6c69de80bd
Tweaked cache key creation to avoid strict typing.
...
This is a provisional change. See #19221 for details.
2012-11-11 21:23:45 +01:00
Aymeric Augustin
4c5cea7073
Merge pull request #218 from mgrouchy/ticket_18582
...
Fixed #18582 -- Added a no-op close to BaseCache
2012-11-11 07:18:45 -08:00
Anssi Kääriäinen
cc0ac26f4a
Fixed #19273 -- Fixed DB cache backend on pg 9.0+ and py3
...
There was a problem caused by Postgres 9.0+ having bytea_output default
value of 'hex' and cache backend inserting the content as 'bytes' into
a column of type TEXT. Fixed by converting the bytes value to a string
before insert.
2012-11-10 19:42:20 +02:00
Claude Paroz
04a7ea3283
Removed an impossible code path in cache function
2012-11-10 15:42:27 +01:00
Claude Paroz
79dd751b0b
Fixed #14315 -- Made memcached backend handle negative incr/decr values
...
Thanks Michael Manfre for the report and initial patch and
Tobias McNulty for the review.
2012-11-06 12:22:42 +01:00
Alex Gaynor
335a9f9cf1
Removed many uses of bare "except:", which were either going to a) silence real issues, or b) were impossible to hit.
2012-09-07 15:08:07 -04:00
Claude Paroz
ae88e73fa6
Replaced some smart_xxx by force_xxx equivalent
...
smart_str/smart_text should only be used when a potential lazy
string should be preserved in the result of the function call.
2012-08-30 15:46:16 +02:00
Claude Paroz
ebc773ada3
Replaced many smart_bytes by force_bytes
...
In all those occurrences, we didn't care about preserving the
lazy status of the strings, but we really wanted to obtain a
real bytestring.
2012-08-29 11:20:32 +02:00
Aymeric Augustin
2284419a2c
[py3] Fixed cache tests.
2012-08-18 11:15:05 +02:00
Claude Paroz
24de85c419
[py3] Fixed more encoding issues in cache tests
2012-08-15 22:48:09 +02:00
Claude Paroz
4e17f4589a
Fixed #18770 -- memcached cache backend expects byte strings as keys
...
Thanks thecore for the report.
2012-08-15 16:57:17 +02:00
Aymeric Augustin
212a512984
[py3] Avoided the deprecated base64 interface.
...
This fixes a deprecation warning under Python 3.
2012-08-14 23:45:12 +02:00
Claude Paroz
45baaabafb
[py3] Fixed encoding issues in cache key generation
2012-08-13 12:56:59 +02:00
Claude Paroz
ac37c9e495
[py3] Encoded value before feeding it to hashlib.md5
2012-08-12 22:49:10 +02:00
Aymeric Augustin
c5ef65bcf3
[py3] Ported django.utils.encoding.
...
* Renamed smart_unicode to smart_text (but kept the old name under
Python 2 for backwards compatibility).
* Renamed smart_str to smart_bytes.
* Re-introduced smart_str as an alias for smart_text under Python 3
and smart_bytes under Python 2 (which is backwards compatible).
Thus smart_str always returns a str objects.
* Used the new smart_str in a few places where both Python 2 and 3
want a str.
2012-08-07 12:00:22 +02:00
Aymeric Augustin
ca07fda2ef
[py3] Switched to Python 3-compatible imports.
...
xrange/range will be dealt with in a separate commit due to the huge
number of changes.
2012-07-22 09:29:56 +02:00
Aymeric Augustin
0d914d08a0
[py3] Updated urllib/urllib2/urlparse imports.
...
Lots of functions were moved. Use explicit imports in all cases
to keey it easy to identify where the functions come from.
2012-07-22 09:29:55 +02:00
Aymeric Augustin
3cb2457f46
[py3] Replaced basestring by six.string_types.
2012-07-22 09:29:54 +02:00
Mike Grouchy
a2e927b7ed
BaseCache now has a no-op close method as per ticket #18582
...
Also removed the hasattr check when firing request_finished signal for
caches with a 'close' method. Should be safe to call `cache.close`
everywhere now
2012-07-18 14:16:55 -04:00
Anssi Kääriäinen
d3c2eb103f
Fixed #18330 - Made cache culling 3rd party db backend friendly
...
This is Ian Kelly's patch from #15580 with minor modifications.
2012-07-05 17:20:48 +03:00
Claude Paroz
865cd35c9b
Made more extensive usage of context managers with open.
2012-05-05 14:06:36 +02:00