
    Y~h1                         d dl Z d dlmZ d dlmZ d dlmZmZ d dlZd dlZd dl	m
Z
 d dlmZ d dlT d dlmZ d d	lmZ  G d
 de          ZdS )    N)copy)uuid4)urlparseparse_qs)cmfutil)commit_all_ds)*)BaseView)ApiViewc                   X     e Zd ZdZd ZdefdZej        j	         fd            Z
 xZS )PublicApiViewz/pub/pub_apic                     t                               dt           j                    t           j        r(t           j        st                               d           dS dS )Nu-   Доступ к публичному апи: uK   Доступ к share-api не прошел проверку sharelink_hashFT)gdebugcurrent_personsharelink_access_requestsharelink_access_granted)selfs    !./modules/api/views/public_api.py_check_accesszPublicApiView._check_access   sT     	
R@PRRSSS% 	a.H 	GGbccc5t    methodc                 b   	 |                     dd          \  }}n# t          $ r Y dS w xY w|                    d          sdS || j        vrdS d}|dk    r| j        d         d         d	         }|d
k    r| j        d         d         d         }|dk    r| j        d         d         d         }|dk    r| j        d         d         d         }|dk    r| j        d         d         d         }|dk    r| j        d         d         d         }|dk    r| j        d         d         d         }|dk    r| j        d         d         d         }|dk    r| j        d         d         d         }|dk    r| j        d         d         d          }|d!k    r| j        d"         d         d#         }|d$k    r| j        d"         d         d%         }|d&k    r| j        d'         d         d(         }|d)k    r| j        d         d         d*         }|d+k    r| j        d         d         d*         }|d,k    r| j        d         d         d-         }|d.k    r| j        d         d         d/         }|d0k    r| j        d         d         d1         }|d2k    r| j        d         d         d3         }|d4k    r| j        d5         d         d*         }|d6k    r| j        d"         d         d*         }|d7k    r| j        d"         d         d8         }|d9k    r| j        d"         d         d:         }|d;k    r| j        d"         d         d<         }|d=k    r| j        d"         d         d>         }|d?k    r| j        d         d         d>         }|d@k    r| j        d5         d         d>         }|dAk    r| j        d"         d         dB         }|dCk    r| j        d"         d         d         }|dDk    r| j        d"         d         d         }|dEk    r| j        d"         d         dF         }|dGk    r| j        d"         d         dH         }|dIk    r| j        d"         d         dJ         }|dKk    r| j        d"         d         dL         }|dMk    r| j        d"         d         dN         }|dOk    r| j        d"         d         dP         }|dQk    r| j        d         d         dR         }|dSk    r| j        d         d         dT         }|dUk    r| j        dV         d         d          }|dWk    r| j        dV         d         d*         }|dXk    r| j        d         d         d*         }|dYk    r| j        d         d         d         }|dZk    r| j        d[         d         d*         }|d\k    r| j        d[         d         d         }|d]k    r| j        d^         d         d_         }|d`k    r| j        d^         d         d*         }|dak    r| j        d^         d         db         }|dck    r| j        d^         d         dd         }|dek    r| j        d         d         df         }|dgk    r| j        d         d         dh         }|dik    r| j        d         d         d*         }|djk    r| j        d         d         d-         }|dkk    r| j        d         d         dl         }|dmk    r| j        d         d         dn         }|dok    r| j        dp         d         d*         }|dqk    r| j        dr         d         d*         }|dsk    r| j        d         d         d          }|dtk    r| j        du         d         dv         }|dwk    r| j        d5         d         d          }|dxk    r| j        d^         d         d          }|dyk    r| j        d'         d         dz         }|d{k    r| j        d         d         d|         }|d}k    r| j        d^         d         d~         }|dk    r| j        d"         d         d         }|dk    r| j        d         d         d         }|dk    r| j        d         d         d         }|dk    r| j        d         d         df         }|dk    r| j        d         d         d         }|sdS | j        |         d         |d<   d}||d<   |S )u9  
        def rpc_prepare_method():
            #Проскси-методы
            if method == „PersonVar.public_ping“:
                method = PersonVar.ping
            # Спец.методы
            if method == „PersonVar.public_set“:
                method = PersonVar.public_set
        .   )maxsplitNpublic_z!CmfPerson.public_get_current_user	CmfPersonmethodsget_current_userz BaseModel.public_all_models_meta	BaseModelall_models_metaz!BaseModel.public_get_ui_full_pathpublic_get_ui_full_pathz$CmfMenuTree.public_tree_menu_in_rootCmfMenuTreetree_menu_in_rootzCmfMenuTree.public_get_nodeget_nodez#CmfMenuTree.public_get_parents_listget_parents_listz!CmfFolder.public_get_project_name	CmfFolderget_project_namezCmfAttachment.public_listCmfAttachmentlistzCmfAttachment.public_deletepublic_nonezCmfComment.public_list
