← back to Hollywood Price 2026

__pycache__/quote_only.cpython-314.pyc

39 lines

+
�SjC�
��Rt^RIt^RIt^RIt^RIt^RIt]PP^R4^RIH	t	]PPRR4tRtRt
RtR	tR
tRtRtR
tRt]R8XEd�]!4t]!R]!]424R]P29d{]!]P2]P2P7R4^,,4t]R]F&t]!R]R,R,R
R]!]424K(	]P<!^4]!4t]Uu.uFp] !VR,4]9gKVNK	upt!^;t";t#t$]%!]!4F�wt&t]!]4t']'R8Xd]"^,
t"M*]'PQR4'd]$^,
t$M	]#^,
t#]&^,^(,^8Xd%]!R]&^,R]!]!4R]"R]#R]$2
4]PR!R4K�	]!R ]"R]#R]$24R#R#uupi)!u�Quote-only the remaining unpriceable Hollywood products (Steve 2026-07-12).
After pricing (856) + archiving (267), the leftover ACTIVE + Needs-Price Hollywood
set is the ~246 unmatched + ~12 no-sku — no resolvable Momentum/Versa price
(Versa commercial publishes none). Mark them quote-only: ADD `quotes` tag, REMOVE
`Needs-Price`. Keeps active + Sample-only, no fabricated price. Reversible. $0.N�lib)�gql�ledgerzquote_only.csvzZmutation($id:ID!,$tags:[String!]!){ tagsAdd(id:$id, tags:$tags){ userErrors{ message } } }z]mutation($id:ID!,$tags:[String!]!){ tagsRemove(id:$id, tags:$tags){ userErrors{ message } } }z�query($q:String!,$after:String){ products(first:150, after:$after, query:$q){
  pageInfo{hasNextPage endCursor}
  edges{ node{ id legacyResourceId title tags
    variants(first:5){ edges{ node{ sku title } } } } } } }z>vendor:'Hollywood Wallcoverings' status:active tag:Needs-Pricec���VR,R,FVpVR,q"R,;'gRpVR,R8wgK.VP4PR4'dKUR#	R	#)
�variants�edges�node�sku��title�Samplez-sampleTF)�lower�endswith)�n�e�v�sks&   �
quote_only.py�has_sellablersW��
�z�]�7�
#�
#��
�f�I��u�X�^�^��r��W�:��!�"�(�(�*�*=�*=�i�*H�*H��$��c��\PP\4;'d'\PP	\4^8�'*p\\RRR7;_uu_4p\P!V4pV'dVP.RO4VP\PP4PRR7WV.4RRR4R# +'giR#;i)��ar
)�newline�seconds)�timespecN)�ts�
product_idr�status)�os�path�exists�LEDGER�getsize�open�csv�writer�writerow�datetime�now�	isoformat)�pidrr�new�f�ws&&&   r�logr/!s����w�w�~�~�f�%�E�E�"�'�'�/�/�&�*A�A�*E�
F�C�	
�f�c�2�	&�	&�!��J�J�q�M���
�J�J�>�?�	�
�
�H�%�%�)�)�+�5�5�y�5�I�3�W]�^�_�	
'�	&�	&�	&�s
�1A2C-�-C>	c�b�\4p\PP\4'd|\
P!\\44FTpVR,PR4'gK#VPR4'gK<VPVR,4KV	V#)r�OKr)�setrr r!r"r%�
DictReaderr$�
startswith�get�add)�s�rs  r�seenr9*sm����A�	�w�w�~�~�f�������V��-�A���{�%�%�d�+�+����l�0C�0C����a��o�&�.�
�Hrc���.Rr\\R\RV/4pVR,q0VR,Uu.uFqDR,NK
	up,
pVR,R,'gV#VR,R,pKruupi)	N�q�after�productsrr�pageInfo�hasNextPage�	endCursor)r�Q�SEARCH)�out�cur�d�prs     r�	fetch_allrG3su���4��
���C���#�.�/��
�j�M��a��j�"A�j��V�9�9�j�"A�A�3���}�]�+�+���J��
�m�K�(���#Bs�A6c	�&�\VR,4qR,p\V4'd\WR,R4R#RVR,9d$RVR,9d\WR,R4R#\\RVRR./4R	,R
,p\\
RVRR./4R,R
,pV'g	V'd7\YR,R\T;'gT4R
,,4R#\WR,R4R#)�legacyResourceId�idrzSKIP:has-sellable�quotes�tagszNeeds-PricezSKIP:already-quote-onlyzSKIP:already�tagsAdd�
userErrors�
tagsRemovezFAIL::N�PN�FAILr1)�strrr/r�M_ADD�M_RM)rr+�gidrr8s&    r�processrV>s���

�a�"�#�
$�C�d�G�c��A����C�7��0�1�:M��1�V�9���a��i�!?��C�7��6�7���E�D�#�v��z�2�3�I�>�|�L�A��D�4��f�}�o�6�7��E�l�S�A��A��C�7��W�s�1�6�6��{�3�'7�7�8����w�Z���tr�__main__z(remaining ACTIVE Needs-Price Hollywood: z--canaryz  r:N�,N�44z -> rIr1rQz  ...�/z ok=z skip=z fail=g�������?zQUOTE-ONLY DONE: ok=)*�__doc__�sysrr%r(�timer �insert�shopifyr�joinr"rSrTrArBrr/r9rGrV�__name__�nodes�print�len�argv�int�index�kr�exit�donerR�todo�okr�fl�	enumerate�i�str4�sleep)rs0r�<module>rrs	��S�
�	�
���������5���	�����h� 0�	1��h��j��?��
J���`�
��,��z���K�E�	�4�S��Z�L�
A�B��S�X�X�����������
�3�a�7�8�9���r���A��B�q��z�#��r�*�$�w�q�z�l�;�<��������6�D��G�u�!��A�&8�$9� :�$� F�A�A�u�G�D���B���b��$����1�
�Q�Z��
��:�r�Q�w�r�
�]�]�6�
"�
"�B�!�G�B��A�g�b�
��E�R�<�1���E�!�A�#��a��D�	�{�$�r�d�&���F�2�$�G�H��
�
�3�� �
� ���F�2�$�f�R�D�
9�:�'��Hs�"H�=H