Browse Source

Fixes for MySQL-python==1.2.5

version-14
Anand Doshi 11 years ago
parent
commit
3968f66d5f
19 changed files with 65 additions and 60 deletions
  1. +2
    -2
      webnotes/core/doctype/notification_count/notification_count.py
  2. +7
    -7
      webnotes/core/doctype/profile/profile.py
  3. +1
    -1
      webnotes/core/doctype/profile/test_profile.py
  4. +1
    -1
      webnotes/core/notifications.py
  5. +1
    -1
      webnotes/db.py
  6. +2
    -2
      webnotes/defaults.py
  7. +2
    -2
      webnotes/model/db_schema.py
  8. +2
    -2
      webnotes/model/delete_doc.py
  9. +8
    -8
      webnotes/model/doc.py
  10. +5
    -5
      webnotes/model/doctype.py
  11. +9
    -9
      webnotes/model/rename_doc.py
  12. +3
    -3
      webnotes/profile.py
  13. +5
    -5
      webnotes/sessions.py
  14. +0
    -0
      webnotes/templates/includes/footer_extension.html
  15. +1
    -0
      webnotes/templates/includes/footer_powered.html
  16. +4
    -4
      webnotes/utils/email_lib/bulk.py
  17. +2
    -2
      webnotes/website/doctype/blog_post/blog_post.py
  18. +3
    -1
      webnotes/website/doctype/blog_post/test_blog_post.py
  19. +7
    -5
      webnotes/widgets/reportview.py

+ 2
- 2
webnotes/core/doctype/notification_count/notification_count.py View File

@@ -18,7 +18,7 @@ def get_notifications():
open_count_module = {}

