← back to Kravet Fabric Fix 2026 04 23

__pycache__/archive_no_sheet_match.cpython-314.pyc

57 lines

+
oK�j�
�Z
�Rt^RIt^RIt^RIt^RIt^RIt^RIHtHt^RI	t
]
PPRR4t
]
PP]
4t]
P P#]4Rt/t]!]4;_uu_4t]P,!]4Ftt]P0!RR]P0!RR	]R
,P34P5444t]R,P34P54]]&Kv	RRR4]!R]!]424.t]!R
4;_uu_4t]FVt]P@!]4t!]!R,R8XgK%]!PER4'gK>]PG]!R,4KX	RRR4]!R]!]424RPI]4t%]PL!]PNR](!R4PRPERR4R]%R2.,RRRR7t!^RI*t*/t+]PX!]*PZ!]!P\44F<t]'gK
]^,'gKR]^,R]^,/]+]^,&K>	]!R]!]+424.t/.t0]F�t1]+PE]14t2]2'd]2R,'g]0PGR]1RR/4KB]P0!RR]P0!RR	]2R,P34P5444t]PE]4t3]3'd*]/PGR]1R]2R,R]3R]2R,/4K�]0PGR]1R]2R,R]2R,/4K�	]!R]!]/424]!R]!]0424R t4R!t5R"t6]!R#R$4t7R%t8R&t9/t:]!R']!]/4R(24]!^R)7;_uu_4t;]<!]!]/Uu.uFp];P{]9V4NK	up4^4F�wt>t?]?P�4t!]:PE]!R,^4^,]:]!R,&]7P�]P�!R*R+/]!C4R,,4]>^�,^8Xd]!R-]>R.]!]/4R/]:2RR07]7P�4K�	RRR4]!R1]!]04R(24.tD]!^R)7;_uu_4t;]<!]!]0Uu.uFp];P{]8V4NK	up4^4F�wt>t?]?P�4t!]:PE]!R,^4^,]:]!R,&]!R,R28Xd]DPG]!R,4]7P�]P�!R*R3/]!C4R,,4]>^�,^8Xd]!R4]>R.]!]04R/]:2RR07]7P�4K�	RRR4]7P�4]D'd9RPI]D4tF]P�R5]FR624]!R7]!]D4R824]!R9]:4R# +'giELI;i +'giEL�;iuupi +'giEL�;iuupi +'giL�;i):u6For DWKKs flagged `no_sheet_match` in orphan_fix_results.jsonl:
1. Recheck by catalog.mfr_sku (maybe the product just has missing/renamed tags)
2. If sheet truly has no match → archive on Shopify + set on_shopify=false in catalog
3. If sheet DOES match via mfr_sku → fix product_type + tags per Use column
N)�ThreadPoolExecutor�as_completed�fxzQ/Users/macstudio3/Projects/kravet-fabric-fix-2026-04-23/fix_dwkk_misclassified.pyzS/Users/macstudio3/Projects/kravet-sheet-sync-2026-04-20/kravet_sheet_2026-04-20.csvz\.0$��-�.�Item�UsezSheet rows: zP/Users/macstudio3/Projects/kravet-fabric-fix-2026-04-23/orphan_fix_results.jsonl�status�no_sheet_match�dw_skuzno_sheet_match DWKKs: z','zPGPASSWORD=�os�
PGPASSWORDz� psql -h 127.0.0.1 -U dw_admin -d dw_unified --csv -t -c "SELECT dw_sku, mfr_sku, shopify_product_id FROM kravet_catalog WHERE dw_sku IN ('z')"T)�capture_output�text�check�mfr_sku�pidzcatalog rows found: �usezrecoverable (fix type): ztruly gone (archive):   z�mutation($input: ProductInput!) {
  productUpdate(input: $input) {
    product { id status }
    userErrors { field message }
  }
}z�query($id: ID!) {
  product(id: $id) { id title productType status tags vendor handle
    variants(first: 2) { nodes { sku } }
  }
}zequery($q: String!) {
  productVariants(first: 10, query: $q) {
    nodes { sku product { id } }
  }
}zM/Users/macstudio3/Projects/kravet-fabric-fix-2026-04-23/archive_results.jsonl�wc	��a�VR,oVPR4pV'gc\P\RRS2/4p\
T3RlTR	,R
,4R4pT'gRSRR/#TR,R
,p\P\R
V/4R,pVfRSRR/#VR,R8XdRSRR/#\P\RR
VRR//4pVR,R,pV'd	RSRRRV/#RSRRRV/# \dpRSRRR\T4/uRp?#Rp?ii;i \dpRSRRR\T4/uRp?#Rp?ii;i)rr�q�sku:r
�lookup_error�errorNc3�F<"�TFqR,S8XgKVx�K	R#5i��skuN���.0�n�dws& ��archive_no_sheet_match.py�	<genexpr>�archive_one.<locals>.<genexpr>^�����Q�!>�A�E�(�b�.�a�a�!>���!�
!�productVariants�nodes�not_on_shopify�product�id�	not_found�ARCHIVED�already_archived�input�
productUpdate�
userErrors�user_errors�errors�archived�update_error)	�getr�gql�
LOOKUP_BY_SKU�	Exception�str�next�	PRODUCT_Q�	ARCHIVE_Q)	�itemr�d�e�match�p�upd�errsr"s	&       @r#�archive_onerFVsx���	
�h��B�t�x�x�����	M����}�s�d�2�$�K�&8�9�A��Q��#4�!5�g�!>�Q�SW�X����b�(�,<�=�=��I��t�$��I��F�F�9�t�S�k�*�9�5���9��b�(�K�8�8��X�;�*�$��b�(�,>�?�?��f�f�Y��4��h�
�*K� L�M���?�#�L�1����b�(�M�8�T�J�J��"�h�
�E�3�?�?��#�	M��b�(�N�G�S��V�L�L��	M��$�I��"�h����Q��H�H��I�sS�D�,D9�4D9�7D9�D9�D9�D6�D1�+D6�1D6�9E�E�E�Ec
��a
�VR,VR,VR,uo
rV'gc\P\RRS
2/4p\T
3R	lTR
,R,4R4pT'gRS
RR/#TR
,R,p\P\RV/4R
,pVfRS
RR/#V\P9dRMRp\VR,4pVR8XdZVPR4VPR4\PP4Fp	VPV	4K	MYVPR4VPR4VPR4VP\PV,4\V4p
VR,V8Xd\VR,4V
8XdRS
RR/#\P\PRRVRVRV
//4pVR,R,pV'd	RS
RRRV/#RS
RRRVRV/# \dpRS
RRR\	T4/uRp?#Rp?ii;i \dpRS
RRR\	T4/uRp?#Rp?ii;i)rrrrrr
rrNc3�F<"�TFqR,S8XgKVx�K	R#5irrrs& �r#r$�recover_one.<locals>.<genexpr>yr&r'r(r)r*r+r,r-�Fabric�Wallcovering�tags�WALLCOVERING�wallcovering�productType�noopr0r1r2r3r4�	recoveredr6)rr8r9r:r;r<r=�	TITLE_USE�set�add�discard�values�sorted�PRODUCT_UPDATE)r?rrr@rArBrC�target_type�tag_set�u�new_tagsrDrEr"s&            @r#�recover_oner]rs@�����>�4��;��U��L�B���	M����}�s�d�2�$�K�&8�9�A��Q��#4�!5�g�!>�Q�SW�X����b�(�,<�=�=��I��t�$��I��F�F�9�t�S�k�*�9�5���9��b�(�K�8�8�"%����"5�h�>���a��i�.���.� ��K�K��'��O�O�H�%��\�\�(�(�*������"�+�
�O�O�N�+�W�_�_�^�-L��K�K��!�7�;�;�r�|�|�C�/@�#A��'�?���]��{�*�v�a��i�/@�H�/L��b�(�F�3�3��f�f�R�&�&��4��m�[�Z`�bj�2k�(l�m���?�#�L�1����b�(�M�8�T�J�J��"�h��U�C���L�L��9�	M��b�(�N�G�S��V�L�L��	M��:�I��"�h����Q��H�H��I�sU�H%�,I�5DI�AI�I�	I�%I�0I�I�I�I4�I/�)I4�/I4zRecovering z...)�max_workers�phase�recover�
z  recover [�/z]: )�flushz
Archiving r5�archivez  archive [zbUPDATE kravet_catalog SET on_shopify=false, orphaned_at=now(), updated_at=now() WHERE dw_sku IN ('z')zMarked z catalog rows on_shopify=falsezFINAL:)H�__doc__�csv�json�re�
subprocess�time�concurrent.futuresrr�importlib.util�	importlib�util�spec_from_file_location�spec�module_from_specr�loader�exec_module�	SHEET_CSV�sheet�open�f�
DictReader�row�sub�upper�strip�norm�print�len�no_match�line�loads�rr7�append�join�sku_in�run�SSH�
__import__�environ�io�mfr�reader�StringIO�stdout�recoverable�
truly_goner"�inforr>r=r9�outrFr]�counters�pool�	enumerate�submit�i�res�result�write�dumpsrc�archive_pids�close�sku_list�pg_exec)�its0r#�<module>r�s	���
'�&�&�?���~�~�-�-�d�W�Y���^�^�$�$�T�*��D�K�K�,C�,C�B�,G�a�	�
��	�)�_�_���~�~�a� ���v�v�g�r�2�6�6�$��S��[�5F�5F�5H�5N�5N�5P�#Q�R���%�j�&�&�(�.�.�0��d��!����S��Z�L�!�"���	�
\�]�]�ab����J�J�t����X�;�*�*�q�u�u�X����O�O�A�h�K�(��^�
��s�8�}�o�.�/�
���H�	���N�N�2�6�6��*�T�"�*�*�.�.�|�B�?�@�AZ�Z`�Ya�ae�g����T��/��
����:�:�b�k�k�!�(�(�+�,�C�
�s�s�1�v�v� �#�a�&�%��Q��8��C��F��-���S��X�J�'�(����
�
�B��7�7�2�;�D��t�I������8�R���5�6��
�6�6�'�2�r�v�v�d�C��i��1F�1F�1H�1N�1N�1P�Q�R�D�
�)�)�D�/�C�
����H�b�%��e��e�S�)�UY�Zc�Ud�e�f����8�R���U��Y��Y��X�Y��� ��[�!1� 2�3�4�� ��Z�� 1�2�3�
�	�
�	��
��Z�\_�`��I�8#I�L����C��$�%�S�)�*��A�&�&�$��L�Q\�)]�Q\�2�$�+�+�k�2�*F�Q\�)]�^�`a�b���3��J�J�L�� (���Q�x�[�!� <�q� @���8����	�	�$�*�*�g�y�6�A�6�7�$�>�?��s�7�a�<��K��s�!�C��$4�#5�S��
�C�4�P��	�	��
c�'��
�3�z�?�#�3�'�(����A�&�&�$��L�Q[�)\�Q[�2�$�+�+�k�2�*F�Q[�)\�]�_`�a���3��J�J�L�� (���Q�x�[�!� <�q� @���8����X�;�*�$�����(��,��	�	�$�*�*�g�y�6�A�6�7�$�>�?��s�7�a�<��K��s�!�C�
�O�#4�C��z�B�$�O��	�	��b�'��	�	����z�z�,�'�H��J�J�s�t|�s}�}�A�B�	�G�C��%�&�&D�
E�F��h���M�_�_��^�]�]��D*^�'�&�&��*]�'�&�sc�	BY�?#Y(�'Y(�Y(�0	Z�9Y<�B3Z�4	Z�=Z�CZ�Y%	�(Y9	�<Z�Z	�Z�Z*