ArgumentError
is a class within the sqlalchemy.exc
module of the SQLAlchemy project.
DataError,
DatabaseError,
IntegrityError,
InvalidRequestError,
NoInspectionAvailable,
NoSuchTableError,
OperationalError,
ProgrammingError,
and UnsupportedCompilationError
are several other callables with code examples from the same sqlalchemy.exc
package.
graphene-sqlalchemy (project documentation and PyPI package information) is a SQLAlchemy integration for Graphene, which makes it easier to build GraphQL-based APIs into Python web applications. The package allows you to subclass SQLAlchemy classes and build queries around them with custom code to match the backend queries with the GraphQL-based request queries. The project is provided as open source under the MIT license.
graphene-sqlalchemy / graphene_sqlalchemy / utils.py
# utils.py
import re
import warnings
from sqlalchemy.exc import ArgumentError
from sqlalchemy.orm import class_mapper, object_mapper
from sqlalchemy.orm.exc import UnmappedClassError, UnmappedInstanceError
def get_session(context):
return context.get("session")
def get_query(model, context):
query = getattr(model, "query", None)
if not query:
session = get_session(context)
if not session:
raise Exception(
"A query in the model Base or a session in the schema is required for querying.\n"
"Read more http://docs.graphene-python.org/projects/sqlalchemy/en/latest/tips/#querying"
)
query = session.query(model)
return query
def is_mapped_class(cls):
try:
class_mapper(cls)
except (ArgumentError, UnmappedClassError):
return False
else:
return True
def is_mapped_instance(cls):
try:
object_mapper(cls)
except (ArgumentError, UnmappedInstanceError):
return False
else:
return True
def to_type_name(name):
return "".join(part[:1].upper() + part[1:] for part in name.split("_"))
_re_enum_value_name_1 = re.compile("(.)([A-Z][a-z]+)")
_re_enum_value_name_2 = re.compile("([a-z0-9])([A-Z])")
def to_enum_value_name(name):
return _re_enum_value_name_2.sub(
r"\1_\2", _re_enum_value_name_1.sub(r"\1_\2", name)
).upper()
class EnumValue(str):
def __new__(cls, s, value):
return super(EnumValue, cls).__new__(cls, s)
## ... source file continues with no further ArgumentError examples...