notification_count = dict(webnotes.conn.sql("""select for_doctype, open_count
from `tabNotification Count` where owner=%s""", webnotes.session.user))
from `tabNotification Count` where owner=%s""", (webnotes.session.user,)))

for d in config.for_doctype:
if d in can_read:
@@ -51,7 +51,7 @@ def get_notifications():

def delete_notification_count_for(doctype):
if webnotes.flags.in_import: return
webnotes.conn.sql("""delete from `tabNotification Count` where for_doctype = %s""", doctype)
webnotes.conn.sql("""delete from `tabNotification Count` where for_doctype = %s""", (doctype,))

def delete_event_notification_count():
delete_notification_count_for("Event")


+ 7
- 7
webnotes/core/doctype/profile/profile.py View File

@@ -220,17 +220,17 @@ Thank you,<br>
webnotes.local.login_manager.logout(user=self.doc.name)
# delete their password
webnotes.conn.sql("""delete from __Auth where user=%s""", self.doc.name)
webnotes.conn.sql("""delete from __Auth where user=%s""", (self.doc.name,))
# delete todos
webnotes.conn.sql("""delete from `tabToDo` where owner=%s""", self.doc.name)
webnotes.conn.sql("""delete from `tabToDo` where owner=%s""", (self.doc.name,))
webnotes.conn.sql("""update tabToDo set assigned_by=null where assigned_by=%s""",
self.doc.name)
(self.doc.name,))
# delete events
webnotes.conn.sql("""delete from `tabEvent` where owner=%s
and event_type='Private'""", self.doc.name)
webnotes.conn.sql("""delete from `tabEvent User` where person=%s""", self.doc.name)
and event_type='Private'""", (self.doc.name,))
webnotes.conn.sql("""delete from `tabEvent User` where person=%s""", (self.doc.name,))
# delete messages
webnotes.conn.sql("""delete from `tabComment` where comment_doctype='Message'
@@ -315,7 +315,7 @@ def get_perm_info(arg=None):
return webnotes.conn.sql("""select parent, permlevel, `read`, `write`, submit,
cancel, amend from tabDocPerm where role=%s
and docstatus<2 order by parent, permlevel""",
webnotes.form_dict['role'], as_dict=1)
(webnotes.form_dict['role'],), as_dict=1)

@webnotes.whitelist(allow_guest=True)
def update_password(new_password, key=None, old_password=None):
@@ -368,7 +368,7 @@ def reset_password(user):
if user in ["demo@erpnext.com", "Administrator"]:
return "Not allowed"
if webnotes.conn.sql("""select name from tabProfile where name=%s""", user):
if webnotes.conn.sql("""select name from tabProfile where name=%s""", (user,)):
# Hack!
webnotes.session["user"] = "Administrator"
profile = webnotes.bean("Profile", user)


+ 1
- 1
webnotes/core/doctype/profile/test_profile.py View File

@@ -20,7 +20,7 @@ class TestProfile(unittest.TestCase):
delete_doc("Profile", "_test@example.com")
self.assertTrue(not webnotes.conn.sql("""select * from `tabToDo` where owner=%s""",
"_test@example.com"))
("_test@example.com",)))
from webnotes.core.doctype.role.test_role import test_records as role_records
webnotes.bean(copy=role_records[1]).insert()


+ 1
- 1
webnotes/core/notifications.py View File

@@ -41,4 +41,4 @@ def get_unread_messages():
WHERE comment_doctype IN ('My Company', 'Message')
AND comment_docname = %s
AND ifnull(docstatus,0)=0
""", webnotes.user.name)[0][0]
""", (webnotes.user.name,))[0][0]

+ 1
- 1
webnotes/db.py View File

@@ -469,7 +469,7 @@ class Database:
if dt==dn:
return True # single always exists (!)
try:
return self.sql('select name from `tab%s` where name=%s' % (dt, '%s'), dn)
return self.sql('select name from `tab%s` where name=%s' % (dt, '%s'), (dn,))
except:
return None
elif isinstance(dt, dict) and dt.get('doctype'):


+ 2
- 2
webnotes/defaults.py View File

@@ -34,7 +34,7 @@ def get_restrictions(user=None):
def build_restrictions(user):
out = {}
for key, value in webnotes.conn.sql("""select defkey, defvalue
from tabDefaultValue where parent=%s and parenttype='Restriction'""", user):
from tabDefaultValue where parent=%s and parenttype='Restriction'""", (user,)):
out.setdefault(key, [])
out[key].append(value)
return out
@@ -133,7 +133,7 @@ def get_defaults_for(parent="Control Panel"):
defaults = webnotes.cache().get_value("__defaults:" + parent)
if not defaults:
res = webnotes.conn.sql("""select defkey, defvalue from `tabDefaultValue`
where parent = %s order by creation""", parent, as_dict=1)
where parent = %s order by creation""", (parent,), as_dict=1)

defaults = webnotes._dict({})
for d in res:


+ 2
- 2
webnotes/model/db_schema.py View File

@@ -100,7 +100,7 @@ class DbTable:
try:
custom_fl = webnotes.conn.sql("""\
SELECT * FROM `tabCustom Field`
WHERE dt = %s AND docstatus < 2""", self.doctype, as_dict=1)
WHERE dt = %s AND docstatus < 2""", (self.doctype,), as_dict=1)
if custom_fl: fl += custom_fl
except Exception, e:
if e.args[0]!=1146: # ignore no custom field
@@ -393,7 +393,7 @@ def updatedb(dt):
* updates columns
* updates indices
"""
res = webnotes.conn.sql("select ifnull(issingle, 0) from tabDocType where name=%s", dt)
res = webnotes.conn.sql("select ifnull(issingle, 0) from tabDocType where name=%s", (dt,))
if not res:
raise Exception, 'Wrong doctype "%s" in updatedb' % dt


+ 2
- 2
webnotes/model/delete_doc.py View File

@@ -36,10 +36,10 @@ def delete_doc(doctype=None, name=None, doclist = None, force=0, ignore_doctypes
try:
tablefields = webnotes.model.meta.get_table_fields(doctype)
webnotes.conn.sql("delete from `tab%s` where name=%s" % (doctype, "%s"), name)
webnotes.conn.sql("delete from `tab%s` where name=%s" % (doctype, "%s"), (name,))
for t in tablefields:
if t[0] not in ignore_doctypes:
webnotes.conn.sql("delete from `tab%s` where parent = %s" % (t[0], '%s'), name)
webnotes.conn.sql("delete from `tab%s` where parent = %s" % (t[0], '%s'), (name,))
except Exception, e:
if e.args[0]==1451:
webnotes.msgprint("Cannot delete %s '%s' as it is referenced in another record. You must delete the referred record first" % (doctype, name))


+ 8
- 8
webnotes/model/doc.py View File

@@ -375,7 +375,7 @@ class Document:
if '\n' in dt:
dt = dt.split('\n')[0]
tmp = webnotes.conn.sql("""SELECT name FROM `tab%s`
WHERE name = %s""" % (dt, '%s'), dn)
WHERE name = %s""" % (dt, '%s'), (dn,))
return tmp and tmp[0][0] or ''# match case
def _update_values(self, issingle, link_list, ignore_fields=0, keep_timestamps=False):
@@ -441,7 +441,7 @@ class Document:
"""update parent type and parent field, if not explicitly specified"""

