+
    dÖJjQ  ã                  ó”  € R t ^ RIHt ^ RIt^ RIt^ RIt]P                  P                  ]P                  P                  ]P                  P                  ]	4      4      4      t
]
]P                  9  d   ]P                  P                  ^ ]
4       ^ RIt^ RIHt ^ RIHtHtHtHtHt R tR tRR R lltR	 t]R
8X  d
   ]! 4        R# R# )zé
One-time update: set every GardenSeedInventory row to the same quantity.

Usage:
  cd /path/to/Server
  python scripts/set_all_seed_qty.py --dry-run
  python scripts/set_all_seed_qty.py
  python scripts/set_all_seed_qty.py --qty 10
)ÚannotationsN)Úensure_garden_tables)ÚMYSQL_DATABASEÚ
MYSQL_HOSTÚMYSQL_PASSWORDÚ
MYSQL_PORTÚ
MYSQL_USERc            	     ó’   € \         P                  ! \        \        \        \
        \        \         P                  P                  R 7      # ))ÚhostÚportÚuserÚpasswordÚdatabaseÚcursorclass)	ÚpymysqlÚconnectr   r   r   r   r   ÚcursorsÚ
DictCursor© ó    Ú@/workplace/Workspace/Software/Server/scripts/set_all_seed_qty.pyÚget_dbr      s/   € Ü�?Š?ÜÜÜÜÜÜ—O‘O×.Ñ.ôð r   c                ó²   € V P                  4       ;_uu_ 4       pVP                  R 4       VP                  4       uuRRR4       #   + '       g   i     R# ; i)z�
            SELECT id, crop_name, variety, qty, unit, location
            FROM GardenSeedInventory
            ORDER BY crop_name, variety, id
            N)ÚcursorÚexecuteÚfetchall)ÚconnÚcurs   & r   Úfetch_seedsr   &   s7   € Ø	�‰�Œ˜#Ø�‰ðô	
ð �|‰|‹~÷ 
��‹ús   ™!AÁA	c               ó$   € V ^8„  d   QhRRRRRR/# )é   ÚqtyÚfloatÚdry_runÚboolÚreturnÚintr   )Úformats   "r   Ú__annotate__r(   2   s!   € ÷ ñ �Uð  Tð °cñ r   c                ó†  € \        4       p \        V4       \        V4      pV'       g   \        R 4        VP	                  4        ^ # \        RR RRR RRR RRR	 R
RR R
R 24       \        R4       V Fo  pVR,          ;'       g    RpVR,          ;'       g    Rp\        VR,          R R\        VR,          4      R RVR,          R R
VR,          R	 R
VR R
V 24       Kq  	  V'       d7   \        R\        V4       RV R 24       \        V4      VP	                  4        # VP                  4       ;_uu_ 4       pVP                  RV 34       VP                  pRRR4       VP                  4        \        RX RV R 24       VVP	                  4        #   + '       g   i     LD; i  TP	                  4        i ; i)z No seeds in GardenSeedInventory.ÚIDz>5z  ÚQtyz>8ÚUnitz<8ÚCropz<20Ú ÚVarietyz<28ÚLocÚvarietyu   â€”ÚlocationÚidr!   z>8gÚunitÚ	crop_namez
Dry run: would set z seed(s) to qty=Úgz'UPDATE GardenSeedInventory SET qty = %sNz	
Updated z_-----------------------------------------------------------------------------------------------)r   r   r   ÚprintÚcloser"   Úlenr   r   ÚrowcountÚcommit)	r!   r#   r   ÚseedsÚrowr1   r2   r   Úupdateds	   &&       r   Úset_all_qtyr?   2   s¡  € Ü‹8€DðÜ˜TÔ"Ü˜DÓ!ˆßÜÐ4Ô5Øð. 	�
‰
Žô+ 	��b�	˜˜E "˜: R¨¨r {°"°V¸C°LÀÀ)ÈCÀÐPQÐRWÐQXÐYÔZÜˆhŒÛˆCØ˜)•n×-Ð-¨ˆGØ˜:•×/Ð/¨%ˆHÜØ�t•9˜R�. ¤5¨¨U­Ó#4°SÐ"9¸¸CÀ½KÈÐ;KÈ1Ø�{Õ# CÐ(¨¨'°#¨°a¸°zðCöñ ÷ ÜÐ)¬#¨e«*¨Ð5EÀcÈ!ÀWÐMÔNÜ�u“:ð 	�
‰
�ð �[‰[�]Œ]˜cØ�K‰KÐAÀCÀ6ÔJØ—l‘lˆG÷ ð 	�‰ŒÜ�
˜7˜)Ð#3°C¸°7Ð;Ô<Øà�
‰
�÷ �]ûð 	�
‰
�úsC   Œ)F. ÁA F. Â	F. ÂAF. Ã1%F. Ä'F. Ä? FÅ+F. ÆF+	Æ&F. Æ.G c                 ót  € \         P                  ! R R7      p V P                  R\        ^
RR7       V P                  RRRR7       V P	                  4       pVP
                  ^ 8  d2   \        R	\        P                  R
7       \        P                  ! ^4       \        VP
                  VP                  R7       R# )z=Set all Garden Tracker seed inventory quantities to one value)Údescriptionz--qtyz1Quantity to apply to every seed row (default: 10))ÚtypeÚdefaultÚhelpz	--dry-runÚ
store_truez2Show current rows only; do not update the database)ÚactionrD   zqty must be >= 0)Úfile)r#   N)ÚargparseÚArgumentParserÚadd_argumentr"   Ú
parse_argsr!   r7   ÚsysÚstderrÚexitr?   r#   )ÚparserÚargss     r   ÚmainrQ   S   s›   € Ü×$Ò$ØSô€Fð ×ÑØÜØØ@ð	 ô ð ×ÑØØØAð ô ð
 ×ÑÓ€Dà‡x�x�!„|ÜÐ ¤s§z¡zÕ2Ü�Š�Œä�—‘ $§,¡,×/r   Ú__main__)F)Ú__doc__Ú
__future__r   rH   ÚosrL   ÚpathÚdirnameÚabspathÚ__file__Ú_BASEÚinsertr   Úblueprints.gardentrackerr   Úconfigr   r   r   r   r   r   r   r?   rQ   Ú__name__r   r   r   Ú<module>r_      s—   ðñõ #ã Û 	Û 
à
�‰�‰˜Ÿ™Ÿ™¨¯©¯©¸Ó(AÓBÓC€Ø�—‘ÔØ‡H�H‡O�O�A�uÔã å 9ß UÕ Uòò	÷òB0ð0 ˆzÔÙ†Fñ r   