CmfCommentpublic_listz CmfDocument.public_export_to_pdfCmfDocumentpublic_export_to_pdfz!CmfDocument.public_export_to_docxpublic_export_to_docxzCmfPersonVar.public_getCmfPersonVargetzCmfComment.public_get
public_getzCmfPerson.public_getzCmfComment.public_createpublic_createzCmfComment.public_deletepublic_deletezCmfComment.public_likepublic_likezCmfComment.public_create_dummypublic_create_dummyzCmfProject.public_get
CmfProjectzCmfDocument.public_getzCmfDocument.public_lockpublic_lockzCmfDocument.public_unlockpublic_unlockzCmfDocument.public_lock_pingpublic_lock_pingz'CmfDocument.public_macros_page_tree_getmacros_page_tree_getz%CmfFolder.public_macros_page_tree_getz&CmfProject.public_macros_page_tree_getzCmfDocument.public_do_publishpublic_do_publishz#CmfDocument.public_get_project_namezCmfDocument.public_listz.CmfDocument.public_update_text_inline_comments"public_update_text_inline_commentsz%CmfDocument.public_add_inline_commentpublic_add_inline_commentzCmfDocument.public_updateupdatez*CmfDocument.public_download_all_attachmentpublic_download_all_attachmentz"CmfDocument.public_convert_uml2svgconvert_uml2svgzCmfDocument.public_mark_viewedpublic_mark_viewedzCmfComment.public_updatepublic_updatezCmfComment.public_ux_check_permux_check_permzCmfTask.public_listCmfTaskzCmfTask.public_getzCmfFolder.public_getzCmfFolder.public_listzCmfList.public_getCmfListzCmfList.public_listz%CmfGlobalSettings.public_get_settingsCmfGlobalSettingspublic_get_settingszCmfGlobalSettings.public_getz.CmfGlobalSettings.public_enabled_plugin_nclistenabled_plugin_nclistz.CmfGlobalSettings.public_html_clean_attributeshtml_clean_attributeszCmfPerson.public_mark_viewedpublic_none_classmethodzCmfMenuTree.public_get_treepublic_get_treezCmfAttachment.public_getzCmfAttachment.public_createzCmfAttachment.public_get_rfilepublic_get_rfilez!CmfAttachment.public_get_versionspublic_get_versionszCmfTaskFilter.public_getCmfTaskFilterzCmfBqlFilter.public_getCmfBqlFilterzCmfPerson.public_listzCmfLicense.public_list
CmfLicensepublic_list_hack_emptyzCmfProject.public_listzCmfGlobalSettings.public_listz&CmfPersonVar.public_update_recents_objpublic_update_recents_objz#CmfPerson.public_get_org_units_listpublic_get_org_units_listz+CmfGlobalSettings.public_get_page_customizepublic_get_page_customizez CmfDocument.public_parent_ui_getpublic_parent_ui_getzCmfFolder.public_parent_ui_getzCmfRFile.public_get_versionsz CmfAttachment.public_mark_viewedz)CmfFullSearch.public_docs_fulltext_searchCmfFullSearchdocs_fulltext_search_classF_use_simple)split
ValueError
startswithrpc)r   r   argskwargsproc_cls_nameproc_method
res_method
use_simples           r   rpc_prepare_methodz PublicApiView.rpc_prepare_method   s	   	)/cA)F)F&M;; 	 	 	44	 %%i00 	4((4
 888+.y9:LMJ777+.y9:KLJ888+.y9:STJ;;;-0;<OPJ222-0;JGJ:::-0;<NOJ888+.y9:LMJ000/29=fEJ222+.y9-HJ---,/	:=IJ777-0;<RSJ888-0;<STJ....1)<UCJ,,,,/	:<HJ++++.y9,GJ///,/	:?KJ///,/	:?KJ---,/	:=IJ555,/	:;PQJ ,,,,/	:<HJ----0;LIJ...-0;MJJ000-0;OLJ333-0;<NOJ >>>-0;<RSJ<<<+.y9:PQJ===,/	:;QRJ444-0;<OPJ:::-0;<NOJ...-0;FCJEEE-0;<`aJ<<<-0;<WXJ000-0;HEJAAA-0;<\]J999-0;<MNJ555-0;<PQJ///,/	:?KJ666,/	:?KJ***),Y7FJ)))),Y7EJ++++.y9,GJ,,,+.y9&AJ)))),Y7EJ***),Y7?J<<<"56yABWXJ333"56yA,OJEEE"56yABYZJEEE"56yABYZJ333+.y9:STJ222-0;<MNJ////29=lKJ222/29=oNJ555/29=>PQJ888/29=>STJ////29=lKJ....1)<\JJ,,,+.y9-HJ ---,/	:;STJ---,/	:=IJ444"56yA-PJ ===.1)<=XYJ:::+.y9:UVJBBB"56yAB]^J 777-0;<RSJ555+.y9:PQJ 333+.y9-HJ777+.y9:STJ@@@/29=>TUJ  	4  $x6x@
8
$.
=!s    
++c                 D    t                                                      S )N)superpost)r   	__class__s    r   rj   zPublicApiView.post   s    ww||~~r   )__name__
__module____qualname____url__r   strrg   cmfviewsactionrj   __classcell__)rk   s   @r   r   r      s        G	 	 	H H H H HV 	Y        r   r   )	tracebackr   uuidr   urllib.parser   r   hashlibujsoncmf.utilr   cmf.data_providers.baser   cmf.include	cmf.viewsr
   modules.api.views.indexr   r    r   r   <module>r      s                    + + + + + + + +         1 1 1 1 1 1           + + + + + +[ [ [ [ [G [ [ [ [ [r   