← back to Kravet Sheet Sync 2026 04 20

__pycache__/build_dwkk_variant_map.cpython-314.pyc

52 lines

+
x
Yj���Rt^RIt^RIt^RIt^RIt]PPRR4t	Rt
RR.tR9RltRt
R	t]!R
4.tRt^t]!]R]/4t]R
,R,t]F�t]R,R,F�t]R,;'gRt]P1R4'gK/R]9gK8R]9gKA]P3R4^8XgKY]P5R]R]R,R]R,R]R,R]R,PR4;'g/PR4R]R,/4K�	K�	]^,
t]^,^8Xd0]!R]R ]!R!]44R"]'d
]R#,MR24]R
,R$,R%,'gM]R
,R$,R&,tEKx]!R']!]4R(]R)24/t]Ft]P?]R,]4K	]!R*]!]424^R+I H!t!]!R,]"!]!!R-]PG444424]
!R.4^RI$t$^RI%t%]$PL!R/R0R1RR27;_uu_4t']%PP!]'4t)]PG4FXt])PU]R,]R,]R,]R,;'gR]R,;'gR]R,.4KZ	]'PVt,RRR4]PZ!R3],R4.RR57]PZ!]R6.,RR57]!R7]!]4R824R# +'giLW;i):u
Build authoritative dw_sku → (product_id, variant_id, current_price) map from Shopify.
Queries all products with SKU starting DWKK- and extracts main variant.
Persists to PG: kravet_dwkk_variant_map (dw_sku, product_gid, variant_gid, price, status, updated_at)
N�SHOPIFY_ADMIN_TOKEN�zPhttps://designer-laboratory-sandbox.myshopify.com/admin/api/2024-10/graphql.json�sshzroot@45.61.58.125c	��\P!RTRT;'g//4P4p\PP\VRRRR\/R7p\P!\PPV^R7P44pRV9d\VR,4hVR	,#)
�query�	variables�POSTzContent-Typezapplication/jsonzX-Shopify-Access-Token)�data�method�headers)�timeout�errorsr	)�json�dumps�encode�urllib�request�Request�URL�TOKEN�loads�urlopen�read�RuntimeError)�q�v�body�req�ds&&   �6kravet-sheet-sync-2026-04-20/build_dwkk_variant_map.py�gqlr s���	
���W�Q�{�1�7�7��3�	4�	;�	;�	=�D������s��F�� 2�3K�E�R�	�	T�C�
�j�j����'�'��B�'�7�<�<�>�?�A��1�}�L��8��5�5��V�9��c�Z�\P!\RVR2.,RRRR7R#)zCPGPASSWORD=DW2024! psql -h 127.0.0.1 -U dw_admin -d dw_unified -c "�"T)�capture_output�text�checkN)�
subprocess�run�SSH)�sqls&r�pg_execr+s0���N�N�3�
M�c�U�RS�T�V�V��$�d�4r!aquery($cursor:String){
  products(first:100, after:$cursor, query:"sku:DWKK-*") {
    pageInfo{ hasNextPage endCursor }
    nodes{
      id status
      variants(first:10){
        nodes{ id sku price inventoryItem{ id unitCost{ amount } } }
      }
    }
  }
}z'fetching DWKK products from Shopify ...T�cursor�products�nodes�variants�skuzDWKK-z-Sample� �-�dw_sku�product_gid�id�variant_gid�price�cost�
inventoryItem�unitCost�amount�statusz  page z  products=c#�&"�TFp^x�K		R#5i)�N�)�.0�_s& r�	<genexpr>rB@s���->��A�a��s�z	  cursor=:N�(N�pageInfo�hasNextPage�	endCursorz
collected z DWKK main variants across z pageszunique dw_skus: )�Counterz
statuses: c#�2"�TF
qR,x�K	R#5i)r<Nr?)r@�rs& rrBrBNs���C�]��(���]�s�a&
CREATE TABLE IF NOT EXISTS kravet_dwkk_variant_map (
  dw_sku       text PRIMARY KEY,
  product_gid  text NOT NULL,
  variant_gid  text NOT NULL,
  price        numeric,
  cost         numeric,
  status       text,
  updated_at   timestamptz DEFAULT now()
);
TRUNCATE kravet_dwkk_variant_map;
�wz.csvF)�suffix�delete�newline�scpz#root@45.61.58.125:/tmp/dwkk_map.csv)r&z�PGPASSWORD=DW2024! psql -h 127.0.0.1 -U dw_admin -d dw_unified -c "\copy kravet_dwkk_variant_map (dw_sku,product_gid,variant_gid,price,cost,status) FROM '/tmp/dwkk_map.csv' WITH (FORMAT csv)"zwrote z  rows to kravet_dwkk_variant_map)N).�__doc__rr'�time�urllib.requestr�os�environ�getrrr)r r+�Q�print�rowsr,�pagesr�prods�prr0�
startswith�count�append�sum�len�seenrI�
setdefault�collectionsrG�dict�values�tempfile�csv�NamedTemporaryFile�tf�writerrJ�writerow�name�tmpr(r?r!r�<module>rms=���
.�-��j�j�n�n�*�2�.��V��
�����4�
���/�0�	��	
��	��
��A��&�!�"�A�
�j�M�'�"�E�
���:��w�'�'�A��E�(�.�.�b�C��~�~�g�&�&�9�C�+?�C�s�N�WZ�W`�W`�ad�We�ij�Wj�����#�!�1�T�7�!�1�T�7��1�W�:��A�o�$6�$:�$:�:�$F�$L�$L�"�#Q�#Q�RZ�#[��1�X�;�
��(��
�Q�J�E��q�y�A�~�
���w�k�#�->��->�*>�)?�y�X^��PS��dg�Hh�i�j��Z�=��$�]�3�3�U�
�z�]�:�
&�{�
3�F��
�3�t�9�+�8���v�F�G�
��	
�A��O�O�A�h�K��#�
����T���$�%� ��
�4��C�T�[�[�]�C�C�D�E�F�G��	���
� � ��V�E�2�N�N�RT��
�
�2��A�
�[�[�]��	�
�
�A�h�K��=�!1�1�]�3C��g�J�$�$�"�a��i�o�o�2�q��{�D�	E��
�'�'�C�O�����s�A�B�$�O�
���s�_�`�`�hl�m���s�4�y�k�9�:�;�O�N�s�/AM	�M	� M	�	M