tmp = webnotes.conn.sql("""select parent, fieldname from tabDocField
where fieldtype='Table' and options=%s""", self.doctype)
where fieldtype='Table' and options=%s""", (self.doctype,))
if len(tmp)==0:
raise Exception, 'Incomplete parent info in child table (%s, %s)' \
@@ -587,15 +587,15 @@ def make_autoname(key, doctype=''):

def getseries(key, digits, doctype=''):
# series created ?
current = webnotes.conn.sql("select `current` from `tabSeries` where name=%s for update", key)
current = webnotes.conn.sql("select `current` from `tabSeries` where name=%s for update", (key,))
if current and current[0][0] is not None:
current = current[0][0]
# yes, update it
webnotes.conn.sql("update tabSeries set current = current+1 where name=%s", key)
webnotes.conn.sql("update tabSeries set current = current+1 where name=%s", (key,))
current = cint(current) + 1
else:
# no, create it
webnotes.conn.sql("insert into tabSeries (name, current) values (%s, 1)", key)
webnotes.conn.sql("insert into tabSeries (name, current) values (%s, 1)", (key,))
current = 1
return ('%0'+str(digits)+'d') % current

@@ -633,7 +633,7 @@ def check_page_perm(doc):
if doc.publish:
return

if not webnotes.conn.sql("select name from `tabPage Role` where parent=%s and role='Guest'", doc.name):
if not webnotes.conn.sql("select name from `tabPage Role` where parent=%s and role='Guest'", (doc.name,)):
webnotes.response['403'] = 1
raise webnotes.PermissionError, '[WNF] No read permission for %s %s' % ('Page', doc.name)

@@ -669,7 +669,7 @@ def get(dt, dn='', with_children = 1, from_controller = 0):

def getsingle(doctype):
"""get single doc as dict"""
dataset = webnotes.conn.sql("select field, value from tabSingles where doctype=%s", doctype)
dataset = webnotes.conn.sql("select field, value from tabSingles where doctype=%s", (doctype,))
return dict(dataset)
def copy_common_fields(from_doc, to_doc):
@@ -685,7 +685,7 @@ def copy_common_fields(from_doc, to_doc):
def validate_name(doctype, name, case=None, merge=False):
if not merge:
if webnotes.conn.sql('select name from `tab%s` where name=%s' % (doctype,'%s'), name):
if webnotes.conn.sql('select name from `tab%s` where name=%s' % (doctype,'%s'), (name,)):
raise NameError, 'Name %s already exists' % name
# no name


+ 5
- 5
webnotes/model/doctype.py View File

@@ -132,7 +132,7 @@ def sort_fields(doclist):
def apply_property_setters(doctype, doclist):
for ps in webnotes.conn.sql("""select * from `tabProperty Setter` where
doc_type=%s""", doctype, as_dict=1):
doc_type=%s""", (doctype,), as_dict=1):
if ps['doctype_or_field']=='DocType':
if ps.get('property_type', None) in ('Int', 'Check'):
ps['value'] = cint(ps['value'])
@@ -149,7 +149,7 @@ def apply_property_setters(doctype, doclist):
def add_custom_fields(doctype, doclist):
try:
res = webnotes.conn.sql("""SELECT * FROM `tabCustom Field`
WHERE dt = %s AND docstatus < 2""", doctype, as_dict=1)
WHERE dt = %s AND docstatus < 2""", (doctype,), as_dict=1)
except Exception, e:
if e.args[0]==1146:
return doclist
@@ -251,7 +251,7 @@ def clear_cache(doctype=None):
# clear all parent doctypes
for dt in webnotes.conn.sql("""select parent from tabDocField
where fieldtype="Table" and options=%s""", doctype):
where fieldtype="Table" and options=%s""", (doctype,)):
clear_single(dt[0])
# clear all notifications
@@ -312,7 +312,7 @@ def expand_selects(doclist):

