← back to Fischbacher Onboard

__pycache__/push_draft.cpython-314.pyc

29 lines

+
��`j����	�Rt^RIt^RIt^RIt^RIt^RIt^RIt^RItRt	Rt
Rt]!R]
!]444tR]	R]
2tR]R	R
/tRtRR
RR/tRjRltRt]P*P-]4'd]P.!]
!]44M/t]!4t]!]P6P9RR44t]'d]R]t]!R]!]4R]!]4R2]P@R7^;t!;t"t#]$!]^4EFAwt%t&]&R,t']']9d]"^,
t"K"]&R,t(R](]&R,R.t)]&P9R4;'g.Uu.uFpRV/NK		upR,t*]&P9R 4;'g.t+],!4.ut-t.]+Fnt/R!]/9d]/PaR!^4^,M]/t1]1t2^t3]1]-9d]3^,
t3]2R"]32t1K]-Pi]14].PkR#]1R$]/R%R&R'RR(R)/4Kp	].'g
R#R*R$]'R%R&/.t.R+R,]&R-,R.RR]&R,R/R0R1R2Pm])4R3R4R5/.R6].R7]*R8R9R:R;RR<]'R=R>/R9R:R;R?R<](R=R>/.]&P9R@4'dR9R:R;RAR<]&R@,R=RB/.M.,/	/t7]!RCRD]74t8]8R+,RE,t9RE]9RF]8R+,RF,R?](R=]&R,R6]!].4/]]'&]!^,
t!]!^,^8XdF]Pt!]]
!]RG4^RH7]!RI]%RJ]!]4RK]!RL]"RM]#2
]P@R7]Pz!RQ4EKD	]Pt!]]
!]RG4^RH7]!RR]!RL]"RM]#RS]!]42]P@R7]!RTRU4P9RV.4Uu/uFqRF,VRE,bK	upt>]P4F�wt@tA]A]>9d%]!RW]ARX]>]A,RY2]P@R7K1RZR,]@RF]AR[R\R]R^R_R`RaRb]@/.//tB]!RCRc]B4t8]!Rd]ARe]8RZ,RE,2]P@R7]Pz!Rh4K�	]!Ri]P@R7R#uupi ];d9t<]#^,
t#]!RN]'RO]&R-,RP]<2]P@R7Rt<A<EL�Rt<A<ii;iuupi ];d%t<]!Rf]ARg]<2]P@R7Rt<A<L�Rt<A<ii;i)ku5Create the staged Christian Fischbacher catalog as DRAFT products on the LIVE store.
Steve-approved 2026-07-22: Draft (not published), NO price (trade-gated feed), sub-line
collections created + all kept in main. Idempotent via manifest — safe to re-run.
Cost: $0 (Shopify Admin API has no per-call charge).Nz)designer-laboratory-sandbox.myshopify.comz2024-10z//Users/macstudio3/Projects/secrets-manager/.envc#�"�TFDqPR4'gKVPR^4^,P4x�KF	R#5i)zSHOPIFY_ADMIN_TOKEN=�=N)�
startswith�split�strip)�.0�ls& �
push_draft.py�	<genexpr>r
s8���b�	�1�\�\�J`�=a�
&�Q�W�W�S��^�A�
�
$�
$�
&�
&�	�s
�A�/Azhttps://z/admin/api/zX-Shopify-Access-TokenzContent-Typezapplication/jsonzH/Users/macstudio3/Projects/fischbacher-onboard/data/pushed_manifest.jsonzCollezione Italiazcollezione-italiaz
Benu Recycledz
benu-recycledc
�p�\^4F�p\PP\V,TV'd%\
P!V4P4MR\R7p\PPV^<R7;_uu_4p\
P!V4uuRRR4u#	\+R
4h +'giK�;i \PPd�pTPR8Xd,\P!^T^,,4Rp?EK*\!RTPRTRTRTP#4R,2\$P&R	7hRp?i\(d+T^8d"\P!^T,4EK�hi;i)�N)�method�data�headers)�timeouti�z   HTTP � �: :N��N��filezretries exhausted)�range�urllib�request�Request�BASE�json�dumps�encode�HDR�urlopen�load�error�	HTTPError�code�time�sleep�print�read�sys�stderr�	Exception�RuntimeError)r
�path�body�attempt�req�r�es&&&    r	�apir2s1����8��	��.�.�(�(��d��6�6:����D�)�0�0�2��c�)�S�C����'�'��R�'�8�8�A��y�y��|�9�8�	��*�
+�+�9�8�8���|�|�%�%�	��v�v��}��
�
�1�w�q�y�=�)�8��H�Q�V�V�H�A�f�X�Q�t�f�B�q�v�v�x��~�6F�G�c�j�j�Y����	���{�D�J�J�q��y�1�8��	�sI�BC�C�-
C�C�C�C�F5�:5E=�6AE=�=F5�
%F5�3F5c��Rp\P!RRRV.RRR7p\P!VPP44#)z�SELECT json_agg(row_to_json(t)) FROM (SELECT mfr_sku,pattern_name,product_type,source_category,pdp_url,all_images,colorways,colorway_count FROM fischbacher_catalog ORDER BY product_type DESC, source_category, pattern_name) t;�psqlzhost=/tmp dbname=dw_unifiedz-tAcT)�capture_output�text)�
subprocess�runr�loads�stdoutr)�sql�outs  r	�	load_rowsr="sG��K�C��.�.�&�!>�v�c�J�(,�$�8�C��:�:�c�j�j�&�&�(�)�)��LIMIT�0zLoaded z staged rows; z already pushedr�mfr_sku�source_categoryzChristian Fischbacher�product_typezFischbacher-staged-2026-07�
all_images�src:N�N�	colorways�.�-�option1�sku�pricez0.00�inventory_management�taxableT�Default�product�title�pattern_name�vendor�status�draft�tagsz, �options�name�Colorway�variants�images�
metafields�	namespace�fischbacher�key�value�type�single_line_text_field�line�pdp_url�
source_pdp�url�POSTz/products.json�id�handle�w)�indentz   [�/z
] created=z	 skipped=z failed=z   FAIL z (z): g�������?zPRODUCTS DONE: created=z total_manifest=�GETz!/smart_collections.json?limit=250�smart_collectionsz   collection z exists (id �)�smart_collection�disjunctiveF�rules�column�tag�relation�equals�	conditionz/smart_collections.jsonz   CREATED collection z id z   collection FAIL rg333333�?zALL DONE)N)C�__doc__r�osr$r(r7�urllib.requestr�urllib.error�STORE�API�ENV�next�open�TOKENrr�MANIFEST�LINE_TAG_COLLECTIONSr2r=r,�existsr �manifest�rows�int�environ�getr?r&�lenr)�created�skipped�failed�	enumerate�ir0rKrcrV�imgsrG�set�seenrZ�cwr�opt�base_opt�n�add�append�joinrP�res�pid�dumpr*�exr%�existing�itemsrtrir-)�u�cs00r	�<module>r�s���8�E�D�D�D�3����7���b��S�	�b�b��	�%���C�5�)�����8J�K��U��+�-@�/�Sb�c��,�"*�)+�����x�(@�(@�4�9�9�T�(�^�$�b���{���B�J�J�N�N�7�3�'�(����f�u��$����D�	�{�.��X����G�c�j�j�Y�����'�F��d�A��D�A�q�
�I�,�C�
�h���1���h��
��D�#�T�1�^�+<�>Z�[�D�!"���|�!4�!:�!:��!:�<�!:�1�U�A�J�!:�<�S�A�D����k�"�(�(�b�I��U�B�N�D�(���$'�2�I�b�h�h�s�1�o�a� �2����A���T�k�
��F�A�X�J�a��s�+�C�����
�����C���G�V�/��y�$�H�	I�
���	�5�#�w��G�H�����>�"��)���.�)��'���	�	�$���V�Z�(�)��H��$��
��u�Y�w�s�6�Jb�c�
��u�V�G�D��H`�a�
�de�ch�ch�ir�cs�cs�{�=��|�G�A�i�L�QW�X]�^�
_�y{�}�
�
�G�M��&�*�G�4���)�n�T�"���s�H�c�)�n�X�.F���v�q��/@�*�c�RZ�m�]���
��1����R�<�1���I�I�h��X�c� 2�1�=��D���1�S��Y�K�z�'��)�G�9�H�U[�T\�]�dg�dn�dn�o�	�J�J�t��[
�^�	�	�(�D��#�&�q�1����y�	�'��(�6�(�JZ�[^�_g�[h�Zi�j�qt�q{�q{�|�+.�e�4W�*X�*\�*\�]p�qs�*t�u�*t�Q�h�K��4�� �*t�u��'�-�-�/�K�C��
���
��v�h�l�8�F�3C�2D�A�F�S�Z�Z�X�Zb���#�x���PU��x��j��+�c�J�K�!M�N�D�E��&�2�D�9��
�&�v�h�d�3�7I�3J�4�3P�2Q�R�Y\�Yc�Yc�d�	�J�J�s�O�0��j�s�z�z�"��s=��H�M��!���
����R��.� 1�2�#�b�T�:����L�L��M��v���E�
�#�F�8�2�b�T�2����D�D��E�s=�
Q1�B Q6�"R8�2R=�6R5�=-R0�0R5�=S(�S#�#S(