
    ^j8                     4    d dl Z d dlmZmZmZ d Z	 	 	 ddZy)    N)BufferError_gqlchannelsc                     |j                         }t        |       D cg c]  }|j                  d      |k(  s| }}t        |      dk7  rt	        d| dt        |             |d   S c c}w )Nservice   z(Expected exactly one Buffer channel for z, found r   )lowerr   getlenr   )tokenplatformr   cmatchess        ,/opt/struktur/asol-runtime/buffer_publish.py_pick_channelr      sr    nnG"5/IQQUU9-=-HqIGI
7|qDWIXVYZaVbUcdee1: Js
   A+A+c
                     |j                         }|dvrt        d      t        | |      }
|xs dj                         }|dvrt        d      |dk(  r|st        d      |dk(  r|dk7  r|st        d	      |xs d
|
d   dg d}|dk(  r|j                  dd       nF|dk(  r|j                  dd       n-|dk(  r|j                  dd       n|j                  d|d       |r|dk(  rdnd}|d|iig|d<   i }|dk(  r d|	xs di}|r||d<   |r	|sd|i|d<   ||d<   n6|d k(  ri }|r||d<   |r	|sd|i|d<   |r||d <   n|	xs ddd!}|r||d<   ||d<   |r||d"<   d#}t	        | |d$|i      j                  d%      xs i }|j                  d&      rt        |d&         |j                  d      xs i }|j                  d      st        d'      |d   |j                  d(      |
d   |
j                  d)      xs |
j                  d*      d+S ),N)facebook	instagramlinkedinzUnsupported platformdraft)r   nowschedulequeuezUnsupported publish actionr   z$Scheduled publishing requires due_atr   z,Instagram publishing requires image or video id	automatic)text	channelIdschedulingTypeassets
addToQueueT)modesaveToDraftr   shareNowFr   customScheduled)r"   dueAtr#   videoimageurlr    r   typepostfirstCommentlinkAttachmentr   )r*   shouldShareToFeedmetadatazmutation CreatePost($input: CreatePostInput!) {
      createPost(input: $input) {
        ... on PostActionSuccess { post { id text dueAt } }
        ... on MutationError { message }
      }
    }input
createPostmessagezBuffer returned no post idr&   displayNamename)post_iddue_at
channel_idchannel)r	   r   r   updater   r
   )r   r   r   actionr6   	media_url
media_kindfirst_commentlink_url	post_typer8   inpkindmetacfgmutationresultr+   s                     r   create_postrF      s    ~~H<<011E8,G&&(F::677F@AA;6W#4YHII
T]%	C 

$
7	5



6	7	

%
8

)U
K$/wW	 234HD:y*F+#n-Ix?Ps+;'<Z	Z	#n-Ix?Ps+;'<3Z  *FF#n-[J	H %GS>266|DJFzz)&+,,::f#D88D>677DzTXXg->!$-GKK4N4eRYR]R]^dReg g    )r   NNr(   NNr+   )osbuffer_bridger   r   r   r   rF    rG   r   <module>rK      s%    	 5 5 ?CBF)/=grG   