def add_print_formats(doclist):
print_formats = webnotes.conn.sql("""select * FROM `tabPrint Format`
WHERE doc_type=%s AND docstatus<2""", doclist[0].name, as_dict=1)
WHERE doc_type=%s AND docstatus<2""", (doclist[0].name,), as_dict=1)
for pf in print_formats:
doclist.append(webnotes.model.doc.Document('Print Format', fielddata=pf))

@@ -334,7 +334,7 @@ def get_link_fields(doctype):
def add_validators(doctype, doclist):
for validator in webnotes.conn.sql("""select name from `tabDocType Validator` where
for_doctype=%s""", doctype, as_dict=1):
for_doctype=%s""", (doctype,), as_dict=1):
doclist.extend(webnotes.get_doclist('DocType Validator', validator.name))
def add_search_fields(doclist):


+ 9
- 9
webnotes/model/rename_doc.py View File

@@ -149,7 +149,7 @@ def get_link_fields(doctype):
df.parent not like "old%%%%" and df.parent != '0' and
((df.options=%s and df.fieldtype='Link') or
(df.options='link:%s' and df.fieldtype='Select'))""" \
% ('%s', doctype), doctype, as_dict=1)
% ('%s', doctype), (doctype,), as_dict=1)
# get link fields from tabCustom Field
custom_link_fields = webnotes.conn.sql("""\
@@ -161,7 +161,7 @@ def get_link_fields(doctype):
df.dt not like "old%%%%" and df.dt != '0' and
((df.options=%s and df.fieldtype='Link') or
(df.options='link:%s' and df.fieldtype='Select'))""" \
% ('%s', doctype), doctype, as_dict=1)
% ('%s', doctype), (doctype,), as_dict=1)
# add custom link fields list to link fields list
link_fields += custom_link_fields
@@ -176,7 +176,7 @@ def get_link_fields(doctype):
ps.property_type='options' and
ps.field_name is not null and
(ps.value=%s or ps.value='link:%s')""" \
% ('%s', doctype), doctype, as_dict=1)
% ('%s', doctype), (doctype,), as_dict=1)
link_fields += property_setter_link_fields
@@ -211,7 +211,7 @@ def get_select_fields(old, new):
df.parent != %s and df.fieldtype = 'Select' and
df.options not like "link:%%%%" and
(df.options like "%%%%%s%%%%")""" \
% ('%s', old), new, as_dict=1)
% ('%s', old), (new,), as_dict=1)
# get link fields from tabCustom Field
custom_select_fields = webnotes.conn.sql("""\
@@ -224,7 +224,7 @@ def get_select_fields(old, new):
df.dt != %s and df.fieldtype = 'Select' and
df.options not like "link:%%%%" and
(df.options like "%%%%%s%%%%")""" \
% ('%s', old), new, as_dict=1)
% ('%s', old), (new,), as_dict=1)
# add custom link fields list to link fields list
select_fields += custom_select_fields
@@ -241,7 +241,7 @@ def get_select_fields(old, new):
ps.field_name is not null and
ps.value not like "link:%%%%" and
(ps.value like "%%%%%s%%%%")""" \
% ('%s', old), new, as_dict=1)
% ('%s', old), (new,), as_dict=1)
select_fields += property_setter_select_fields
@@ -275,11 +275,11 @@ def update_select_field_values(old, new):
def update_parenttype_values(old, new):
child_doctypes = webnotes.conn.sql("""\
select options, fieldname from `tabDocField`
where parent=%s and fieldtype='Table'""", new, as_dict=1)
where parent=%s and fieldtype='Table'""", (new,), as_dict=1)

custom_child_doctypes = webnotes.conn.sql("""\
select options, fieldname from `tabCustom Field`
where dt=%s and fieldtype='Table'""", new, as_dict=1)
where dt=%s and fieldtype='Table'""", (new,), as_dict=1)

