Parameter in SQLQuery. >>> q = SQLQuery(["SELECT * FROM test WHERE name=", SQLParam("joe")]) >>> q >>> q.query() 'SELECT * FROM test WHERE name=%s' >>> q.values() ['joe']
| 80 | |
| 81 | |
| 82 | class SQLParam: |
| 83 | """ |
| 84 | Parameter in SQLQuery. |
| 85 | |
| 86 | >>> q = SQLQuery(["SELECT * FROM test WHERE name=", SQLParam("joe")]) |
| 87 | >>> q |
| 88 | <sql: "SELECT * FROM test WHERE name='joe'"> |
| 89 | >>> q.query() |
| 90 | 'SELECT * FROM test WHERE name=%s' |
| 91 | >>> q.values() |
| 92 | ['joe'] |
| 93 | """ |
| 94 | |
| 95 | __slots__ = ["value"] |
| 96 | |
| 97 | def __init__(self, value): |
| 98 | self.value = value |
| 99 | |
| 100 | def get_marker(self, paramstyle="pyformat"): |
| 101 | if paramstyle == "qmark": |
| 102 | return "?" |
| 103 | elif paramstyle == "numeric": |
| 104 | return ":1" |
| 105 | elif paramstyle is None or paramstyle in ["format", "pyformat"]: |
| 106 | return "%s" |
| 107 | raise UnknownParamstyle(paramstyle) |
| 108 | |
| 109 | def sqlquery(self): |
| 110 | return SQLQuery([self]) |
| 111 | |
| 112 | def __add__(self, other): |
| 113 | return self.sqlquery() + other |
| 114 | |
| 115 | def __radd__(self, other): |
| 116 | return other + self.sqlquery() |
| 117 | |
| 118 | def __str__(self): |
| 119 | return str(self.value) |
| 120 | |
| 121 | def __eq__(self, other): |
| 122 | return isinstance(other, SQLParam) and other.value == self.value |
| 123 | |
| 124 | def __repr__(self): |
| 125 | return "<param: %s>" % repr(self.value) |
| 126 | |
| 127 | |
| 128 | sqlparam = SQLParam |
no outgoing calls
no test coverage detected