from sqlalchemy import Table, Column, MetaData, ForeignKey, Index, desc, create_engine from simplejson import dumps as tojson, loads as fromjson import hashlib, hmac, secret, gzip, cStringIO, StringIO, zlib import secret, default from werkzeug import Local, LocalManager configfile = "" engine = None local = Local() local_manager = LocalManager([local]) Session = local('Session') Package = local('Package') local.Session = [] local.Package = [] def __Package_init__(self, lang, appcode, versioncode, key, body): self.lang = lang self.appcode = appcode self.versioncode = versioncode mac = hmac.new(secret.PackageSecret, None, hashlib.md5) mac.update(key) self.key = mac.digest().encode('base64').strip() self.body = body def makePackage(base): return new.classobj("package", (base, ), { "__tablename__": 'package', "__table_args__": {'mysql_engine':'InnoDB', 'mysql_charset':'utf8'},