
    )+j*                        d dl Z d dlZd dlZd dlmZ i dg ddg ddg dd	g d
dg ddg ddg ddg ddg ddg ddg ddg ddg ddg ddg d d!g d d"g d#g d$g d%g d&g dg d$g d'g d(g d)g d*g d+g d$d,Zg d-Zg d.Zg d/Zd<d0Z	d1 Z
d=d2Zd3 Zd4 Zd5 Zed6k(  re j                   j#                  e j                   j%                  e            Ze j                   j+                  ed7d8      Zej/                  d9d:      Ze j                   j3                  e      s eee        ed;e         ee       yy)>    N)copy2cafe)
3 b ' i< i: i  e 鐾   coffee)r   r   r   r   I	 鯵> espresso)r   r   i latte)r   r   r   pastry)r	   r
   r r   burger)r
    07 pasta)r   i ( grill)r
   r   r   cake)r   r	   L dessert)r   r	   r   r   bakery)r	   r   r   r   sushi)i i is# ramen)i, iD7 r   curry)( r   70 salad)r   b r   acaivegan)r   r#   r#   )r!   r    r   )r!   r    r   )r    r   r
   )r   r   r   )r
   r   r   )r
   r   r   )r   r   r   )r   r#   r
   )hotpotkebabricenoodledumplingteafriedchickensmoothiewrapsoup)
z photo-1494790108377-be9c29b29330z photo-1534528741775-53994a69daebz photo-1517841905240-472988babdf9z photo-1524504388940-b1c1722653e1z photo-1580489944761-15a19d654956zphoto-1546961329-78bef0414d7czphoto-1554151228-14d9def656e4zphoto-1544723795-3fb6469f5b39z photo-1438761681033-6461ffad8d80z photo-1488716820095-cbe80883c496)
z photo-1507003211169-0a1dd7228f2dz photo-1506794778202-cad84cf45f1dz photo-1472099645785-5658abf4ff4ez photo-1519085360753-af0119f7cbe7zphoto-1552374196-c4e7ffc6e126z photo-1568602471122-7832951cc4c5zphoto-1552058544-f2b08422138azphoto-1542909168-82c3e7fdca5cz photo-1500048993953-d23a436266cfz photo-1522075469751-3a6694fb2f61)
zphoto-1554118811-1e0d58224f24z photo-1501339847302-ac426a4a7cbbz photo-1495474472287-4d71bcdd2085zphoto-1555396273-367ea4eb4db5z photo-1517248135467-4c7edcad34c4zphoto-1546069901-ba9599a7e63cz photo-1512621776951-a57141f2eefdz photo-1511920170033-f8396924c348z photo-1514933651103-005eec06c04bzphoto-1552566626-52f8b828add9c           	          d}| xs dj                         }t        D ]
  }||v s|} n t        |   }||t        |      z     }d| d| d| d| d	S )Nr    z!https://images.pexels.com/photos/z/pexels-photo-z".jpeg?auto=compress&cs=tinysrgb&w=&h=z	&fit=crop)lower
