refactored pickle everywhere but Session, removed unused imports
This commit is contained in:
@@ -20,7 +20,6 @@ caching will be provided by the GAE memcache
|
||||
(see gluon.contrib.gae_memcache)
|
||||
"""
|
||||
import time
|
||||
import shutil
|
||||
import thread
|
||||
import os
|
||||
import sys
|
||||
|
||||
@@ -1,12 +1,8 @@
|
||||
# fix response
|
||||
|
||||
import re
|
||||
import os
|
||||
import cPickle
|
||||
import gluon.serializers
|
||||
from gluon import current, HTTP
|
||||
from gluon.html import markmin_serializer, TAG, HTML, BODY, UL, XML, H1
|
||||
from gluon.contenttype import contenttype
|
||||
from gluon.contrib.fpdf import FPDF, HTMLMixin
|
||||
from gluon.sanitizer import sanitize
|
||||
from gluon.contrib.markmin.markmin2latex import markmin2latex
|
||||
|
||||
@@ -6,7 +6,10 @@ import redis
|
||||
from redis.exceptions import ConnectionError
|
||||
from gluon import current
|
||||
from gluon.cache import CacheAbstract
|
||||
import cPickle as pickle
|
||||
try:
|
||||
import cPickle as pickle
|
||||
except:
|
||||
import pickle
|
||||
import time
|
||||
import re
|
||||
import logging
|
||||
@@ -165,7 +168,7 @@ class RedisClient(object):
|
||||
expireat = int(time.time() + time_expire) + 120
|
||||
bucket_key = "%s:%s" % (cache_set_key, expireat / 60)
|
||||
value = f()
|
||||
value_ = pickle.dumps(value)
|
||||
value_ = pickle.dumps(value, pickle.HIGHEST_PROTOCOL)
|
||||
if time_expire == 0:
|
||||
time_expire = 1
|
||||
self.r_server.setex(key, value_, time_expire)
|
||||
|
||||
@@ -3,12 +3,9 @@ Developed by niphlod@gmail.com
|
||||
"""
|
||||
|
||||
import redis
|
||||
from redis.exceptions import ConnectionError
|
||||
from gluon import current
|
||||
from gluon.storage import Storage
|
||||
import cPickle as pickle
|
||||
import time
|
||||
import re
|
||||
import logging
|
||||
import thread
|
||||
|
||||
|
||||
+8
-5
@@ -21,7 +21,10 @@ import sanitizer
|
||||
import itertools
|
||||
import decoder
|
||||
import copy_reg
|
||||
import cPickle
|
||||
try:
|
||||
import cPickle as pickle
|
||||
except:
|
||||
import pickle
|
||||
import marshal
|
||||
|
||||
from HTMLParser import HTMLParser
|
||||
@@ -1242,13 +1245,13 @@ class CAT(DIV):
|
||||
|
||||
|
||||
def TAG_unpickler(data):
|
||||
return cPickle.loads(data)
|
||||
return pickle.loads(data)
|
||||
|
||||
|
||||
def TAG_pickler(data):
|
||||
d = DIV()
|
||||
d.__dict__ = data.__dict__
|
||||
marshal_dump = cPickle.dumps(d)
|
||||
marshal_dump = pickle.dumps(d, pickle.HIGHEST_PROTOCOL)
|
||||
return (TAG_unpickler, (marshal_dump,))
|
||||
|
||||
|
||||
@@ -2828,12 +2831,12 @@ class MARKMIN(XmlComponent):
|
||||
return self.xml()
|
||||
|
||||
def ASSIGNJS(**kargs):
|
||||
from serializers import json
|
||||
from gluon.serializers import json
|
||||
s = ""
|
||||
for key, value in kargs.items():
|
||||
s+='var %s = %s;\n' % (key, json(value))
|
||||
return XML(s)
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
import doctest
|
||||
|
||||
+8
-5
@@ -21,7 +21,10 @@ import datetime
|
||||
import platform
|
||||
import portalocker
|
||||
import fileutils
|
||||
import cPickle
|
||||
try:
|
||||
import cPickle as pickle
|
||||
except:
|
||||
import pickle
|
||||
from gluon.settings import global_settings
|
||||
|
||||
logger = logging.getLogger("web2py.cron")
|
||||
@@ -139,7 +142,7 @@ class Token(object):
|
||||
ret = None
|
||||
portalocker.lock(self.master, portalocker.LOCK_EX)
|
||||
try:
|
||||
(start, stop) = cPickle.load(self.master)
|
||||
(start, stop) = pickle.load(self.master)
|
||||
except:
|
||||
(start, stop) = (0, 1)
|
||||
if startup or self.now - start > locktime:
|
||||
@@ -149,7 +152,7 @@ class Token(object):
|
||||
logger.warning('WEB2PY CRON: Stale cron.master detected')
|
||||
logger.debug('WEB2PY CRON: Acquiring lock')
|
||||
self.master.seek(0)
|
||||
cPickle.dump((self.now, 0), self.master)
|
||||
pickle.dump((self.now, 0), self.master)
|
||||
self.master.flush()
|
||||
finally:
|
||||
portalocker.unlock(self.master)
|
||||
@@ -166,10 +169,10 @@ class Token(object):
|
||||
portalocker.lock(self.master, portalocker.LOCK_EX)
|
||||
logger.debug('WEB2PY CRON: Releasing cron lock')
|
||||
self.master.seek(0)
|
||||
(start, stop) = cPickle.load(self.master)
|
||||
(start, stop) = pickle.load(self.master)
|
||||
if start == self.now: # if this is my lock
|
||||
self.master.seek(0)
|
||||
cPickle.dump((self.now, time.time()), self.master)
|
||||
pickle.dump((self.now, time.time()), self.master)
|
||||
portalocker.unlock(self.master)
|
||||
self.master.close()
|
||||
|
||||
|
||||
+8
-5
@@ -11,7 +11,10 @@ Restricted environment to execute application's code
|
||||
"""
|
||||
|
||||
import sys
|
||||
import cPickle
|
||||
try:
|
||||
import cPickle as pickle
|
||||
except:
|
||||
import pickle
|
||||
import traceback
|
||||
import types
|
||||
import os
|
||||
@@ -55,7 +58,7 @@ class TicketStorage(Storage):
|
||||
try:
|
||||
table = self._get_table(self.db, self.tablename, request.application)
|
||||
table.insert(ticket_id=ticket_id,
|
||||
ticket_data=cPickle.dumps(ticket_data),
|
||||
ticket_data=pickle.dumps(ticket_data, pickle.HIGHEST_PROTOCOL),
|
||||
created_datetime=request.now)
|
||||
self.db.commit()
|
||||
message = 'In FILE: %(layer)s\n\n%(traceback)s\n'
|
||||
@@ -68,7 +71,7 @@ class TicketStorage(Storage):
|
||||
def _store_on_disk(self, request, ticket_id, ticket_data):
|
||||
ef = self._error_file(request, ticket_id, 'wb')
|
||||
try:
|
||||
cPickle.dump(ticket_data, ef)
|
||||
pickle.dump(ticket_data, ef)
|
||||
finally:
|
||||
ef.close()
|
||||
|
||||
@@ -103,13 +106,13 @@ class TicketStorage(Storage):
|
||||
except IOError:
|
||||
return {}
|
||||
try:
|
||||
return cPickle.load(ef)
|
||||
return pickle.load(ef)
|
||||
finally:
|
||||
ef.close()
|
||||
else:
|
||||
table = self._get_table(self.db, self.tablename, app)
|
||||
rows = self.db(table.ticket_id == ticket_id).select()
|
||||
return cPickle.loads(rows[0].ticket_data) if rows else {}
|
||||
return pickle.loads(rows[0].ticket_data) if rows else {}
|
||||
|
||||
|
||||
class RestrictedError(Exception):
|
||||
|
||||
+6
-3
@@ -12,7 +12,10 @@ Provides:
|
||||
- Storage; like dictionary allowing also for `obj.foo` for `obj['foo']`
|
||||
"""
|
||||
|
||||
import cPickle
|
||||
try:
|
||||
import cPickle as pickle
|
||||
except:
|
||||
import pickle
|
||||
import copy_reg
|
||||
import gluon.portalocker as portalocker
|
||||
|
||||
@@ -159,7 +162,7 @@ def load_storage(filename):
|
||||
fp = None
|
||||
try:
|
||||
fp = portalocker.LockedFile(filename, 'rb')
|
||||
storage = cPickle.load(fp)
|
||||
storage = pickle.load(fp)
|
||||
finally:
|
||||
if fp:
|
||||
fp.close()
|
||||
@@ -170,7 +173,7 @@ def save_storage(storage, filename):
|
||||
fp = None
|
||||
try:
|
||||
fp = portalocker.LockedFile(filename, 'wb')
|
||||
cPickle.dump(dict(storage), fp)
|
||||
pickle.dump(dict(storage), fp)
|
||||
finally:
|
||||
if fp:
|
||||
fp.close()
|
||||
|
||||
+6
-3
@@ -11,7 +11,10 @@ Auth, Mail, PluginManager and various utilities
|
||||
"""
|
||||
|
||||
import base64
|
||||
import cPickle
|
||||
try:
|
||||
import cPickle as pickle
|
||||
except:
|
||||
import pickle
|
||||
import datetime
|
||||
import thread
|
||||
import logging
|
||||
@@ -3327,7 +3330,7 @@ class Auth(object):
|
||||
user = table_user(user_id)
|
||||
if not user:
|
||||
raise HTTP(401, "Not Authorized")
|
||||
auth.impersonator = cPickle.dumps(session)
|
||||
auth.impersonator = pickle.dumps(session, pickle.HIGHEST_PROTOCOL)
|
||||
auth.user.update(
|
||||
table_user._filter_fields(user, True))
|
||||
self.user = auth.user
|
||||
@@ -3338,7 +3341,7 @@ class Auth(object):
|
||||
elif user_id in (0, '0'):
|
||||
if self.is_impersonating():
|
||||
session.clear()
|
||||
session.update(cPickle.loads(auth.impersonator))
|
||||
session.update(pickle.loads(auth.impersonator))
|
||||
self.user = session.auth.user
|
||||
self.update_groups()
|
||||
self.run_login_onaccept()
|
||||
|
||||
+1
-2
@@ -23,7 +23,6 @@ import logging
|
||||
import socket
|
||||
import base64
|
||||
import zlib
|
||||
import types
|
||||
|
||||
_struct_2_long_long = struct.Struct('=QQ')
|
||||
|
||||
@@ -160,7 +159,7 @@ def pad(s, n=32, padchar=' '):
|
||||
def secure_dumps(data, encryption_key, hash_key=None, compression_level=None):
|
||||
if not hash_key:
|
||||
hash_key = sha1(encryption_key).hexdigest()
|
||||
dump = pickle.dumps(data)
|
||||
dump = pickle.dumps(data, pickle.HIGHEST_PROTOCOL)
|
||||
if compression_level:
|
||||
dump = zlib.compress(dump, compression_level)
|
||||
key = pad(encryption_key[:32])
|
||||
|
||||
Reference in New Issue
Block a user