mirror of
https://github.com/psycopg/psycopg2.git
synced 2024-11-22 17:06:33 +03:00
Adding missing __conform__ methods before release.
This commit is contained in:
parent
e8e6c0ada3
commit
e816aa07b6
|
@ -1,6 +1,7 @@
|
||||||
2005-03-02 Federico Di Gregorio <fog@debian.org>
|
2005-03-02 Federico Di Gregorio <fog@debian.org>
|
||||||
|
|
||||||
* Release 1.99.12.
|
* psycopg/adapter_binary.c (binary_conform): started to add
|
||||||
|
__conform__ to all adapters.
|
||||||
|
|
||||||
* psycopg/adapter_qstring.c (qstring_quote): we now use
|
* psycopg/adapter_qstring.c (qstring_quote): we now use
|
||||||
PyString_AsStringAndSize() instead of strlen() that would stop at
|
PyString_AsStringAndSize() instead of strlen() that would stop at
|
||||||
|
|
|
@ -46,9 +46,9 @@ data2 = {'id':2, 'name':'whereareyou.jpg',
|
||||||
'img':buffer(open('whereareyou.jpg').read())}
|
'img':buffer(open('whereareyou.jpg').read())}
|
||||||
|
|
||||||
curs.execute("""INSERT INTO test_binary
|
curs.execute("""INSERT INTO test_binary
|
||||||
VALUES (%(id)d, %(name)s, %(img)s)""", data1)
|
VALUES (%(id)s, %(name)s, %(img)s)""", data1)
|
||||||
curs.execute("""INSERT INTO test_binary
|
curs.execute("""INSERT INTO test_binary
|
||||||
VALUES (%(id)d, %(name)s, %(img)s)""", data2)
|
VALUES (%(id)s, %(name)s, %(img)s)""", data2)
|
||||||
|
|
||||||
# now we try to extract the images as simple text strings
|
# now we try to extract the images as simple text strings
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ intrusive for your classes (don't want inheritance from an 'Item' or
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
import psycopg
|
import psycopg
|
||||||
from psycopg.extensions import adapters, adapt
|
from psycopg.extensions import adapt, register_adapter
|
||||||
|
|
||||||
try: sorted()
|
try: sorted()
|
||||||
except NameError:
|
except NameError:
|
||||||
|
@ -28,7 +28,7 @@ except NameError:
|
||||||
# its job on that instance
|
# its job on that instance
|
||||||
|
|
||||||
class ObjectMapper(object):
|
class ObjectMapper(object):
|
||||||
def __init__(self, orig):
|
def __init__(self, orig, curs=None):
|
||||||
self.orig = orig
|
self.orig = orig
|
||||||
self.tmp = {}
|
self.tmp = {}
|
||||||
self.items, self.fields = self._gatherState()
|
self.items, self.fields = self._gatherState()
|
||||||
|
@ -81,7 +81,8 @@ class Order(object):
|
||||||
self.order_id = self.id
|
self.order_id = self.id
|
||||||
Order.id = Order.id + 1
|
Order.id = Order.id + 1
|
||||||
|
|
||||||
adapters.update({Album: ObjectMapper, Order: ObjectMapper})
|
register_adapter(Album, ObjectMapper)
|
||||||
|
register_adapter(Order, ObjectMapper)
|
||||||
|
|
||||||
# Describe what is needed to save on each object
|
# Describe what is needed to save on each object
|
||||||
# This is actually just configuration, you can use xml with a parser if you
|
# This is actually just configuration, you can use xml with a parser if you
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
#include "psycopg/python.h"
|
#include "psycopg/python.h"
|
||||||
#include "psycopg/psycopg.h"
|
#include "psycopg/psycopg.h"
|
||||||
#include "psycopg/adapter_binary.h"
|
#include "psycopg/adapter_binary.h"
|
||||||
|
#include "psycopg/microprotocols_proto.h"
|
||||||
|
|
||||||
/** the quoting code */
|
/** the quoting code */
|
||||||
|
|
||||||
|
@ -165,14 +166,19 @@ binary_getquoted(binaryObject *self, PyObject *args)
|
||||||
}
|
}
|
||||||
|
|
||||||
PyObject *
|
PyObject *
|
||||||
binary_prepare(binaryObject *self, PyObject *args)
|
binary_conform(binaryObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
PyObject *fake;
|
PyObject *res, *proto;
|
||||||
|
|
||||||
if (!PyArg_ParseTuple(args, "O", &fake)) return NULL;
|
if (!PyArg_ParseTuple(args, "O", &proto)) return NULL;
|
||||||
|
|
||||||
Py_INCREF(Py_None);
|
if (proto == (PyObject*)&isqlquoteType)
|
||||||
return Py_None;
|
res = (PyObject*)self;
|
||||||
|
else
|
||||||
|
res = Py_None;
|
||||||
|
|
||||||
|
Py_INCREF(res);
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** the Binary object **/
|
/** the Binary object **/
|
||||||
|
@ -190,8 +196,7 @@ static struct PyMemberDef binaryObject_members[] = {
|
||||||
static PyMethodDef binaryObject_methods[] = {
|
static PyMethodDef binaryObject_methods[] = {
|
||||||
{"getquoted", (PyCFunction)binary_getquoted, METH_VARARGS,
|
{"getquoted", (PyCFunction)binary_getquoted, METH_VARARGS,
|
||||||
"getquoted() -> wrapped object value as SQL-quoted binary string"},
|
"getquoted() -> wrapped object value as SQL-quoted binary string"},
|
||||||
/* {"prepare", (PyCFunction)binary_prepare, METH_VARARGS,
|
{"__conform__", (PyCFunction)binary_conform, METH_VARARGS, NULL},
|
||||||
"prepare(conn) -> currently does nothing"},*/
|
|
||||||
{NULL} /* Sentinel */
|
{NULL} /* Sentinel */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user