2012-05-01 12:58:37 +00:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
from osv import fields, osv
|
|
|
|
import random
|
|
|
|
import string
|
2012-05-15 11:19:28 +00:00
|
|
|
import urllib2
|
|
|
|
from tools.translate import _
|
2012-05-01 12:58:37 +00:00
|
|
|
|
|
|
|
class pad_common(osv.osv_memory):
|
|
|
|
_name = 'pad.common'
|
2012-07-21 19:25:51 +00:00
|
|
|
_pad_fields = []
|
2012-08-29 09:36:06 +00:00
|
|
|
|
|
|
|
def pad_content(self, cr, uid, url ,context=None):
|
|
|
|
content = urllib2.urlopen('%s/export/html'%url).read()
|
|
|
|
return content
|
|
|
|
|
2012-07-21 19:25:51 +00:00
|
|
|
def pad_generate_url(self, cr, uid, context=None):
|
|
|
|
pad_url_template = self.pool.get('res.users').browse(cr,uid, uid, context).company_id.pad_url_template
|
2012-05-11 04:58:56 +00:00
|
|
|
s = string.ascii_uppercase + string.digits
|
|
|
|
salt = ''.join([s[random.randint(0, len(s) - 1)] for i in range(8)])
|
|
|
|
template_vars = {
|
|
|
|
'db' : cr.dbname,
|
2012-07-21 19:25:51 +00:00
|
|
|
'model' : self._name,
|
2012-05-11 04:58:56 +00:00
|
|
|
'salt' : salt,
|
|
|
|
}
|
2012-05-15 11:19:28 +00:00
|
|
|
url = pad_url_template % template_vars
|
|
|
|
return url
|
2012-05-11 04:58:56 +00:00
|
|
|
|
2012-08-29 09:36:06 +00:00
|
|
|
# TODO
|
|
|
|
# add attribute on columns pad_content_field =
|
|
|
|
# override default write to load the content at write and store it in the field
|
|
|
|
# reverse engineer protocol to be setHtml without using the api key
|
|
|
|
# override default get to generate urls
|
|
|
|
# override read to generate url and store the content if empty
|
|
|
|
|
2012-05-01 12:58:37 +00:00
|
|
|
def copy(self, cr, uid, id, default=None, context=None):
|
|
|
|
if not default:
|
|
|
|
default = {}
|
2012-07-21 19:25:51 +00:00
|
|
|
update = [(field,self.pad_generate_url(cr, uid, context)) for field in self._pad_fields]
|
|
|
|
default.update(update)
|
2012-05-01 12:58:37 +00:00
|
|
|
return super(pad_common, self).copy(cr, uid, id, default, context)
|
2012-07-17 22:14:08 +00:00
|
|
|
|
2012-05-01 12:58:37 +00:00
|
|
|
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|