child_doctypes += custom_child_doctypes
fields = [d['fieldname'] for d in child_doctypes]
@@ -288,7 +288,7 @@ def update_parenttype_values(old, new):
select value as options from `tabProperty Setter`
where doc_type=%s and property='options' and
field_name in ("%s")""" % ('%s', '", "'.join(fields)),
new)
(new,))
child_doctypes += property_setter_child_doctypes
child_doctypes = (d['options'] for d in child_doctypes)


+ 3
- 3
webnotes/profile.py View File

@@ -148,7 +148,7 @@ class Profile:
def load_profile(self):
d = webnotes.conn.sql("""select email, first_name, last_name,
email_signature, background_image, user_type, language
from tabProfile where name = %s""", self.name, as_dict=1)[0]
from tabProfile where name = %s""", (self.name,), as_dict=1)[0]

if not self.can_read:
self.build_permissions()
@@ -169,7 +169,7 @@ class Profile:
return d
def get_user_fullname(user):
fullname = webnotes.conn.sql("SELECT CONCAT_WS(' ', first_name, last_name) FROM `tabProfile` WHERE name=%s", user)
fullname = webnotes.conn.sql("SELECT CONCAT_WS(' ', first_name, last_name) FROM `tabProfile` WHERE name=%s", (user,))
return fullname and fullname[0][0] or ''

def get_system_managers(only_name=False):
@@ -218,7 +218,7 @@ def get_roles(username=None, with_standard=True):
return ['Guest']
roles = [r[0] for r in webnotes.conn.sql("""select role from tabUserRole
where parent=%s and role!='All'""", username)] + ['All']
where parent=%s and role!='All'""", (username,))] + ['All']
# filter standard if required
if not with_standard:


+ 5
- 5
webnotes/sessions.py View File

@@ -35,14 +35,14 @@ def clear_cache(user=None):
# clear notifications
if webnotes.flags.in_install_app!="webnotes":
webnotes.conn.sql("""delete from `tabNotification Count` where owner=%s""", user)
webnotes.conn.sql("""delete from `tabNotification Count` where owner=%s""", (user,))
if webnotes.session:
if user==webnotes.session.user and webnotes.session.sid:
cache.delete_value("session:" + webnotes.session.sid)
else:
for sid in webnotes.conn.sql_list("""select sid from tabSessions
where user=%s""", user):
where user=%s""", (user,)):
cache.delete_value("session:" + sid)

webnotes.defaults.clear_cache(user)
@@ -56,12 +56,12 @@ def clear_cache(user=None):
def clear_sessions(user=None, keep_current=False):
if not user:
user = webnotes.session.user
for sid in webnotes.conn.sql("""select sid from tabSessions where user=%s""", user):
for sid in webnotes.conn.sql("""select sid from tabSessions where user=%s""", (user,)):
if keep_current and webnotes.session.sid==sid[0]:
pass
else:
webnotes.cache().delete_value("session:" + sid[0])
webnotes.conn.sql("""delete from tabSessions where sid=%s""", sid[0])
webnotes.conn.sql("""delete from tabSessions where sid=%s""", (sid[0],))

def get():
"""get session boot info"""
@@ -211,7 +211,7 @@ class Session:

def delete_session(self):
webnotes.cache().delete_value("session:" + self.sid)
r = webnotes.conn.sql("""delete from tabSessions where sid=%s""", self.sid)
r = webnotes.conn.sql("""delete from tabSessions where sid=%s""", (self.sid,))

def start_as_guest(self):
"""all guests share the same 'Guest' session"""


+ 0
- 0
webnotes/templates/includes/footer_extension.html View File


+ 1
- 0
webnotes/templates/includes/footer_powered.html View File

@@ -0,0 +1 @@
<a href="https://github.com/webnotes/wnframework" style="color: #aaa">Built on Web Notes</a>

+ 4
- 4
webnotes/utils/email_lib/bulk.py View File