PEXELS_IDSlen)	keywordseedwhkeyr4   	candidatepoolphoto_ids	            /app/app/refresh_images.pyget_pexels_urlr@   N   s    
C]!!#E	C   c?DD3t9$%H.xjxjPrstruuxyzx{  |E  F  F    c                     d|  dS )Nhttps://images.unsplash.com/z3?auto=format&fit=crop&w=1440&h=1080&q=90&crop=faces )r>   s    r?   get_portrait_urlrE   Y   s    )(3fggrA   c                     d|  d| d| dS )NrC   z?auto=format&fit=crop&w=r3   z&q=85rD   )r>   r9   r:   s      r?   get_interior_urlrG   \   s!    )(3KA3cRSQTTYZZrA   c                 8   | j                         }d|v sd|v sd|v sd|v ryd|v sd|v sd|v ryd|v ryd	|v sd
|v sd|v sd|v ryd|v sd|v sd|v sd|v ryd|v sd|v sd|v sd|v ryd|v sd|v ryd|v ryd|v sd|v ryd|v sd|v sd|v sd|v ryd|v sd |v ryd!|v sd"|v sd#|v sd$|v ry!d%|v sd&|v sd'|v sd(|v sd)|v sd*|v ry(d+|v sd,|v sd-|v sd.|v sd/|v sd0|v sd1|v ry+d2|v sd3|v sd4|v sd5|v sd6|v sd7|v ry2d8|v sd9|v ry8d:|v sd;|v sd<|v ry:d=|v sd>|v sd?|v ry>y@)ANlaksaz	kway teowmeer)   z
nasi lemakr(   nasir   satayskewersr'   otahpratapuff	croissantr   toastbreadsandwichbagelr   pancakewaffler   r   	spaghettisteakchopr   ribeyer-   wingsr"   r$   bowlgreensr   tartbrownier   kacangchendolr+   tarikbandunglemonadejuicedrinkbeverager   r   
cappuccinor   z
flat whiteblackr0   brothr*   maigowfriesr,   rollsr   )r4   )name
name_lowers     r?   get_best_keywordrr   _   sv   J*z 9Uj=PT\`jTjz!Vz%9Vz=Q**	Z 77j;PTZ^hTh** 4z8QU]akUk*: 5z9QU\`jUjJ(j"8:*z 9** 4:8MQY]gQgJ'Z"7** 4*8LPX\fPfv3yJ7NR[_iRimu  zD  nD  HQ  U_  H_
g3yJ7NR\`jRjnu  zD  oD  HO  S]  H]  ak  oy  ay:J!6,*:TXbfpXp  uA  EO  uO  SZ  ^h  Shw*4Z5J#6%::M*: 5J9NrA   c                     | j                         }g d}d}|D ]  }|j                  |      sd} n |rt        nt        }||t	        |      z     }t        |      S )N)$amandasarahrachelpriyachloezmei lingzxiu huizhui minzqi xuanamirahnuruldeepajamiesophieclaracherylfionanataliemichellejessicakimberlyvalerie	stephaniepatriciaevelynsitidianahidayahfaziranadhirahaishahkamariahshalinipreethimeeradivyaFT)r4   
startswithFEMALE_PORTRAITSMALE_PORTRAITSr6   rE   )rp   indexrq   female_first_names	is_femalefnr=   r>   s           r?   get_person_photor      sf    J I   $I !
  )nDECI%&HH%%rA   c                    t        j                  |       }dd l}|j                  D cg c]  }|j	                  d|      s| }}t        d|         t        d|        |D ]  }||   }|j                  dd      d   }t        |dd        }d }	t        d|j                  dz         D ]&  }
|j                  |
d      j                  dk(  s$|
}	 n |	rKt        |t        t              z     }t        |d	d	      |j                  |	d
      _        t        d| d       d }t        d|j                  dz         D ]&  }
|j                  |
d      j                  dk(  s$|
} n |rNt        |dz   t        t              z     }t        |dd      |j                  |d
      _        t        d| d       d }t        d|j                  dz         D ])  }
|j                  |
d      j                  dk(  s$|
d
z   } n |r|}
d}	 |j                  |
d      j                  }|r|dk(  rnHt        t        ||z   t        t              z     dd      |j                  |
d      _        |
dz  }
|dz  }mt        d| d| d       d }t        d|j                  dz         D ])  }
|j                  |
d      j                  dk(  s$|
d
z   } n |r|}
d}	 |j                  |
d      j                  }|r|dk(  rnX|j                  |
d      j                  }t        |      }t!        |||z         |j                  |
d
      _        |
dz  }
|dz  }}t        d| d| d       d }t        d|j                  dz         D ])  }
|j                  |
d      j                  dk(  s$|
d
z   } n |sF|}
d}	 |j                  |
d      j                  }|r|dk(  rnM|j                  |
d      j                  }t#        |||z         |j                  |
d
      _        |
dz  }
|dz  }rt        d| d| d        |j%                  |        t        d       y c c}w )Nr   z	^M\d{3}\bzUpdating images in workbook: zTarget sheets:     )rowcolumnzLogo URLi      z  [z] Logo URL updated.zMerchant Thumbnail URL     i  z!] Merchant Thumbnail URL updated.zBANNER MEDIAzITEM INFORMATION / PRODUCTS8  z] Banners updated (z
 banners).COUPONSz] Products updated (z products).	PERSONNELTERMS_AND_CONDITIONSz] Personnel updated (z personnel).zWorkbook successfully saved!)openpyxlload_workbookre
sheetnamesmatchprintsplitintrangemax_rowcellvalueINTERIOR_PHOTOSr6   rG   rr   r@   r   save)pathwbr   starget_sheets
sheet_namewsmid_strmid_numlogo_rowr
logo_photo	thumb_rowthumb_photobanner_startb_idxval
prod_startp_idxp_namekw
pers_starts                         r?   update_excel_imagesr      s   				%B  "K1,1JQMK	)$
01	OM?
+,#

^""3*1-gabk" q"**Q,'Aww1Qw'--; ( (33G)GHJ4DZQUW[4\BGGG+1C
|#678 	q"**Q,'Aww1Qw'--1II	 ( )7Q;#o:N*NOK5EkSWY]5^BGG	!G,2C
|#DEF q"**Q,'Aww1Qw'--? 1u ( AEgg!Ag.44c%BB1A/SZ]bSbfijyfzRzB{  ~B  DH  2IAa(.Q
  C
|#6ugZHI 
q"**Q,'Aww1Qw'--1NNU
 ( AEgg!Ag.44cY.Qq177%f-1?GeO1TAa(.Q
  C
|#7wkJK 
q"**Q,'Aww1Qw'--<U
 ( AEgg!Ag.44c%;;Qq1771A&'TY/1ZAa(.Q
  C
|#8|LMg $j GGDM	
()u Ls   Q Q__main__excel_backupszLfnb_merchant_seed_dataset_FNB_50_M011_M020_images_refreshed_relevant_v2.xlsxz.xlsxz_backup_refreshed.xlsxzBackup created at: )i@  i  )r   r   )osr   sysshutilr   r5   r   r   r   r@   rE   rG   rr   r   r   __name__r   dirnameabspath__file__base_dirjoin	file_pathreplacebackup_pathexistsr   rD   rA   r?   <module>r      s   	  
 
aA ( &	
 / ) ( ( % 0 / ' ( ( (  '!" (#$ *(')+#(**''9
@ 	Fh[&P&(_*B zwwrwwx89HX  9G  HI ##G-EFK77>>+&i%#K=12	" rA   