ProPeler
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
cpanel-ccs
/
txdav
/
common
/
datastore
/
podding
/
Filename :
util.pyc
back
Copy
� �t�ac @ sr d d l m Z m Z d d l m Z d d l m Z m Z d d l m Z m Z m Z d e f d � � YZ d S( i����( t inlineCallbackst returnValue( t FailedCrossPodRequestError( t NotificationCollectiont NotificationObject( t NonExistentExternalSharet ECALENDARTYPEt EADDRESSBOOKTYPEt UtilityConduitMixinc B s� e Z d Z e d � � Z e d � � Z e e d d d d � � Z e d d � � Z e e d d d � � Z e d � � Z e d � � Z e d � � Z e d � � Z RS( s@ Defines utility methods for cross-pod API and mix-ins. c c sK d d l m } m } m } i | d 6} | j } d } d } d } d } d } t | | � r� | j � } | j � } | j � } | } n� t | | � r� | j � } | j � } | } | | d <n\ t | | � r� | } | } | j } | | d <n+ t | t � r"| } | j } | | d <n | r�| j | d <| j � | d <t | d t � rdt | d <n | r�| j � r�| j � | d <q�| j � | d <n | r�| j � | d <n | j j � j | j � � V} nW | r.| j � | d <t | d t � rt | d <n | j j � j | j � � V} n t | | | j � f � d S( s� Create the JSON data needed to identify the remote resource by type and ids, along with any parent resources. @param action: the conduit action name @type action: L{str} @param storeObject: the store object that is being operated on @type storeObject: L{object} @param classMethod: indicates whether the method being called is a classmethod @type classMethod: L{bool} @return: the transaction in use, the JSON dict to send in the request, the server where the request should be sent @rtype: L{tuple} of (L{CommonStoreTransaction}, L{dict}, L{str}) i����( t CommonObjectResourcet CommonHomeChildt CommonHomet actiont classMethodt homeTypet homeUIDt _migratingHomet allowDisabledHomet homeChildIDt homeChildSharedIDt objectResourceIDt notificationUIDN( t txdav.common.datastore.sqlR R R t _txnt Nonet isinstancet ownerHomet viewerHomet parentCollectionR t _homeTypet uidt getattrt Falset Truet ownedt idt namet storet directoryServicet recordWithUIDR t server( t selfR t storeObjectR R R R t resultt txnt owner_homet viewer_homet home_childt object_resourcet notificationt recipient( ( s6 /opt/cpanel-ccs/txdav/common/datastore/podding/util.pyt _getRequestForStoreObject# s\ " "c c s{ | } d } d | k r$ t | _ n d | k r� | j | d | d � V} | d k rf t d � � n t | _ | } | j d t � r� | j } q� n d | k r� | j | d � V} | d k r� t d � � n | } | j d t � rZ| j } qZnb d | k rZ| j | d � V} | d k r3t d � � n | } | j d t � rZ| j } qZn d | k r�| j | d � V} | d k r�t d � � n | } n d | k rg| j | d � V} | d k r:t | _ xd t t f D]G } | j | | d � V} | d k r�| j | d d t �V} Pq�q�Wt d � � n t | _ | } | j d t � rgt } qgn t | | f � d S( sU Resolve the supplied JSON data to get a store object to operate on. R R R s Invalid owner UID specifiedR R s Invalid home child specifiedR R s! Invalid object resource specifiedR t creates"