https://t.me/AnonymousX5
Server : Apache
System : Linux cvar2.toservers.com 3.10.0-962.3.2.lve1.5.73.el7.x86_64 #1 SMP Wed Aug 24 21:31:23 UTC 2022 x86_64
User : njnconst ( 1116)
PHP Version : 8.4.18
Disable Function : NONE
Directory :  /usr/lib64/python2.7/site-packages/django/contrib/gis/db/backends/spatialite/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/lib64/python2.7/site-packages/django/contrib/gis/db/backends/spatialite/operations.pyc
�
r�\c@sxddlZddlZddlmZddlmZddlmZmZddl	m
Z
ddlmZddl
mZddlmZdd	lmZdd
lmZddlmZddlmZd
efd��YZdefd��YZdefd��YZdefd��YZdefd��YZeeefejZ d�Z!deefd��YZ"dS(i����N(tDecimal(tBaseSpatialOperations(tSpatialOperationtSpatialFunction(tSpatiaLiteAdapter(tGeometry(tDistance(tImproperlyConfigured(tDatabaseOperations(t
DatabaseError(tsix(tcached_propertytSpatiaLiteOperatorcBseZdZd�ZRS(s*For SpatiaLite operators (e.g. `&&`, `~`).cCstt|�jd|�dS(Ntoperator(tsuperRt__init__(tselfR
((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pyRs(t__name__t
__module__t__doc__R(((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pyRstSpatiaLiteFunctioncBseZdZd�ZRS(sFor SpatiaLite function calls.cKstt|�j||�dS(N(RRR(Rtfunctiontkwargs((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pyRs(RRRR(((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pyRstSpatiaLiteFunctionParamcBseZdZdZRS(s5For SpatiaLite functions that take another parameter.s,%(function)s(%(geo_col)s, %(geometry)s, %%s)(RRRtsql_template(((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pyRstSpatiaLiteDistancecBs#eZdZdZdZd�ZRS(s#For SpatiaLite distance operations.Rs8%(function)s(%(geo_col)s, %(geometry)s) %(operator)s %%scCs#tt|�j|jd|�dS(NR
(RRRt	dist_func(RR
((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pyR$s(RRRRRR(((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pyRstSpatiaLiteRelatecBs&eZdZejd�Zd�ZRS(s/For SpatiaLite Relate(<geom>, <pattern>) calls.s^[012TF\*]{9}$cCs?|jj|�s%td|��ntt|�jd�dS(Ns)Invalid intersection matrix pattern "%s".tRelate(t
pattern_regextmatcht
ValueErrorRRR(Rtpattern((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pyR+s(RRRtretcompileRR(((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pyR(scCs
t|�fS(sZReturns operations for regular distances; spherical distances are not currently supported.(R(R
((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pytget_dist_ops2stSpatiaLiteOperationscBs�eZdZdZeZejd�Ze	gdMD]Z
e
dNf^q1�Ze
ZeZdZdZdZdZd	Zd
ZdZdZd
ZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$ie%d�d6e%d�d6e%d�d6e%d�d 6e%d!�d"6e%d#�d$6e%d%�d&6e%d'�d(6e&e'j(fd)6e%d�d*6e%d+�d,6e%d-�d.6e%d�d/6e%d�d06Z)ie*d1�e+fd26e*d3�e+fd46e*d5�e+fd66e*d7�e+fd86Z,e)j-e,�d9�Z.e/d:��Z0e1d;��Z2e/d<��Z3e/d=��Z4e/d>��Z5d?�Z6d@�Z7dA�Z8dB�Z9dC�Z:dD�Z;dE�Z<dF�Z=dG�Z>dH�Z?dI�Z@dJ�ZAdK�ZBdL�ZCRS(Os)django.contrib.gis.db.models.sql.compilert
spatialites/^(?P<major>\d)\.(?P<minor1>\d)\.(?P<minor2>\d+)tExtenttUniontAreatCentroidt	MbrWithint
DifferenceRtEnvelopetIntersectiontGLengtht
NumGeometriest	NumPointstPointOnSurfacetScaleCoordstAsSVGt
SymDifferencet	TransformtShiftCoordstGUniontGeomFromTexttGeomFromWKBs
AsText(%s)tEqualstequalstDisjointtdisjointtTouchesttouchestCrossestcrossestWithintwithintOverlapstoverlapstContainstcontainst
Intersectst
intersectstrelatet	containedtMbrContainst
bbcontainstMbrOverlapst
bboverlapstsame_astexactt>tdistance_gts>=tdistance_gtet<tdistance_lts<=tdistance_ltecCs?tt|�j|�tdg�|_|jj|j�dS(Ntisnull(RRRtsett	gis_termstupdatetgeometry_functions(Rt
connection((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pyRtscCs�y|j�d}WnPtk
rf}d|jjd|f}tjtt|�tj�d�nX|dkr�td��n|S(	s0Determine the version of the SpatiaLite library.is�Cannot determine the SpatiaLite version for the "%s" database (error was "%s").  Was the SpatiaLite initialization SQL loaded on this database?tNAMEiiis;GeoDjango only supports SpatiaLite versions 2.3.0 and above(iii(	tspatialite_version_tuplet	ExceptionR]t
settings_dictR
treraiseRtsystexc_info(Rtversiontmsgtnew_msg((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pytspatial_version{s'cCsT|jdkrtS|jdkr&tSy|jd�Wntk
rKtSXtSdS(Niiiis!AsGML(GeomFromText('POINT(1 1)'))(iii(iii(RhtTruetFalset_get_spatialite_funcR	(R((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pyt_version_greater_2_4_0_rc4�s
cCs|jr
dSdS(NtAsGML(RltNone(R((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pytgml�scCs|jr
dSdS(NtAsKML(RlRn(R((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pytkml�scCs|jdkrdSdS(Niit	AsGeoJSON(iii(RhRn(R((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pytgeojson�scCs/tt|�j|�|jj}||jkS(sx
        Checks if the given aggregate name is supported (that is, if it's
        in `self.valid_aggregates`).
        (RR$tcheck_aggregate_supportt	__class__Rtvalid_aggregates(Rt	aggregatetagg_name((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pyRt�scCs|rt||j�SdSdS(sM
        Converts geometry WKT returned from a SpatiaLite aggregate.
        N(RtsridRn(Rtwktt	geo_field((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pytconvert_geom�scCsdS(s�
        Returns None because geometry columnas are added via the
        `AddGeometryColumn` stored procedure on SpatiaLite.
        N(Rn(Rtf((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pytgeo_db_type�scCsx|s
gS|d}t|t�rk|j|j�rDtd��qqt|tj|j|j���}n|}|gS(s
        Returns the distance parameters for the given geometry field,
        lookup value, and lookup type.  SpatiaLite only supports regular
        cartesian-based queries (no spheroid/sphere calculations for point
        geometries like PostGIS).
        is�SpatiaLite does not support distance queries on geometry fields with a geodetic coordinate system. Distance objects; use a numeric value of your distance in degrees instead.(t
isinstanceRtgeodeticR]Rtgetattrtunit_attnamet
units_name(RR}tvaluetlookup_typet
dist_param((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pytget_distance�s
'cCs�d�}t|d�rZ|||j�rCd|j|jf}nd}||j|�S|||j�r�d|j|j|j|jfSd|j|jfSdS(s�
        Provides a proper substitution value for Geometries that are not in the
        SRID of the field.  Specifically, this routine will substitute in the
        Transform() and GeomFromText() function call(s).
        cSs|dkp|j|kS(N(RnRy(R�Ry((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pyttransform_value�st
expressions%s(%%s, %s)s%ss%s(%s(%%s,%s), %s)s
%s(%%s,%s)N(thasattrRyt	transformtget_expression_columnt	from_text(RR}R�R�tplaceholder((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pytget_geom_placeholder�s	 cCsW|jj�}z2y!|jd|�|j�}Wn
�nXWd|j�X|dS(se
        Helper routine for calling SpatiaLite functions and returning
        their result.
        s	SELECT %sNi(R]t_cursortexecutetfetchonetclose(Rtfunctcursortrow((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pyRk�scCs
|jd�S(s;Returns the version of GEOS used by SpatiaLite as a string.sgeos_version()(Rk(R((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pytgeos_version�scCs
|jd�S(s=Returns the version of the PROJ.4 library used by SpatiaLite.sproj4_version()(Rk(R((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pyt
proj4_versionscCs
|jd�S(s3Returns the SpatiaLite library version as a string.sspatialite_version()(Rk(R((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pytspatialite_versionscCs�y|j�}Wnetk
rwd}y(|jd�}|dkrMd}nWntk
ranX|dkrx�qxnX|jj|�}|r�t|jd��}t|jd��}t|jd��}ntd|��||||fS(	sm
        Returns the SpatiaLite version as a tuple (version string, major,
        minor, subminor).
        sX(GeomFromText('POINT(1 1)'))g�?s2.3.0tmajortminor1tminor2s-Could not parse SpatiaLite version string: %sN(	R�R	RnRkt
version_regexRtinttgroupR`(RRettmptmR�R�R�((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pyR_
s&



cCsy|jj}|j|�s.td|��n|j�}|dkrS|d7}n|jd}t||�}||fS(ss
        Returns the spatial aggregate SQL template and function for the
        given Aggregate instance.
        s8%s spatial aggregate is not implmented for this backend.tuniontaggs%(function)s(%(field)s)(RuRRttNotImplementedErrortlowertselectR�(RR�RxRtsql_function((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pytspatial_aggregate_sql*s

cCs�|\}}}d||�||�f}	||jkrU|j|}
t|
t�r-|
\}}t|ttf�s�td|��n|d}
t|�dkr�td|��nt|d|�s�td|t|d�f��n|dkr||d�}q9||jkr9|d}q9n|
}|}
|j|	|j	||
��S|d	kr�d
|	|rsdndfgfSt
d
t|���dS(s�
        Returns the SpatiaLite-specific SQL for the given lookup value
        [a tuple of (alias, column, db_type)], lookup type, lookup
        value, the model field, and the quoting function.
        s%s.%ss$Tuple required for `%s` lookup type.iis:Incorrect number of parameters given for `%s` lookup type.is+Argument type should be %s, got %s instead.RJRXs%s IS %sNULLtsNOT sGot invalid lookup_type: %sN(R\RttupletlistRtlenttypetdistance_functionstas_sqlR�t	TypeErrortrepr(RtlvalueR�R�tfieldtqntaliastcoltdb_typetgeo_colR�toptarg_typetgeom((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pytspatial_lookup_sql8s.

# cCsddlm}|S(Ni����(tGeometryColumns(t0django.contrib.gis.db.backends.spatialite.modelsR�(RR�((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pytgeometry_columnspscCsddlm}|S(Ni����(t
SpatialRefSys(R�R�(RR�((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pytspatial_ref_systs(R&sUnionN(DRRtcompiler_moduletnameRiR%R!R"R�tdicttkRnRvRtAdaptertAdaptortareatcentroidRKt
differencetdistancetenvelopetintersectiontlengthtnum_geomt
num_pointstpoint_on_surfacetscaletsvgtsym_differenceR�t	translateR�tunionaggR�tfrom_wkbR�RRR
tstring_typesR\R#tdtypesR�R[RRRhtpropertyRlRoRqRsRtR|R~R�R�RkR�R�R�R_R�R�R�R�(((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pyR$6s�%












													 		8	(#R!RctdecimalRt#django.contrib.gis.db.backends.baseRt#django.contrib.gis.db.backends.utilRRt1django.contrib.gis.db.backends.spatialite.adapterRt#django.contrib.gis.geometry.backendRtdjango.contrib.gis.measureRtdjango.core.exceptionsRtdjango.db.backends.sqlite3.baseRtdjango.db.utilsR	tdjango.utilsR
tdjango.utils.functionalRRRRRRtfloatt
integer_typesR�R#R$(((sV/tmp/pip-install-XxeQeY/django/django/contrib/gis/db/backends/spatialite/operations.pyt<module>s(			

https://t.me/AnonymousX5 - 2025