Initial commit: Odoo 18.0-20251222 extra-addons
This commit is contained in:
22
database_cleanup/identifier_adapter.py
Executable file
22
database_cleanup/identifier_adapter.py
Executable file
@@ -0,0 +1,22 @@
|
||||
# Copyright 2016 Therp BV <http://therp.nl>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
from psycopg2.extensions import ISQLQuote
|
||||
|
||||
|
||||
class IdentifierAdapter(ISQLQuote):
|
||||
def __init__(self, identifier, quote=True):
|
||||
self.quote = quote
|
||||
self.identifier = identifier
|
||||
|
||||
def __conform__(self, protocol):
|
||||
if protocol == ISQLQuote:
|
||||
return self
|
||||
|
||||
def getquoted(self):
|
||||
def is_identifier_char(c):
|
||||
return c.isalnum() or c in (["_", "$", " "] if self.quote else ["_", "$"])
|
||||
|
||||
format_string = '"%s"'
|
||||
if not self.quote:
|
||||
format_string = "%s"
|
||||
return format_string % "".join(filter(is_identifier_char, self.identifier))
|
||||
Reference in New Issue
Block a user