@@ -61,7 +61,7 @@ def send(recipients=None, sender=None, doctype='Profile', email_field='email',
for r in filter(None, list(set(recipients))):
rdata = webnotes.conn.sql("""select * from `tab%s` where %s=%s""" % (doctype,
email_field, '%s'), r, as_dict=1)
email_field, '%s'), (r,), as_dict=1)
doc = rdata and rdata[0] or {}
@@ -95,7 +95,7 @@ def unsubscribe():
email = webnotes.form_dict.get('email')

webnotes.conn.sql("""update `tab%s` set unsubscribed=1
where `%s`=%s""" % (doctype, field, '%s'), email)
where `%s`=%s""" % (doctype, field, '%s'), (email,))
if not webnotes.form_dict.get("from_test"):
webnotes.conn.commit()
@@ -129,13 +129,13 @@ def flush(from_test=False):
break
webnotes.conn.sql("""update `tabBulk Email` set status='Sending' where name=%s""",
email["name"], auto_commit=auto_commit)
(email["name"],), auto_commit=auto_commit)
try:
if not from_test:
smptserver.sess.sendmail(email["sender"], email["recipient"], email["message"])

webnotes.conn.sql("""update `tabBulk Email` set status='Sent' where name=%s""",
email["name"], auto_commit=auto_commit)
(email["name"],), auto_commit=auto_commit)

except Exception, e:
webnotes.conn.sql("""update `tabBulk Email` set status='Error', error=%s


+ 2
- 2
webnotes/website/doctype/blog_post/blog_post.py View File

@@ -26,7 +26,7 @@ class DocType(WebsiteGenerator):
# update posts
webnotes.conn.sql("""update tabBlogger set posts=(select count(*) from `tabBlog Post`
where ifnull(blogger,'')=tabBlogger.name)
where name=%s""", self.doc.blogger)
where name=%s""", (self.doc.blogger,))

def on_update(self):
WebsiteGenerator.on_update(self)
@@ -56,7 +56,7 @@ class DocType(WebsiteGenerator):
self.doc.comment_list = webnotes.conn.sql("""\
select comment, comment_by_fullname, creation
from `tabComment` where comment_doctype="Blog Post"
and comment_docname=%s order by creation""", self.doc.name, as_dict=1) or []
and comment_docname=%s order by creation""", (self.doc.name,), as_dict=1) or []
def clear_blog_cache():


+ 3
- 1
webnotes/website/doctype/blog_post/test_blog_post.py View File

@@ -66,8 +66,10 @@ class TestBlogPost(unittest.TestCase):
def test_restriction_in_report(self):
webnotes.defaults.add_default("Blog Category", "_Test Blog Category 1", "test1@example.com",
"Restriction")

webnotes.local.reportview_doctypes = {}
names = [d.name for d in webnotes.get_list("Blog Post", fields=["name", "blog_category"])]

self.assertTrue("_test-blog-post-1" in names)
self.assertFalse("_test-blog-post" in names)


+ 7
- 5
webnotes/widgets/reportview.py View File

@@ -111,6 +111,9 @@ def load_doctypes():
for t in webnotes.local.reportview_tables:
if t.startswith('`'):
doctype = t[4:-1]
if webnotes.local.reportview_doctypes.get(doctype):
continue
if not webnotes.has_permission(doctype):
raise webnotes.PermissionError, doctype
webnotes.local.reportview_doctypes[doctype] = webnotes.model.doctype.get(doctype)
@@ -172,8 +175,7 @@ def build_filter_conditions(filters, conditions):
if not tname in webnotes.local.reportview_tables:
webnotes.local.reportview_tables.append(tname)
if not hasattr(webnotes.local, "reportview_doctypes"):
load_doctypes()
load_doctypes()
# prepare in condition
if f[2] in ['in', 'not in']:
@@ -202,10 +204,10 @@ def build_match_conditions(doctype, fields=None, as_condition=True):
match_filters = {}
match_conditions = []

if not getattr(webnotes.local, "reportview_tables", None) \
or not getattr(webnotes.local, "reportview_doctypes", None):
if not getattr(webnotes.local, "reportview_tables", None):
webnotes.local.reportview_tables = get_tables(doctype, fields)
load_doctypes()
load_doctypes()
# get restrictions
restrictions = webnotes.defaults.get_restrictions()


Loading…
Cancel
Save