3
"] V                @   s	  d dl mZmZ d dlmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8mZmZmZmZmZm9Z9m:Z:m;Z;m<Z< d dl=m>Z> d dl?m@Z@ d dlAmBZB d dlCmDZD d dl?mEZEmFZF d dlGmHZHmIZImJZJ d d	lKmLZL d
dlMmNZN d dlOmPZP d dlQmQZQmRZR d dlSZSd dlTmUZU d dlVmWZW d dlXZXd dlYZYd dlZm[Z[ d dlOmPZP d
dl\m]Z] d dl^Z^d dl_Z_d dl`maZa d dlbZbd
dlcmdZd d dlemfZf d dlgZgd dlhZid dljmkZk d dllmmZm d dlnZnd dloZod dlpmqZq eUdd ZreUdd Zse@dgeEf eUdd Zte@dgeEf eUd d! Zue@dgeEeDfeUd"d# Zve@dgeEeDfeUd$d% Zwe@dgeEeDfeUd&d' Zxe@dgeEeDfeUd(d) Zye@dgeEeDfeUd*d+ Zze@dgeEeDfeUd,d- Z{e@dgeEeDfeUd.d/ Z|e@dgeEeDfeUd0d1 Z}e@dgeEeDfeUd2d3 Z~e@dgeEeDfeUd4d5 Ze@dgeEeDfeUd6d7 Ze@dgeEeDfeUd8d9 Ze@dgeEeDfeUd:d; Ze@dgeEeDfeUd<d= Ze@dgeEeDfeUd>d? Ze@dgeEeDfeUd@dA Ze@dgeEeDfeUdBdC Ze@dgeEeDfeUdDdE Ze@dgeEeDfeUdFdG Ze@dgeEeDfeUdHdI Ze@dgeEeDfeUdJdK Ze@dgeEeDfeUdLdM Ze@dgeEeDfeUdNdO Ze@dgeEeDfeUdPdQ Ze@dgeEeDfeUdRdS Ze@dgeEeDfeUdTdU Ze@dgeEf eUdVdW Ze@dgeEeDfeUdXdY Ze@dgeEeDfeUdZd[ Ze@dgeEeDfeUd\d] Ze@dgeEeDfeUd^d_ Ze@dgeEeDfeUd`da Ze@dgeEeDfeUdbdc Ze@dgeEeDfeUddde Ze@dgeEeDfeUdfdg Ze@dgeEeDfeUdhdi Ze@dgeEeDfeUdjdk Ze@dgeEeDfeUdldm Ze@dgeEeDfeUdndo Ze@dgeEeDfeUdpdq Ze@dgeEeDfeUdrds Ze@dgeEeDfeUdtdu Ze@dgeEeDfeUdvdw Ze@dgeEeDfeUdxdy Ze@dgeEeDfeUdzd{ Ze@dgeEeDfeUd|d} Ze@dgeEeDfeUd~d Ze@dgeEeDfeUdd ZeFeHeIeJfeUdd Ze@dgeEeDfeUdd ZeUdd ZeUdd Zdd Zdd Zdd Zdd ZeUdd ZeUdd ZeUdd Ze@dgeEeDfeUdd Ze@dgeEeDfeUdd Zdd ZeUdd ZeUdd ZeUdd ZeUdd ZeUdd ZdS )    )HttpResponseJsonResponse)>UserAssignVesselSurveyReport	TestTableFenderingImagesBulwarksImageBulwarksDeckCargoRailsImage
CargoRailsDeckFittingsImageDeckFittingsGroundTackleImageHullCompImageHullCompTankHullCompCapacityHullCompBulletDeckHouseImagePilotHouseImageSuperStructureImageMachinaryImageSafetyEquipmentImageBerthingCompartmentsGalley	MessDecksLaundryHospitalRecreationRoomTheaterRoomHeloReceptionRoomPublicSanitaryFacilitiesOtherDeckHouseCategoryPilothouseEquipmentsAuxiliaryMachineryRecommendationsSurveyReportBargeBowCompartmentStarboardSideSternCompartmentPortSideWalkaroundReportBargeLocation	BargeTypeBCargoCoversBargeFinalStatementBow_CompartmentBow_Compartment_PreviousStarboard_SideStarboard_Side_PreviousStern_CompartmentStern_Compartment_Previous	Port_SidePort_Side_PreviousCover_Findingr   r   r   r   r   DeckCargoRatingUnitsPhotoHandlerPhotoHandlerImageInlandPhotoHandler)authenticate)api_view)Token)IsAuthenticated)permission_classesparser_classes)FileUploadParserMultiPartParser
FormParser)FileSystemStorage   )account_activation_token)settings)datetime	timedeltaN)csrf_exempt)timezone)serializers)TestForm)
S3Transfer)text_to_speech)GlobalConfiguration)MIMEMultipart)MIMEText)Imagec             C   sv   | j jd}| j jd}t||d}|s8tddddS |jsNtdd	ddS tjj|d
\}}td|jd|j	dS )Nemailpassword)rV   rW   zEmail or password is invalid.500 )messagecodetokenz0User not activated. Please contact administrator404)userzSuccessfully Logged In200)rZ   r\   r[   user_id)
POSTgetr=   r   	is_activer?   objectsget_or_createkeyid)requestrV   rW   r^   r\   _ rj   :/var/www/html/dls.localhost.com/myproject/dls_api/views.py
user_loginm   s    rl   c          
   C   sX   g }t jj| jjdd}|j|j|j|jt|j	|j
|j|j|jd td|dS )Nr`   )pk)rg   
first_name	last_nameavatoraddress	mobile_nocitystater_   )r[   user_details)r   rd   rb   ra   appendrg   rn   ro   strrp   rq   rr   rs   rt   r   )rh   Zuser_arrru   rj   rj   rk   user_profile~   s    	rx   ra   c       	      C   s   | j jd}tjj|d}d}d}|rr|d }dd }| }||_|j  d}dt| d	 }tj	d
|d|| nd}d}t
||dS )NrV   )rV   r_   rY   r   c               S   s   t jddS )Ni  i'  )randomrandintrj   rj   rj   rk   <lambda>   s    z!forget_password.<locals>.<lambda>z<html>
                        <head></head>
                        <body>
                        <h1>Use this otp to change your password.</h1>
                        <p>Seems like you forgot your password for DLS account.
This is your OTP : zY</p>
                        </body>
                        </html>
                    zDufour Laskay & StrousezOTP for forgot password300zInvalid Email Address)r[   rZ   )ra   rb   r   rd   filterotpsaverw   rR   
send_emailr   )	rh   rV   r^   r[   statusrr~   Z	body_textZ	body_htmlrj   rj   rk   forget_password   s"    
r   c             C   s   | j jd}| j jd}| j jd}tjj|d}d}d}|rv|d }t|jt|krl|j| |j  q~d}d	}nd}d
}t	||dS )NrV   rW   r~   )rV   r_   rY   r   r|   zInvalid OTPzInvalid Email Address)r[   rZ   )
ra   rb   r   rd   r}   rw   r~   set_passwordr   r   )rh   rV   rW   r~   r^   r[   r   rj   rj   rk   update_password   s     

r   c       	      C   s  g }g }g }t j j }tjj| jjdj|djdd}x(|D ] }|j|j	|j|j
|jd q@W tjj| jjdj|djdd}x(|D ] }|j|j	|j|j
|jd qW tjj| jjdj|djdd	jdd}x(|D ] }|j|j	|j|j
|jd qW td
|||dS )N)r`   )Zassignment__start_date   )Zstage_completed_id__lte)vessel_nameassign_vessel_idvessel_type_idZvessel_stage_id)Zassignment__start_date__gt)Zassignment__start_date__ltrG   )r   r_   )r[   assignment_detailsassignment_arr_futureassignment_arr_prev)rJ   nowdater   rd   r}   r^   rg   rv   r   r   stage_completed_idr   )	rh   Zassignment_arrr   r   todayr   ZasgZassignment_details_futureZassignment_details_prevrj   rj   rk   user_assignment   s:    "
"
*
r   c             C   s   g }t jj| jjdj| jjddj| jjdd}xF|D ]>}|j|j|j	|j
|j|j|j|j|jj|j|j|jd q<W td|dS )	N)r`   r   )rg   r   )r   )rt   rs   rt   
account_ofoperatorownerr   vessel_type_namerequested_byrg   	form_typer_   )r[   vessel_details_arr)r   rd   r}   r^   rg   ra   rb   rv   street_addressrs   rt   r   r   r   r   vessel_type	type_namer   r   r   )rh   r   Zvessel_detailsZvdrj   rj   rk   user_vessel_details   s"    2
r   c             C   sP  t jjt| jjdd}| jjdd|_| jjdd|_| jjdd|_| jjdd|_| jjdd|_	| jjd	d|_
| jjd
d|_|jdkrd|_tj |_|j  | jjddkrtjjt| jjdd}|r| jjdd|d _|d j  |r|d jnd}n.tjjt| jjdd}|r<|d jnd}tdd|dS )Nrg   )rm   r   rY   r   r   r   r   r   r      r   r   0)assigned_vessel_idr   r_   z Information updated successfully)r[   msgsurvey_report_id)r   rd   rb   intra   r   r   r   r   r   r   r   r   rJ   r   vessel_deployedr   r   r}   survey_locationrg   r&   r   )rh   objsurvey_reportr   rj   rj   rk   update_user_vessel_details  s.    

r   c       N   B   C   s:  g }g }g }g }g }g }g }g }g }	g }
g }g }g }g }g }g }g }g }g }g }g }g }g }g }g }g }g }g }g }g }g }g } g }!g }"g }#g }$g }%g }&g }'g }(g })g }*g }+g },g }-g }.g }/g }0g }1g }2g }3g }4g }5g }6g }7g }8g }9g }:g };g }<g }=g }>g }?t jjt| jd d}@x(|@d jj D ]}A|jt|Aj q$W x(|@d j	j D ]}B|jt|Bj	 qNW x(|@d j
j D ]}C|jt|Cj
 qxW x(|@d jj D ]}D|jt|Dj qW x(|@d jj D ]}E|jt|Ej qW x(|@d jj D ]}E|jt|Ej qW x(|@d jj D ]}F|jt|Fj q W x(|@d jj D ]}F|jt|Fj qJW x(|@d jj D ]}F|	jt|Fj qtW x(|@d jj D ]}F|
jt|Fj qW x(|@d jj D ]}F|jt|Fj qW tjd|@}G|@d }@x|@jj D ]~}H|j|Hj |j|Hj |j|Hj |j|Hj |j|Hj |j|Hj |j|Hj |j|Hj |j|Hj |j|Hj qW x|@j j D ]r}I|j|Ij! |j|Ij" |j|Ij# | j|Ij$ |!j|Ij% |"j|Ij& |#j|Ij' |$j|Ij( |%j|Ij) qW xh|@j*j D ]Z}J|j|Jj+ |j|Jj, |j|Jj- |j|Jj. |j|Jj/ |j|Jj0 |j|Jj1 qW x8|@j2j D ]*}K|&j|Kj3 |'j|Kj4 |(j|Kj5 q|W x8|@j6j D ]*}L|)j|Lj7 |*j|Lj8 |+j|Lj9 qW x,|@j:j D ]}M|,j|Mj; |-j|Mj< qW x,|@j=j D ]}M|.j|Mj> |/j|Mj? qW x,|@j@j D ]}M|0j|MjA |1j|MjB qLW x,|@jCj D ]}M|2j|MjD |3j|MjE qzW x,|@jFj D ]}M|4j|MjG |5j|MjH qW x,|@jIj D ]}M|6j|MjJ |7j|MjK qW x,|@jLj D ]}M|8j|MjM |9j|MjN qW x |@jOj D ]}M|:j|MjP q2W x8|@jQj D ]*}M|;j|MjR |<j|MjS |=j|MjT qTW x,|@jUj D ]}M|>j|MjV |?j|MjW qW tX|G|&|'|(|)|*|+||||||||||||||||||||| |!|"|#|$|%|||||||||	|
||,|-|.|/|0|1|2|3|4|5|6|7|8|9|:|;|<|=|>|?d@S )Nr   )rg   r   json)@r   tanktypetanktypefillingstanktypeventscapacitytypecapacitytypefillingscapacitytypeventsbulwarks_deck_namebulwarks_deck_heightbulwarks_deck_typebulwarks_deck_materialbulwarks_deck_capbulwarks_deck_cap_dimenbulwarks_deck_stiffenersbulwarks_deck_cap_dimen_otherbulwarks_deck_name_otherbulwarks_deck_stiffeners_otherdf_deck_namedf_fittings	df_numberdf_sizedf_locationdf_deck_name_otherdf_fittings_othercargorails_deck_namecargorails_deck_heightcargorails_deck_constructioncargorails_deck_capcargorails_deck_cap_dimencargorails_deck_stiffenerscargorails_deck_cap_dimen_othercargorails_deck_name_othercargorails_deck_materialfendering_images_arrcargo_rails_images_arrdeck_fitting_images_arrground_tackle_images_arrhull_comp_images_arrbulwarks_image_arrdeck_house_image_arrpilot_house_image_arrsuper_structure_image_arrmachinary_image_arrsafety_equipment_image_arrdh_bc_outer_bulletdh_bc_inner_bulletdh_g_outer_bulletdh_g_inner_bulletdh_md_outer_bulletdh_md_inner_bulletdh_l_outer_bulletdh_l_inner_bulletdh_h_outer_bulletdh_h_inner_bulletdh_rr_outer_bulletdh_rr_inner_bulletdh_tr_outer_bulletdh_tr_inner_bulletpe_outer_bulletm_am_outer_bulletm_am_inner_bulletm_am_ratingrecom_outer_bulletrecom_inner_bullet)Yr   rd   r}   r   ra   fendering_imagesallrv   rw   bulwarks_imagecargo_rails_imagesdeck_fitting_imagesground_tackle_imageshull_comp_imagesdeck_house_imagepilot_house_imagesuper_structure_imagemachinary_imagesafety_equipment_imagerN   	serializebulwarks_deckr   r   r   r   r   r   r   r   r   r   cargo_railsr   r   r   r   r   r   r   r   r   deck_fittingsr   r   r   r   r   r   r   hull_comp_tankhc_tank_typehc_filling_lineshc_ventshull_comp_capacityhc_capacity_typehc_capacity_volhc_capacity_unitsberthing_compartmentsr   r   galleyr   r   
mess_decksr   r   laundryr   r   hospitalr   r   recreation_roomr   r   theater_roomr   r   pilothouse_equipmentsr   auxiliary_machineryr   r   r   recommendationsr   r   r   )Nrh   r   r   r   r   r   r   r   r   r   r   r   df_deck_name_arrdf_fittings_arrdf_number_arrdf_size_arrdf_location_arrdf_deck_name_other_arrdf_fittings_other_arrr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   hc_tanktypehc_tanktypefillingshc_tanktypeventshc_capacitytypehc_capacitytypefillingshc_capacitytypeventsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   imgbimgcimgdimggimgZdhimgdatabdcrdfhchccZbthrj   rj   rk   survey_report_details3  s   r"  c             C   s   d }| j d dkrtjjt| j d d}|rD| j d |_|j  qtjjtjjt| j d dj	tjjt| j d d| j d | j d t
j d}nPtjjtjjt| j d dj	tjjt| j d d| j d | j d t
j d}tdt|jd	S )
Nr   r   )rm   vessel_descriptionr   gd_extra_note)
assignmentassigned_vesselr#  r$  
created_onr_   )r[   r   )ra   r   rd   rb   r   r#  r   creater   r%  rM   r   r   rw   rg   )rh   r   rj   rj   rk   survey_report_step1G  s&    
r)  c          	   C   s  d }t j tdd }d}| jd r&tjjt| jd d}d}| jd dkrtt j| jd d	}tt	j
|j }t	j
|jr|jj n|j |kr|j}td
|jrt|jjddd d nt|jddd d ||jdS | jd |_| jd |_t j| jd d	|_|j  tddiS nttjjtjjt| jd djtjjt| jd d| jd | jd tj t j| jd d	d}tdt|jdS d S )NrG   )hoursrY   r   )rm   r   
updated_onr   z%Y-%m-%d %H:%M:%Sr_   T    )r[   r+  r#  r$  r#  r$  r[   r|   r   )r%  r&  r#  r$  r'  r+  )r[   r   )rJ   r   rK   ra   r   rd   rb   r   strptimetimemktime	timetupler+  r#  r   rw   replacer$  r   r(  r   r%  rM   rg   )rh   r   r   r#  request_timedtrj   rj   rk   survey_report_step1_detailsd  s@    "6r6  c             C   s   t jjt| jd d}| jd |_| jd |_| jd |_| jd |_| jd |_	| jd |_
| jd	 |_| jd
 |_| jd |_|j  tdt|jdS )Nr   )rm   port_bow_length_feetport_bow_length_inchport_stern_length_feetport_stern_length_inchstarboard_bow_length_feetstarboard_bow_length_inchstarboard_stern_length_feetstarboard_stern_length_inchr$  r_   )r[   r   )r   rd   rb   r   ra   r7  r8  r9  r:  r;  r<  r=  r>  r$  r   r   rw   rg   )rh   r   rj   rj   rk   survey_report_step2  s    r?  c          
   C   s  d }t j tdd }d}d}d}d}d}d}d}	d}
| jd rtjjt| jd d}|j}|j	}|j
}|j}|j}|j}|j}	|j}
d}| jd dkrt j| jd d	}ttj|j }tj|jr|jj n|j |krD|||||||	|
|jd
	}td|jr$t|jjddd d nt|jddd d |dS t j| jd d	|_| jd |_| jd |_	| jd |_
| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_|j  tddiS d S )NrG   )r*  rY   r   )rm   r   r+  r   z%Y-%m-%d %H:%M:%S)	r7  r8  r9  r:  r;  r<  r=  r>  r$  r_   r,  r-  r.  )r[   r+  r  r7  r8  r9  r:  r;  r<  r=  r>  r$  r[   r|   )rJ   r   rK   ra   r   rd   rb   r   r7  r8  r9  r:  r;  r<  r=  r>  r/  r0  r1  r2  r+  r$  r   rw   r3  r   )rh   r   r   r7  r8  r9  r:  r;  r<  r=  r>  r4  r5  r  rj   rj   rk   survey_report_step2_details  sf    $
8
r@  c             C   s`  t jjt| jd d}| jd |_| jd |_| jd |_| jd |_| jd |_	| jd |_
| jd	 |_| jd
 |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_|j  tdt |j!dS )Nr   )rm   built_nobuilt_detailsofficial_noimo_noprevious_nameflagdimentions_lengthdimentions_widthdimentions_heightoverall_lengthgrtnrtgitnit
classed_asdeck_length
deck_widthclear_deck_lengthclear_deck_widthdeck_cargo_ratingengine_descriptionhorsepower_minhorsepower_maxdriver$  r_   )r[   r   )"r   rd   rb   r   ra   rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  r$  r   r   rw   rg   )rh   r   rj   rj   rk   survey_report_step3  s8    rY  c             C   s`  d }t j tdd }d}d}d}d}d}d}d}	d}
d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}d}| jd r\tjjt| jd d}|j}|j	}|j
}|j}|j}|j}|j}	|j}
|j}|j}|j}|j}|j}|j}|j}|j}|j}|j}|j}|j}|j}|j}|j}|j}d}| jd dkrbt j | jd d	}tt!j"|j# }t!j"|j$rx|j$j# n|j# |kr|||||||	|
|||||||||||||||||j%d
}t&d|j$rt'|j$j(ddd d nt'|j(ddd d |dS t j | jd d	|_$| jd |_| jd |_	| jd |_
| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd  |_| jd! |_| jd" |_| jd# |_| jd$ |_| jd% |_| jd& |_| jd' |_| jd( |_%|j)  t&d)d*iS d S )+NrG   )r*  rY   r   )rm   r   r+  r   z%Y-%m-%d %H:%M:%S)rA  rB  rC  rE  rD  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  r$  r_   r,  r-  r.  )r[   r+  r  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  r$  r[   r|   )*rJ   r   rK   ra   r   rd   rb   r   rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  r/  r0  r1  r2  r+  r$  r   rw   r3  r   )rh   r   r   rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  r4  r5  r  rj   rj   rk   survey_report_step3_details  s    &
8
rZ  c             C   s  d}x | j jdD ]}||d 7 }qW d}x | j jdD ]}||d 7 }q8W d}x | j jdD ]}||d 7 }q^W tjjt| j d d}| j d |_| j d	 |_| j d
 |_| j d |_	|d d |_
| j jdd|_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_|d d |_| j jdd|_| j d |_| j d |_| j d |_|d d |_| j d |_| j d |_|j  tdt|jdS )NrY   fhf_location1,rf_location2tf_location3r   )rm   fhf_courses
fhf_length	fhf_widthfhf_construction1rG   fhf_construction1_other
rf_courses	rf_length
rf_number1rf_construction2fendering_condition_ratingfendering_conditionrf_construction2_other
tf_coursestf_size1tf_mounting1fendering_additional_commentaryr$  r_   )r[   r   ro  ro  )ra   getlistr   rd   rb   r   r_  r`  ra  rb  r[  rc  rd  re  rf  rg  rh  ri  r]  rj  rk  rl  rm  r^  rn  r$  r   r   rw   rg   )rh   fhf_locationsfhf_locationrf_locationsrf_locationtf_locationstf_locationr   rj   rj   rk   survey_report_step4  s@    rw  c       &      C   s@  d }t j tdd }d}d}d}d}d}d}d}	d}
d}d}d}d}d}d}d}d}d}d}d}g }| jd r<tjjt| jd d}|j}|j	}|j
}|j}|jjd}|j}|j}	|j}
|j}|j}|j}|j}|jjd}|j}|j}|j}|j}|jjd}|j}x6|jj D ](}|jtt j!t|jdd-  qW d}| jd	 d
kr~t j"| jd	 d}tt#j$|j% }t#j$|j&r|j&j% n|j% |kr|||||||	|
||||||||||||j'd}t(d|j&rt|j&j)ddd d nt|j)ddd d ||dS t j"| jd	 d|_&d}x"| jj*dD ]}||d 7 }qBW d}x"| jj*dD ]}||d 7 }qjW d}x"| jj*dD ]} || d 7 }qW tjjt| jd d}| jd |_| jd |_	| jd |_
| jd |_|d d. |_| jjdd|_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_|d d/ |_| jjd d|_| jd! |_| jd" |_| jd# |_|d d0 |_| jd$ |_| jd% |_'| jjd&j)d'dj)d(d}!|!jd}"|jj j+  x4|"D ],}#t j,d)|#}$t-jj.|$d*}%|jj/|% qW |j0  t(d+d,iS d S )1NrG   )r*  rY   r   )rm   r\     r   r+  r   z%Y-%m-%d %H:%M:%S)r_  r`  ra  rb  r[  rc  rd  re  rf  rg  rh  ri  r]  rj  rk  rl  rm  r^  rn  r$  r_   r,  r-  r.  )r[   r+  r  r   r[  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  r$  img_data[]zfendering_images/)r   r[   r|   ro  ro  ro  ro  )1rJ   r   rK   ra   r   rd   rb   r   r_  r`  ra  rb  r[  splitrc  rd  re  rf  rg  rh  ri  r]  rj  rk  rl  rm  r^  rn  r   r   rv   rw   rR   get_as_base64r/  r0  r1  r2  r+  r$  r   r3  rp  deleteapi_b64_aws_s3_image_postr   r(  addr   )&rh   r   r   r_  r`  ra  rb  r[  rc  rd  re  rf  rg  rh  ri  r]  rj  rk  rl  rm  r^  rn  r   r  r4  r5  r  rq  rr  rs  rt  ru  rv  ry  img_data_arr
image_dataurl
fnd_imagesrj   rj   rk   survey_report_step4_details  s    (&
8


r  c             C   s   dt tj  d }| jjd}|jdd}tjjt	j
t	jd}|jd}|jdj|tj|d	d
d t	j| }tjjt| jd d}tjjt |d}|jj| td|iS )Nzfendering_images/z.jpgr  r-  +)aws_access_key_idaws_secret_access_keys3dls2018z
image/jpegzpublic-read)KeyBodyContentTypeACLr   )rm   )r   r[   )rw   uuiduuid4ra   rb   r3  boto3sessionSessionrI   AWS_ACCESS_KEYAWS_SECRET_KEYresourceBucket
put_objectbase64	b64decode
AWS_S3_URLr   rd   r   r   r(  r   r  r   )rh   	file_namer  r  r  r  r   r  rj   rj   rk   survey_report_step4_image6  s    

r  c             C   s   dt tj  d }| jjd}|jdd}tjjt	j
t	jd}|jd}|jdj|tj|d	d
d t	j| }tjjt| jd d}tjjt |d}|jj| tdt |iS )Nzbulwarks_images/z.jpgr  r-  r  )r  r  r  r  z
image/jpegzpublic-read)r  r  r  r  r   )rm   )r   r[   )rw   r  r  ra   rb   r3  r  r  r  rI   r  r  r  r  r  r  r  r  r   rd   r   r	   r(  r   r  r   )rh   r  r  r  r  r  r   r  rj   rj   rk   survey_report_step5_imageM  s    

r  c             C   s  t jjt| jd d}|jj j  | jjdjd}| jjdrV| jjdjdnd}| jjdjd}| jjdjd}| jjd	jd}| jjd
jd}| jjdjd}| jjdr| jjdjdnd}	| jjdjd}
| jjdr| jjdjdnd}xt	|D ]|\}}t
jj|| |r8|| nd|| || || || || |	rf|	| nd|
| |r||| ndd
}|jj| qW | jd |_| jd |_| jd |_| jd |_|j  tdt|jdS )Nr   )rm   r   r\  r   rY   r   r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   bulwarks_descriptionbulwarks_condition_ratingbulwarks_conditionr$  r_   )r[   r   )r   rd   rb   r   ra   r   r   r~  r|  	enumerater
   r(  r  r  r  r  r$  r   r   rw   rg   )rh   r   bulwarks_deck_namesbulwarks_deck_name_othersbulwarks_deck_heightsbulwarks_deck_typesbulwarks_deck_materialsbulwarks_deck_capsbulwarks_deck_cap_dimensbulwarks_deck_cap_dimen_othersbulwarks_deck_stiffenerssbulwarks_deck_stiffeners_othersindexbulwarksr   rj   rj   rk   survey_report_step5e  s>    ""$r  c       '      C   s:  d }t j tdd }d}d}d}g }g }g }g }	g }
g }g }g }g }g }g }| jd r6tjjt| jd d}d}| jd dkrt j| jd d	}tt	j
|j }t	j
|jr|jj n|j |kr|j}|j}|j}x4|jj D ]&}|jttjt|jd
d'  qW x|jj D ]~}|j|j |j|j |	j|j |
j|j |j|j |j|j |j|j |j|j |j|j |j|j  q W t!d|jrt|jj"ddd d nt|j"ddd d |||||||	|
|||||||j#dS |jj j$  | jjdj%d}| jjdrF| jjdj%dnd}| jjdj%d}| jjdj%d}| jjdj%d}| jjdj%d}| jjdj%d}| jjdr| jjdj%dnd}| jjdj%d}| jjdr| jjdj%dnd}xt&|D ]|\}} t'jj(|| |r*|| nd|| || || || || |rX|| nd|| |rn|| ndd
}!|jj)|! qW | jd |_| jd |_| jd |_| jd |_#| jjd j"d!dj"d"d}"|"j%d}#|jj j$  x4|#D ],}$tj*d#|$}%t+jj(|%d$}&|jj)|& qW |j,  t!d%d&iS d S )(NrG   )r*  rY   r   )rm   r   r+  r   z%Y-%m-%d %H:%M:%Srx  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   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   r  r  r  r$  ry  rz  r{  zbulwarks_images/)r   r[   r|   ro  )-rJ   r   rK   ra   r   rd   rb   r   r/  r0  r1  r2  r+  r  r  r  r   r   rv   rw   rR   r}  r   r   r   r   r   r   r   r   r   r   r   r   r3  r$  r~  r|  r  r
   r(  r  r  r	   r   )'rh   r   r   r  r  r  r   r   r   r   r   r   r   r   r   r   r   r4  r5  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   ry  r  r  r  r  rj   rj   rk   survey_report_step5_details  s    $&8$$$

r  c             C   s   dt tj  d }| jjd}|jdd}tjjt	j
t	jd}|jd}|jdj|tj|d	d
d t	j| }tjjt| jd d}tjjt |d}|jj| tdt |iS )Nzcargo_rails_image/z.jpgr  r-  r  )r  r  r  r  z
image/jpegzpublic-read)r  r  r  r  r   )rm   )r   r[   )rw   r  r  ra   rb   r3  r  r  r  rI   r  r  r  r  r  r  r  r  r   rd   r   r   r(  r   r  r   )rh   r  r  r  r  r  r   r  rj   rj   rk   survey_report_step6_image  s    

r  c             C   s  t jjt| jd d}|jj j  | jjdjd}| jjdrV| jjdjdnd}| jjdjd}| jjdjd}| jjd	jd}| jjd
jd}| jjdjd}| jjdr| jjdjdnd}	| jjdjd}
xvt	|D ]j\}}t
jj|| |r|| nd|| || || || || |	rB|	| nd|
| d	}|jj| qW | jd |_| jd |_| jd |_| jd |_|j  tdt|jdS )Nr   )rm   r   r\  r   rY   r   r   r   r   r   r   r   )	r   r   r   r   r   r   r   r   r   cargorails_descriptioncargorails_condition_ratingcargorails_conditionr$  r_   )r[   r   )r   rd   rb   r   ra   r   r   r~  r|  r  r   r(  r  r  r  r  r$  r   r   rw   rg   )rh   r   cargorails_deck_namescargorails_deck_name_otherscargorails_deck_heightscargorails_deck_materialscargorails_deck_constructionscargorails_deck_capscargorails_deck_cap_dimens cargorails_deck_cap_dimen_otherscargorails_deck_stiffenerssr  
cargorailsr   rj   rj   rk   survey_report_step6#  s:    ""r  c       %      C   s  d }t j tdd }d}d}d}g }g }g }g }	g }
g }g }g }g }g }| jd rtjjt| jd d}d}| jd dkrt j| jd d	}tt	j
|j }t	j
|jr|jj n|j |kr|j}|j}|j}x4|jj D ]&}|jttjt|jd
d&  qW x|jj D ]r}|j|j |j|j |	j|j |
j|j |j|j |j|j |j|j |j|j |j|j qW t d|jrt|jj!ddd d nt|j!ddd d |||||||	|
||||||j"dS |jj j#  | jjdj$d}| jjdr4| jjdj$dnd}| jjdj$d}| jjdj$d}| jjdj$d}| jjdj$d}| jjdj$d}| jjdr| jjdj$dnd}| jjdj$d}xxt%|D ]l\}}t&jj'|| |r|| nd|| || || || || |r"|| nd|| d	}|jj(| qW | jd |_| jd |_| jd |_| jd |_"| jjdj!d dj!d!d} | j$d}!|jj j#  x4|!D ],}"tj)d"|"}#t*jj'|#d#}$|jj(|$ qW |j+  t d$d%iS d S )'NrG   )r*  rY   r   )rm   r   r+  r   z%Y-%m-%d %H:%M:%Srx  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   r   r   r   )	r   r   r   r   r   r   r   r   r   r  r  r  r$  ry  rz  r{  zcargo_rails_image/)r   r[   r|   ro  ),rJ   r   rK   ra   r   rd   rb   r   r/  r0  r1  r2  r+  r  r  r  r   r   rv   rw   rR   r}  r   r   r   r   r   r   r   r   r   r   r   r3  r$  r~  r|  r  r   r(  r  r  r   r   )%rh   r   r   r  r  r  r   r   r   r   r   r   r   r   r   r   r4  r5  r  r  r  r  r  r  r  r  r  r  r  r  r  r   ry  r  r  r  r  rj   rj   rk   survey_report_step6_detailsL  s    $&8$$

r  c             C   s   dt tj  d }| jjd}|jdd}tjjt	j
t	jd}|jd}|jdj|tj|d	d
d t	j| }tjjt| jd d}tjjt |d}|jj| tdt |iS )Nzdeck_fitting_images/z.jpgr  r-  r  )r  r  r  r  z
image/jpegzpublic-read)r  r  r  r  r   )rm   )r   r[   )rw   r  r  ra   rb   r3  r  r  r  rI   r  r  r  r  r  r  r  r  r   rd   r   r   r(  r   r  r   )rh   r  r  r  r  r  r   r  rj   rj   rk   survey_report_step7_image  s    

r  c          
   C   s  t jjt| jd d}|jj j  | jjdrD| jjdjdnd}| jjdrf| jjdjdnd}| jjdr| jjdjdnd}| jjdr| jjdjdnd}| jjd	r| jjd	jdnd}| jjd
r| jjd
jdnd}| jjdr| jjdjdnd}xt	|D ]\}	}
t
jj|r<||	 nd|rL||	 nd|r\||	 nd|rl||	 nd|r|||	 nd|r||	 nd|r||	 ndd}|jj| q W | jd |_| jd |_| jd |_| jd |_|j  tdt|jdS )Nr   )rm   r   r\  rY   r   r   r   r   r   r   )r   r   r   r   r   r   r   deck_fittings_descriptiondeck_fittings_condition_ratingdeck_fittings_conditionr$  r_   )r[   r   )r   rd   rb   r   ra   r   r   r~  r|  r  r   r(  r  r  r  r  r$  r   r   rw   rg   )rh   r   df_deck_namesdf_deck_name_othersdf_fittingssdf_fittings_others
df_numbersdf_sizesdf_locationsr  r  r   rj   rj   rk   survey_report_step7  s2    """"""$r  c              C   s,  d }t j tdd }d}d}d}g }g }g }g }	g }
g }g }g }| jd r(tjjt| jd d}d}| jd dkrt j| jd d	}tt	j
|j }t	j
|jr|jj n|j |kr|j}|j}|j}x4|jj D ]&}|jttjt|jd
d$  qW xh|jj D ]Z}|j|j |j|j |	j|j |
j|j |j|j |j|j |j|j qW td|jrt|jjddd d nt|jddd d |||||||	|
||||j dS |jj j!  | jjdr| jjdj"dnd}| jjdr"| jjdj"dnd}| jjdrF| jjdj"dnd}| jjdrj| jjdj"dnd}| jjdr| jjdj"dnd}| jjdr| jjdj"dnd}| jjdr| jjdj"dnd}xt#|D ]\}}t$jj%|r || nd|r|| nd|r || nd|r0|| nd|r@|| nd|rP|| nd|r`|| ndd}|jj&| qW | jd |_| jd |_| jd |_| jd |_ | jjdjddjdd}|j"d}|jj j!  x4|D ],}tj'd |}t(jj%|d!}|jj&| qW |j)  td"d#iS d S )%NrG   )r*  rY   r   )rm   r   r+  r   z%Y-%m-%d %H:%M:%Srx  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   r   r   r   r   r   r   r  r  r  r$  ry  rz  r{  zdeck_fitting_images/)r   r[   r|   ro  )*rJ   r   rK   ra   r   rd   rb   r   r/  r0  r1  r2  r+  r  r  r  r   r   rv   rw   rR   r}  r   r   r   r   r   r   r   r   r   r3  r$  r~  r|  r  r   r(  r  r  r   r   ) rh   r   r   r  r  r  r   r
  r  r  r  r  r  r  r4  r5  r  r  r  r  r  r  r  r  r  r  r   ry  r  r  r  r  rj   rj   rk   survey_report_step7_details  s    $&8$$$$$$$

r  c             C   s   dt tj  d }| jjd}|jdd}tjjt	j
t	jd}|jd}|jdj|tj|d	d
d t	j| }tjjt| jd d}tjjt |d}|jj| tdt |iS )Nzground_tackle_images/z.jpgr  r-  r  )r  r  r  r  z
image/jpegzpublic-read)r  r  r  r  r   )rm   )r   r[   )rw   r  r  ra   rb   r3  r  r  r  rI   r  r  r  r  r  r  r  r  r   rd   r   r   r(  r   r  r   )rh   r  r  r  r  r  r   r  rj   rj   rk   survey_report_step8_imagef  s    

r  c             C   sd   t jjt| jd d}| jd |_| jd |_| jd |_| jd |_|j	  t
dt|jdS )	Nr   )rm   ground_tackle_descriptionground_tackle_condition_ratingground_tackle_conditionr$  r_   )r[   r   )r   rd   rb   r   ra   r  r  r  r$  r   r   rw   rg   )rh   r   rj   rj   rk   survey_report_step8}  s    r  c             C   s  d }t j tdd }d}d}d}g }| jd rtjjt| jd d}d}| jd dkrt j| jd d	}tt	j
|j }t	j
|jr|jj n|j |kr|j}|j}|j}x4|jj D ]&}	|jttjt|	jd
d  qW td|||||jdS | jd |_| jd |_| jd |_| jd |_| jjdjddjdd}
|
jd}|jj j  x4|D ],}tjd|}tjj|d}|jj| qnW |j  tddiS d S )NrG   )r*  rY   r   )rm   r   r+  r   z%Y-%m-%d %H:%M:%Srx  r_   )r[   r  r  r  r   r$  r  r  r  r$  ry  rz  r{  r\  zground_tackle_images/)r   r[   r|   ro  ) rJ   r   rK   ra   r   rd   rb   r   r/  r0  r1  r2  r+  r  r  r  r   r   rv   rw   rR   r}  r   r$  r3  r|  r~  r  r   r(  r  r   )rh   r   r   r  r  r  r   r4  r5  r  ry  r  r  r  r  rj   rj   rk   survey_report_step8_details  sP    $&

r  c             C   s   dt tj  d }| jjd}|jdd}tjjt	j
t	jd}|jd}|jdj|tj|d	d
d t	j| }tjjt| jd d}tjjt |d}|jj| tdt |iS )Nzhull_comp_images/z.jpgr  r-  r  )r  r  r  r  z
image/jpegzpublic-read)r  r  r  r  r   )rm   )r   r[   )rw   r  r  ra   rb   r3  r  r  r  rI   r  r  r  r  r  r  r  r  r   rd   r   r   r(  r   r  r   )rh   r  r  r  r  r  r   r  rj   rj   rk   survey_report_step9_image  s    

r  c             C   sP   | j jdjddjdd}|jd}x|D ]}tjd|}q,W tdt|iS )Nry  rz  rY   r{  r\  zfendering_images/count)ra   rb   r3  r|  rR   r  r   len)rh   ry  r  ir  rj   rj   rk   	test_json  s
    

r  c             C   s  t jjt| jd d}| jjdd|_| jd |_y|jj j	  | jjddd }t
j|jdd}| jjd	dd }t
j|jdd}xJt|D ]>\}}x4t|D ](\}}tjj|| |d
}|jj| qW qW W n   Y nX |jj j	  | jjdr| jjdjdnd}| jjdr>| jjdjdnd}	| jjdrb| jjdjdnd}
| jjdr| jjdjdnd}xnt|D ]b\}}tjj|r|| nd|	r|	| nd|
r|
| nd|r|| ndd}|jj| qW |jj j	  | jjdr(| jjdjdnd}| jjdrL| jjdjdnd}| jjdrp| jjdjdnd}x^t|D ]R\}}tjj|r|| nd|r|| nd|r|| ndd}|jj| q~W tj |_|j  tdt|jdS )Nr   )rm   additional_commentsrY   r$  outer_bulletrG   \inner_bullet)r  r  r   r\  hc_tank_type_otherr   r   )r   r  r   r   r   r   r   )r   r   r   r_   )r[   r   ro  ro  )r   rd   rb   r   ra   hc_additional_commentaryr$  hull_comp_descriptionr   r~  astliteral_evalr3  r  r   r(  r  r   r|  r   r   r   rM   r   completed_onr   r   rw   rg   )rh   r   r  r  jkvalr  hc_tank_typeshc_tank_type_othersr   r   r  r  r   hc_capacity_typeshc_capacity_volshc_capacity_unitssr   rj   rj   rk   survey_report_step9  sT    $$$$$$$
r  c       *      C   s  d }t j tdd }d}g }g }g }g }g }g }	g }
g }g }| jd rtjjt| jd d}d}| jd dkrt j| jd d	}tt	j
|j }t	j
|jr|jj n|j |kr6|j}xX|jjd
ddj D ]@}|j| g }x"|jj|dD ]}|j|j qW |j| qW xD|jj D ]6}|j|j |j|j |	j|j |j|j q(W x8|jj D ]*}|
j|j |j|j |j|j qnW g }x6|jj D ](}|jtt j!t|jdd*  qW t"d|jrt|jj#ddd d nt|j#ddd d |||||||	|
||||j$dS | jjdd|_| jd |_$y|jj j%  | jjd
dd+ }t&j'|j#dd}| jjddd, }t&j'|j#dd}xNt(|D ]B\}}x6t(|D ]*\}}t)jj*|| |d}|jj+| qW qW W n   Y nX |jj j%  | jjdr<| jjdj,dnd}| jjdr`| jjdj,dnd}| jjdr| jjdj,dnd}| jjdr| jjdj,dnd}xnt(|D ]b\}}t-jj*|r|| nd|r|| nd|r|| nd|r|| ndd} |jj+|  qW |jj j%  | jjdrJ| jjdj,dnd}!| jjd rn| jjd j,dnd}"| jjd!r| jjd!j,dnd}#x^t(|!D ]R\}}t.jj*|!r|!| nd|"r|"| nd|#r|#| ndd"}$|jj+|$ qW | jjd#j#d$dj#d%d}%|%j,d}&|jj j%  x4|&D ],}'t j/d&|'}(t0jj*|(d'})|jj+|) q0W t j| jd d	|_|j1  t"d(d)iS d S )-NrG   )r*  rY   r   )rm   r   r+  r   z%Y-%m-%d %H:%M:%Sr  T)flat)Zouter_bullet__exactrx  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  r   r   )r   r  r   r   r   r   r   )r   r   r   ry  rz  r{  zhull_comp_images/)r   r[   r|   ro  ro  ro  )2rJ   r   rK   ra   r   rd   rb   r   r/  r0  r1  r2  r+  r  r  values_listdistinctrv   r}   r  r   r   r   r   r   r  r   r   r   r   r   rw   rR   r}  r   r3  r$  r~  r  r  r  r   r(  r  r|  r   r   r  r   r   )*rh   r   r   r  r  r  r  r  r  r  r  r  r  r4  r5  brinner_bullet_ininnerr   r!  r   r  r  r  r  r  r  r  r   r   r  r  r   r  r  r  r   ry  r  r  r  r  rj   rj   rk   survey_report_step9_details&  s    $
(8$$$$$$$

r  c       #      C   s  t jjt| jd d}| jd |_| jd |_| jd |_| jd |_|j	j
 j  | jjddd* }tj|jd	d
}| jjddd+ }tj|jd	d
}xJt|D ]>\}}x4t|D ](\}}tjj|| |d}|j	j| qW qW |jj
 j  | jjddd, }tj|jd	d
}| jjddd- }	tj|	jd	d
}	xNt|	D ]B\}}	x6t|	D ]*\}}tjj|| |d}
|jj|
 qdW qRW |jj
 j  | jjddd. }tj|jd	d
}| jjddd/ }tj|jd	d
}xNt|D ]B\}}x6t|D ]*\}}tjj|| |d}|jj| qW qW |jj
 j  | jjddd0 }tj|jd	d
}| jjddd1 }tj|jd	d
}xNt|D ]B\}}x6t|D ]*\}}tjj|| |d}|jj| qW qW |jj
 j  | jjddd2 }tj|jd	d
}| jjddd3 }tj|jd	d
}xNt|D ]B\}}x6t|D ]*\}}tjj|| |d}|jj| qbW qPW |jj
 j  | jjddd4 }tj|jd	d
}| jjddd5 }tj|jd	d
}xNt|D ]B\}}x6t|D ]*\}}tjj|| |d}|jj| qW qW |jj
 j  | jjddd6 }tj|jd	d
}| jjddd7 }tj|jd	d
}xNt|D ]B\}}x6t|D ]*\}}tjj|| |d}|jj| qW qW |jj
 j  | jjddd8 }tj|jd	d
}| jjd dd9 }tj|jd	d
}xNt|D ]B\}}x6t|D ]*\}}t jj|| |d!}|jj| q`W qNW |j!j
 j  | jjd"dd: }tj|jd	d
}| jjd#dd; }tj|jd	d
}xNt|D ]B\}}x6t|D ]*\}}t"jj|| |d$}|j!j| q
W qW |j#j
 j  | jjd%dd< } tj| jd	d
} | jjd&dd= }!tj|!jd	d
}!xNt|!D ]B\}}!x6t|!D ]*\}}t$jj| | |d'}"|j#j|" qW qW |j%  t&d(t'|j(d)S )>Nr   )rm   dh_descriptiondha_condition_ratingdha_conditionr$  r   rG   r  rY   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   dh_hrr_outer_bulletdh_hrr_inner_bullet)r  r  dh_psf_outer_bulletdh_psf_inner_bullet)r  r  dh_odhc_outer_bulletdh_odhc_inner_bullet)r  r  r_   )r[   r   ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ))r   rd   rb   r   ra   r  r  r  r$  r   r   r~  r  r  r3  r  r   r(  r  r  r   r  r   r  r   r  r   r  r   r  r   helo_reception_roomr    public_sanitary_facilitiesr!   other_deck_house_categoryr"   r   r   rw   rg   )#rh   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  r  r  r  r  r  r  r  rj   rj   rk   survey_report_step10  s    r  c       3      C   s  d }t j tdd }d}d}d}g }g }g }g }	g }
g }g }g }g }g }g }g }g }g }g }g }g }g }g }g }| jd rtjjt| jd d}d}| jd dkrt j| jd d	}tt	j
|j }t	j
|jr|jj n|j |krb|j}|j}|j}x\|jjd
ddj D ]D}|j| g }x$|jj|dD ]}|j|j q:W |j| qW x\|jjdddj D ]D}|j| g }x$|jj|dD ]}|j|j qW |	j| qvW x\|jjdddj D ]D}|
j| g }x$|jj|dD ]}|j|j qW |j| qW x\|jjdddj D ]D}|j| g }x$|jj|dD ]}|j|j qTW |j| q2W x\|jjdddj D ]D}|j| g }x$|jj|dD ]}|j|j qW |j| qW x\|jjdddj D ]D}|j| g }x$|jj|dD ]}|j|j qW |j| qW x\|j jdddj D ]D}|j| g }x$|j j|dD ]}|j|j! qnW |j| qLW x\|j"jdddj D ]D}|j| g }x$|j"j|dD ]}|j|j# qW |j| qW x\|j$jdddj D ]D}|j| g }x$|j$j|dD ]}|j|j% q*W |j| qW x\|j&jdddj D ]D}|j| g }x$|j&j|dD ]}|j|j' qW |j| qfW g }x6|j(j) D ](} |jt*t+j,t*| j(d dG  qW t-d!|jrt*|jj.d"d#d d$ nt*|j.d"d#d d$ |||||||	|
|||||||||||||||||j/d%S | jd& |_| jd' |_| jd( |_| jd) |_/|jj) j0  | jjd
ddH }t1j2|j.d*d}| jjd+ddI }t1j2|j.d*d}xNt3|D ]B\}!}x6t3|D ]*\}"}#t4jj5||! |#d,}$|jj6|$ qW qW |jj) j0  | jjdddJ }t1j2|j.d*d}| jjd-ddK }	t1j2|	j.d*d}	xNt3|	D ]B\}!}	x6t3|	D ]*\}"}#t7jj5||! |#d.}%|jj6|% qW qW |jj) j0  | jjdddL }
t1j2|
j.d*d}
| jjd/ddM }t1j2|j.d*d}xNt3|D ]B\}!}x6t3|D ]*\}"}#t8jj5|
|! |#d0}&|jj6|& q\W qJW |jj) j0  | jjdddN }t1j2|j.d*d}| jjd1ddO }t1j2|j.d*d}xNt3|D ]B\}!}x6t3|D ]*\}"}#t9jj5||! |#d2}'|jj6|' qW qW |jj) j0  | jjdddP }t1j2|j.d*d}| jjd3ddQ }t1j2|j.d*d}xNt3|D ]B\}!}x6t3|D ]*\}"}#t:jj5||! |#d4}(|jj6|( qW qW |jj) j0  | jjdddR }t1j2|j.d*d}| jjd5ddS }t1j2|j.d*d}xNt3|D ]B\}!}x6t3|D ]*\}"}#t;jj5||! |#d6})|jj6|) 	qZW 	qHW |j j) j0  | jjdddT }t1j2|j.d*d}| jjd7ddU }t1j2|j.d*d}xNt3|D ]B\}!}x6t3|D ]*\}"}#t<jj5||! |#d8}*|j j6|* 
qW 	qW |j"j) j0  | jjdddV }t1j2|j.d*d}| jjd9ddW }t1j2|j.d*d}xNt3|D ]B\}!}x6t3|D ]*\}"}#t=jj5||! |#d:}+|j"j6|+ 
qW 
qW |j$j) j0  | jjdddX }t1j2|j.d*d}| jjd;ddY }t1j2|j.d*d}xNt3|D ]B\}!}x6t3|D ]*\}"}#t>jj5||! |#d<},|j$j6|, qXW qFW |j&j) j0  | jjdddZ }t1j2|j.d*d}| jjd=dd[ }t1j2|j.d*d}xNt3|D ]B\}!}x6t3|D ]*\}"}#t?jj5||! |#d>}-|j&j6|- qW qW | jjd?j.d@dj.dAd}.|.j@dB}/|j(j) j0  x4|/D ],}0t+jAdC|0}1tBjj5|1dD}2|j(j6|2 qpW t j| jd d	|_|jC  t-dEdFiS d S )\NrG   )r*  rY   r   )rm   r   r+  r   z%Y-%m-%d %H:%M:%Sr   T)r  )Zdh_bc_outer_bullet__exactr   )Zdh_g_outer_bullet__exactr   )Zdh_md_outer_bullet__exactr   )Zdh_l_outer_bullet__exactr   )Zdh_h_outer_bullet__exactr   )Zdh_rr_outer_bullet__exactr   )Zdh_tr_outer_bullet__exactr  )Zdh_hrr_outer_bullet__exactr  )Zdh_psf_outer_bullet__exactr  )Zdh_odhc_outer_bullet__exactrx  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  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   r   )r   r   r  )r  r  r  )r  r  r  )r  r  ry  rz  r{  r\  zdeck_house_images/)r   r[   r|   ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  )DrJ   r   rK   ra   r   rd   rb   r   r/  r0  r1  r2  r+  r  r  r  r   r  r  rv   r}   r   r  r   r  r   r  r   r  r   r  r   r  r   r  r  r  r  r  r  r   r   rw   rR   r}  r   r3  r$  r~  r  r  r  r   r(  r  r   r   r   r   r   r   r    r!   r"   r|  r  r   r   )3rh   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  r4  r5  r  r  r  r   r  r  r  r  r   r  r  r  r  r  r  r  r  r  ry  r  r  r  r  rj   rj   rk   survey_report_step10_detailsG  s   $









(8

r   c             C   s   dt tj  d }| jjd}|jdd}tjjt	j
t	jd}|jd}|jdj|tj|d	d
d t	j| }tjjt| jd d}tjjt |dd}|jj| tdt |iS )Nzdeck_house_images/z.jpgr  r-  r  )r  r  r  r  z
image/jpegzpublic-read)r  r  r  r  r   )rm   rY   )r   deck_house_image_captionr[   )rw   r  r  ra   rb   r3  r  r  r  rI   r  r  r  r  r  r  r  r  r   rd   r   r   r(  r   r  r   )rh   r  r  r  r  r  r   r  rj   rj   rk   survey_report_step10_image	  s    

r  c             C   s   t jjt| jd d}| jd |_| jd |_| jd |_| jd |_|j	j
 j  | jjdrztj| jjdjdnd	}xBt|D ]6\}}|d	krtjj|r|| nd	d
}|j	j| qW |j  tdt|jdS )Nr   )rm   ph_descriptionpe_condition_ratingpe_conditionr$  r   r\  rY   )r   r_   )r[   r   )r   rd   rb   r   ra   r  r  r  r$  r  r   r~  rR   str_replacer|  r  r#   r(  r  r   r   rw   rg   )rh   r   r   r  xr  rj   rj   rk   survey_report_step11	  s    (r  c          
   C   s  d }t j tdd }d}d}d}g }| jd rtjjt| jd d}d}| jd dkrt j| jd d	}tt	j
|j }t	j
|jr|jj n|j |krb|j}|j}|j}x|jj D ]}	|j|	j qW g }
x4|jj D ]&}|
jttjt|jd
d  qW td|jr6t|jjddd d nt|jddd d |||||
|jdS | jd |_| jd |_| jd |_| jd |_|jj j  | jjdrtj| jjdjdnd}xHt|D ]<\}}|dkrtjj |r|| ndd}|jj!| qW | jjdjddjdd}|jd}|jj j  x4|D ],}tj"d|}t#jj |d}|jj!| qNW t j| jd d	|_|j$  tddiS d S )NrG   )r*  rY   r   )rm   r   r+  r   z%Y-%m-%d %H:%M:%Srx  r_   r,  r-  r.  )r[   r+  r  r  r  r   r   r$  r  r  r  r$  r   r\  )r   ry  rz  r{  zpilot_house_images/)r   r[   r|   ro  )%rJ   r   rK   ra   r   rd   rb   r   r/  r0  r1  r2  r+  r  r  r  r  r   rv   r   r   rw   rR   r}  r   r3  r$  r~  r  r|  r  r#   r(  r  r  r   r   )rh   r   r   r  r  r  r   r4  r5  r   r   r  r  r  r  ry  r  r  r  r  rj   rj   rk   survey_report_step11_details	  sj    $&8*


r	  c             C   s   dt tj  d }| jjd}|jdd}tjjt	j
t	jd}|jd}|jdj|tj|d	d
d t	j| }tjjt| jd d}tjjt |dd}|jj| tdt |iS )Nzpilot_house_images/z.jpgr  r-  r  )r  r  r  r  z
image/jpegzpublic-read)r  r  r  r  r   )rm   rY   )r   pilot_house_image_captionr[   )rw   r  r  ra   rb   r3  r  r  r  rI   r  r  r  r  r  r  r  r  r   rd   r   r   r(  r   r  r   )rh   r  r  r  r  r  r   r  rj   rj   rk   survey_report_step11_image
  s    

r  c             C   s   t jjt| jd d}| jd |_| jd |_| jd |_| jd |_| jd |_	| jd |_
| jd	 |_| jd
 |_| jd |_|j  ttjdt|jiS )Nr   )rm   ssc_conditionptc_conditionpdc_conditionfdc_conditionmdc_conditionosec_conditionseo_condition_ratingseo_conditionr$  )r   rd   rb   r   ra   r  r  r  r  r  r  r  r  r$  r   r   r   dumpsrw   rg   )rh   r   rj   rj   rk   survey_report_step12
  s    r  c          
   C   sb  d }t j tdd }| jd r^tjjt| jd d}d}| jd dkrpt j| jd d}tt	j
|j }t	j
|jr|jj n|j |kr`|j}|j}|j}|j}|j}	|j}
|j}|j}|||||	|
|||jd		}g }x4|jj D ]&}|jttjt|jd
d"  qW td|jr>t|jjddd d nt|jddd d ||dS | jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jjdjddjdd}|jd}|jj j  x4|D ],}tj d|}t!jj"|d}|jj#| qW t j| jd d|_|j$  td d!iS d S )#NrG   )r*  r   )rm   r   r+  r   z%Y-%m-%d %H:%M:%S)	r  r  r  r  r  r  r  r  r$  rx  r_   r,  r-  r.  )r[   r+  r  r   r  r  r  r  r  r  r  r  r$  ry  rz  rY   r{  r\  zsuper_structure_images/)r   r[   r|   ro  )%rJ   r   rK   ra   r   rd   rb   r   r/  r0  r1  r2  r+  r  r  r  r  r  r  r  r  r$  r   r   rv   rw   rR   r}  r   r3  r|  r~  r  r   r(  r  r   )rh   r   r   r4  r5  r  r  r  r  r  r  r  r  r  r   r  ry  r  r  r  r  rj   rj   rk   survey_report_step12_details.
  sn    $
&8


r  c             C   s   dt tj  d }| jjd}|jdd}tjjt	j
t	jd}|jd}|jdj|tj|d	d
d t	j| }tjjt| jd d}tjjt |dd}|jj| tdt |iS )Nzsuper_structure_images/z.jpgr  r-  r  )r  r  r  r  z
image/jpegzpublic-read)r  r  r  r  r   )rm   rY   )r   super_structure_image_captionr[   )rw   r  r  ra   rb   r3  r  r  r  rI   r  r  r  r  r  r  r  r  r   rd   r   r   r(  r   r  r   )rh   r  r  r  r  r  r   r  rj   rj   rk   survey_report_step12_image|
  s    

r  c       	      C   sr  t jjt| jd d}| jd |_| jd |_| jd |_| jd |_| jd |_	| jd |_
| jd	 |_| jd
 |_|jj j  | jjddd }tj|jdd}| jjddd }tj|jdd}| jjddd }tj|jdd}xXt|D ]L\}}x@t|D ]4\}}tjj|| ||| | d}|jj| qW qW |j  ttjdt|jiS )Nr   )rm   m_mpm_descriptionm_mpm_condition_ratingm_mpm_conditionm_eo_descriptionm_eo_condition_ratingm_se_descriptionm_se_condition_ratingr$  r   rG   r  rY   r   r   )r   r   r   ro  ro  ro  )r   rd   rb   r   ra   r  r  r  r  r  r  r  r$  r  r   r~  r  r  r3  r  r$   r(  r  r   r   r   r  rw   rg   )	rh   r   r   r   r   r  r  r  r  rj   rj   rk   survey_report_step13
  s2    r   c             C   s  d }t j tdd }d}d}d}d}d}d}d}	g }
g }g }| jd rtjjt| jd d}d}| jd dkrt j| jd d	}tt	j
|j }t	j
|jr|jj n|j |kr|j}|j}|j}|j}|j}|j}|j}	xt|jjd
ddj D ]\}|
j| g }g }x0|jj|dD ]}|j|j |j|j q"W |j| |j| qW g }x6|jj D ](}|jttjt|jdd(  qlW t d|jrt|jj!ddd d nt|j!ddd d |||||||	|
||t|j"dS | jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_"|jj j#  | jjd
dd) }
t$j%|
j!dd}
| jjddd* }t$j%|j!dd}| jjddd+ }t$j%|j!dd}xXt&|D ]L\}}x@t&|D ]4\}}t'jj(|
| ||| | d}|jj)| qW qW | jjd j!d!dj!d"d}|j*d#}|jj j#  x4|D ],}tj+d$|}t,jj(|d%}|jj)| qjW t j| jd d	|_|j-  t d&d'iS d S ),NrG   )r*  rY   r   )rm   r   r+  r   z%Y-%m-%d %H:%M:%Sr   T)r  )Zm_am_outer_bullet__exactrx  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  r   r   )r   r   r   ry  rz  r{  r\  zmachinary_images/)r   r[   r|   ro  ro  ro  ro  ).rJ   r   rK   ra   r   rd   rb   r   r/  r0  r1  r2  r+  r  r  r  r  r  r  r  r  r  r  rv   r}   r   r   r   r   rw   rR   r}  r   r3  r$  r~  r  r  r  r$   r(  r  r|  r  r   r   )rh   r   r   r  r  r  r  r  r  r  r   r   r   r4  r5  r  r  Zinner_bullet_in_ratingr  r   r  r  r  r  r  ry  r  r  r  r  rj   rj   rk   survey_report_step13_details
  s    $

(8

r!  c             C   s   dt tj  d }| jjd}|jdd}tjjt	j
t	jd}|jd}|jdj|tj|d	d
d t	j| }tjjt| jd d}tjjt |dd}|jj| tdt |iS )Nzmachinary_images/z.jpgr  r-  r  )r  r  r  r  z
image/jpegzpublic-read)r  r  r  r  r   )rm   rY   )r   machinary_image_captionr[   )rw   r  r  ra   rb   r3  r  r  r  rI   r  r  r  r  r  r  r  r  r   rd   r   r   r(  r   r  r   )rh   r  r  r  r  r  r   r  rj   rj   rk   survey_report_step13_image%  s    

r#  c       	      C   sj  t jjt| jd d}| jd |_| jd |_| jd |_| jd |_| jd |_	| jd |_
| jd	 |_|jj j  | jjd
dd }tj|jdd}| jjddd }tj|jdd}xJt|D ]>\}}x4t|D ](\}}tjj|| |d}|jj| qW qW tjjt|jd}tj |_|jdkrBd|_|j  |j  ttjdt |j!iS )Nr   )rm   sed_descriptioncod_descriptionservice_descriptionhull_condition_ratingloc_dat_surveyhull_conditionr$  r   rG   r  rY   r   )r   r   r      ro  ro  )"r   rd   rb   r   ra   r$  r%  r&  r'  r(  r)  r$  r	  r   r~  r  r  r3  r  r%   r(  r  r   r   rJ   r   survey_complater   r   r   r   r  rw   rg   )	rh   r   r   r   r  r  r  r	  assign_vessel_detailsrj   rj   rk   survey_report_step14<  s4    
r-  c             C   s^  d }t j tdd }d}d}d}d}d}d}g }	g }
| jd rZtjjt| jd d}d}| jd dkrt j| jd d	}tt	j
|j }t	j
|jr|jj n|j |kr|j}|j}|j}|j}|j}|j}xZ|jjd
ddj D ]B}|	j| g }x$|jj|dD ]}|j|j qW |
j| qW g }x6|jj D ](}|jttjt|jdd&  qDW td|jrt|jjddd d nt|jddd d |||||||	|
t|j dS | jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_ |jj j!  | jjd
dd' }	t"j#|	jdd}	| jjddd( }
t"j#|
jdd}
xNt$|
D ]B\}}
x6t$|
D ]*\}}t%jj&|	| |d}|jj'| qW qW | jjdjddjd d}|j(d!}|jj j!  x4|D ],}tj)d"|}t*jj&|d#}|jj'| qW t j| jd d	|_|j+  td$d%iS d S ))NrG   )r*  rY   r   )rm   r   r+  r   z%Y-%m-%d %H:%M:%Sr   T)r  )Zrecom_outer_bullet__exactrx  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   ry  rz  r{  r\  zsafety_equipment_images/)r   r[   r|   ro  ro  ro  ),rJ   r   rK   ra   r   rd   rb   r   r/  r0  r1  r2  r+  r$  r%  r&  r'  r(  r)  r	  r  r  rv   r}   r   r   r   rw   rR   r}  r   r3  r$  r~  r  r  r  r%   r(  r  r|  r  r   r   )rh   r   r   r$  r%  r&  r'  r(  r)  r   r   r4  r5  r  r  r  r   r  r  r  r  r	  ry  r  r  r  r  rj   rj   rk   survey_report_step14_detailsf  s    $
(8

r.  c             C   s   dt tj  d }| jjd}|jdd}tjjt	j
t	jd}|jd}|jdj|tj|d	d
d t	j| }tjjt| jd d}tjjt |dd}|jj| tdt |iS )Nzsafety_equipment_images/z.jpgr  r-  r  )r  r  r  r  z
image/jpegzpublic-read)r  r  r  r  r   )rm   rY   )r   safety_equipment_image_captionr[   )rw   r  r  ra   rb   r3  r  r  r  rI   r  r  r  r  r  r  r  r  r   rd   r   r   r(  r   r  r   )rh   r  r  r  r  r  r   r  rj   rj   rk   survey_report_step14_image  s    

r0  c             C   s  d }| j d dkrtjjt| j d d}| j d |_| j d |_| j d |_| j d |_| j d |_	| j d	 |_
| j d
 |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_|j  ntjjtjjt| j d djtjjt| j d dtj | j d | j d | j d | j d | j d | j d	 | j d
 | j d | j d | j d | j d | j d | j d | j d | j d d}tdt|jiS )Nr   r   )rm   survey_b_locationsurvey_b_location_other
barge_typecargo_covers_numcargo_covers_typewing_compartmentsvoid_bow_compartmentsvoid_stern_compartmentsbarg_dimentions_lengthbarg_dimentions_widthbarg_dimentions_heightbarge_coaming_numbarge_covers_catbarge_covers_cat_otherb_gd_extra_noter   )r%  r&  r'  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  )ra   r&   rd   rb   r   r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  r   r(  r   r%  rM   r   r   rw   rg   )rh   survey_report_bargerj   rj   rk   survey_report_barge_step1  sN    
rA  c             C   s  d }t j tdd }| jd rtjjt| jd d}d}| jd dkrpt j| jd d}tt	j
|j }t	j
|jr|jj n|j |kr|j|j|j|j|j|j|j|j|j|j|j|j|j|j|jd	}td
|jrt|jjddd d nt|jddd d |dS | jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_t j| jd d|_|j  tddiS ntjj t!jjt| jd  dj"t!jjt| jd  dt#j | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd d!}tdt|j$d"S d S )#NrG   )r*  r   )rm   r   r+  r   z%Y-%m-%d %H:%M:%S)r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  r_   r,  r-  r.  )r[   r+  r  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  r[   r|   r   )r%  r&  r'  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  )r[   r   )%rJ   r   rK   ra   r&   rd   rb   r   r/  r0  r1  r2  r+  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  r   rw   r3  r   r(  r   r%  rM   rg   )rh   r@  r   r4  r5  r  rj   rj   rk   !survey_report_barge_step1_details  s    $
6
rB  c          	   C   s  t jjt| jd d}| jd |_| jd |_| jd |_| jd |_| jd |_	| jd |_
| jd	 |_| jd
 |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_|jj j  | jjdrtj| jjdjdnd}| jjdrtj| jjdjdnd}| jjdrFtj| jjdjdnd}| jjdrptj| jjdjdnd}| jjdrtj| jjdjdnd}xt|D ]\}}|dkrtjj|t|k r|| nd|t|k r|| nd|t|k r|| nd|t|k r,t|| dkr,dnd|t|k rD|| ndd}	|jj|	 qW |jj j  | jjdrtj| jjdjdnd}
| jjdrtj| jjdjdnd}| jjdrtj| jjdjdnd}| jjdrtj| jjdjdnd}| jjdr:tj| jjdjdnd}xt|
D ]\}}|dkrHt jj|t|
k rv|
| nd|t|k r|| nd|t|k r|| nd|t|k rt|| dkrdnd|t|k r|| ndd }|jj| qHW |j!j j  | jjd!r2tj| jjd!jdnd}| jjd"r\tj| jjd"jdnd}| jjd#rtj| jjd#jdnd}| jjd$rtj| jjd$jdnd}| jjd%rtj| jjd%jdnd}xt|D ]\}}|dkrt"jj|t|k r|| nd|t|k r.|| nd|t|k rF|| nd|t|k rlt|| dkrldnd|t|k r|| ndd&}|j!j| qW |j#j j  | jjd'rtj| jjd'jdnd}| jjd(rtj| jjd(jdnd}| jjd)r&tj| jjd)jdnd}| jjd*rPtj| jjd*jdnd}| jjd+rztj| jjd+jdnd}xt|D ]\}}|dkrt$jj|t|k r|| nd|t|k r|| nd|t|k r|| nd|t|k rt|| dkrdnd|t|k r$|| ndd,}|j#j| qW t%jjt|j&d}t'j( |_)|j*d-krnd.|_*|j+  |j+  t,dt|j-iS )/Nr   )rm   	b_coamingb_coaming_otherb_hopperb_hopper_otherb_coversb_covers_otherb_cover_recb_cover_rec_otherb_deck_fittingsb_deck_fittings_other
b_coatingsb_coatings_otherb_final_statementr?  bce_hull_conditionr\  rY   bc_compartmentbc_comp_fowbc_checkbc_other_conditiontruez$Recommend pump and check compartment)rP  rQ  rR  rS  rT  ss_hull_conditionss_compartmentss_comp_fowss_checkss_other_condition)rV  rW  rX  rY  rZ  sce_hull_conditionsc_compartmentsc_comp_fowsc_checksc_other_condition)r[  r\  r]  r^  r_  ps_hull_conditionps_compartmentps_comp_fowps_checkps_other_condition)r`  ra  rb  rc  rd  r   r*  ).r&   rd   rb   r   ra   rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  r?  bow_compartmentr   r~  rR   r  r|  r  r'   r(  r  rw   r  starboard_sider(   stern_compartmentr)   	port_sider*   r   r   rJ   r   r+  r   r   r   rg   )rh   r@  rP  rQ  rR  rS  rT  r  r  re  rV  rW  rX  rY  rZ  rf  r[  r\  r]  r^  r_  rg  r`  ra  rb  rc  rd  rh  r,  rj   rj   rk   survey_report_barge_step2p  s    (****
&*****
&*****
&*****
&
ri  c       -   '   C   s
  d }t j tdd }| jd 
rtjjt| jd d}d}| jd dkrpt j| jd d}tt	j
|j }t	j
|jr|jj n|j |kr8|j}|j}|j}|j}|j}	|j}
|j}|j}|j}|j}|j}|j}|j}g }g }g }g }g }xZ|jj D ]L}|j|j |j|j |j|j |j|j r:d	nd
 |j|j! qW g }g }g }g }g }xZ|j"j D ]L}|j|j# |j|j$ |j|j% |j|j&rd	nd
 |j|j' qrW g }g }g }g } g }!xZ|j(j D ]L}|j|j) |j|j* |j|j+ | j|j,rd	nd
 |!j|j- qW g }"g }#g }$g }%g }&xZ|j.j D ]L}|"j|j/ |#j|j0 |$j|j1 |%j|j2rd	nd
 |&j|j3 qRW t4d|jrt5|jj6ddd d nt5|j6ddd d |||||	|
||rd	nd
|||||||||||||||||||| |!|"|#|$|%|&|j7d%S | jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_7|jj j8  | jjdrt9j:| jjdj;dnd }| jjd!r>t9j:| jjd!j;dnd }| jjd"rht9j:| jjd"j;dnd }| jjd#rt9j:| jjd#j;dnd }| jjd$rt9j:| jjd$j;dnd }xt<|D ]\}'}(|(d krt=jj>|'t?|k r||' nd |'t?|k r||' nd |'t?|k r(||' nd |'t?|k rNt5||' d	krNd%nd |'t?|k rf||' nd d&})|jj@|) qW |j"j j8  | jjd'rt9j:| jjd'j;dnd }| jjd(rt9j:| jjd(j;dnd }| jjd)rt9j:| jjd)j;dnd }| jjd*r2t9j:| jjd*j;dnd }| jjd+r\t9j:| jjd+j;dnd }xt<|D ]\}'}(|(d krjtAjj>|'t?|k r||' nd |'t?|k r||' nd |'t?|k r||' nd |'t?|k rt5||' d	krd%nd |'t?|k r||' nd d,}*|j"j@|* qjW |j(j j8  | jjd-rTt9j:| jjd-j;dnd }| jjd.r~t9j:| jjd.j;dnd }| jjd/rt9j:| jjd/j;dnd }| jjd0rt9j:| jjd0j;dnd } | jjd1rt9j:| jjd1j;dnd }!xt<|D ]\}'}(|(d kr
tBjj>|'t?|k r8||' nd |'t?|k rP||' nd |'t?|k rh||' nd |'t?| k rt5| |' d	krd%nd |'t?|!k r|!|' nd d2}+|j(j@|+ q
W |j.j j8  | jjd3rt9j:| jjd3j;dnd }"| jjd4	rt9j:| jjd4j;dnd }#| jjd5	rHt9j:| jjd5j;dnd }$| jjd6	rrt9j:| jjd6j;dnd }%| jjd7	rt9j:| jjd7j;dnd }&xt<|"D ]\}'}(|(d k	rtCjj>|'t?|"k 	r|"|' nd |'t?|#k 	r|#|' nd |'t?|$k 
r|$|' nd |'t?|%k 
r.t5|%|' d	k
r.d%nd |'t?|&k 
rF|&|' nd d8},|j.j@|, 	qW t j| jd d|_|jD  t4d9d:iS d S );NrG   )r*  r   )rm   r   r+  r   z%Y-%m-%d %H:%M:%SrU  falser_   r,  r-  r.  )%r[   r+  rC  rD  rE  rF  rG  rH  rI  Zb_cover_checkrJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rV  rW  rX  rY  rZ  r[  r\  r]  r^  r_  r`  ra  rb  rc  rd  r?  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  r?  rP  r\  rY   rQ  rR  rS  rT  z$Recommend pump and check compartment)rP  rQ  rR  rS  rT  rV  rW  rX  rY  rZ  )rV  rW  rX  rY  rZ  r[  r\  r]  r^  r_  )r[  r\  r]  r^  r_  r`  ra  rb  rc  rd  )r`  ra  rb  rc  rd  r[   r|   )ErJ   r   rK   ra   r&   rd   rb   r   r/  r0  r1  r2  r+  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  re  r   rv   rP  rQ  rR  rS  rT  rf  rV  rW  rX  rY  rZ  rg  r[  r\  r]  r^  r_  rh  r`  ra  rb  rc  rd  r   rw   r3  r?  r~  rR   r  r|  r  r'   r(  r  r  r(   r)   r*   r   )-rh   r@  r   r4  r5  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  r   rV  rW  rX  rY  rZ  r[  r\  r]  r^  r_  r`  ra  rb  rc  rd  r  r  re  rf  rg  rh  rj   rj   rk   !survey_report_barge_step2_details  sl   $8*****
&*****
&*****
&*****
&rk  c             C   s   t | j| j}|j rttj d }d| }tjj	t
jt
jd}|jd}|jdj||jd dd t
j| }tj| jjd	| td
diS tj|j}t|ddS d S )Nz.wavz
recording/)r  r  r  r  	ionicfilezpublic-read)r  r  r  r   r[   r_   zapplication/json)mimetype)rO   ra   FILESis_validrw   r  r  r  r  r  rI   r  r  r  r  r  cleaned_datar  rQ   delayrb   r   r   r  errorsr   )rh   formoriginal_namer  r  r  r  rr  rj   rj   rk   upload_media  s    

ru  c             C   sN   | j jd}tjjt|d}tj |_|jdkr8d|_|j	  t
dddS )N	vissel_id)rm   rx  r   r_   z acknowledge approve successfully)r[   r   )ra   rb   r   rd   r   rJ   r   acknowledgedr   r   r   )rh   rv  r,  rj   rj   rk   survey_acknowledged  s    

rx  c             C   sH   g }t jjd}x(|D ] }|j|j|j|j|jd qW td|dS )Nz-id)rg   title
barge_nameclientr_   )r[   report)	r+   rd   order_byrv   rg   ry  rz  r{  r   )rh   report_detailsr|  r  rj   rj   rk   walkaround_report  s    
r  c             C   s   t jjdd}|j  t jjtj tdd | jd | jd | jd | jd | jd	 | jd
 | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd | jd d}t	dd|j
dS )NrY   )rz  rG   )r*  report_titlesurvey_daterz  r{  r4  r2  r1  r3  r5  "number_of_wing_compartments_othersnumber_of_wing_compartmentsr`   r7  r9  r:  r;  coaming_height_textcoaming_heightr>  )r+  ry  r  rz  r{  cargo_coverssurvey_location_othersr   r3  r5  wing_compartments_othersr6  r`   void_compartmentsrG  rH  rI  coaming_height_othersr  cover_conditionr_   )rZ   r[   walkaround_report_id)r+   rd   r}   r~  r(  rJ   r   rK   ra   r   rg   )rh   walkaround_report_detailsr  rj   rj   rk   walkaround_report_add_step1  s0    r  c             C   s@   g }t jjd}x |D ]}|j|j|jd qW td|dS )Nrg   )rg   
b_loc_optnr_   )r[   barge)r,   rd   r}  rv   rg   r  r   )rh   Z	barge_locr  r  rj   rj   rk   barge_location	  s    
r  c             C   s@   g }t jjd}x |D ]}|j|j|jd qW td|dS )Nrg   )rg   b_type_optnr_   )r[   r  )r-   rd   r}  rv   rg   r  r   )rh   r3  r  r  rj   rj   rk   r3    s    
r3  c             C   s@   g }t jjd}x |D ]}|j|j|jd qW td|dS )Nrg   )rg   b_car_covers_optnr_   )r[   cover)r.   rd   r}  rv   rg   r  r   )rh   Z
cover_typer  r  rj   rj   rk   barge_cover_type   s    
r  c             C   s@   g }t jjd}x |D ]}|j|j|jd qW td|dS )Nrg   )rg   b_f_statement_optnr_   )r[   	statement)r/   rd   r}  rv   rg   r  r   )rh   final_statementr  r  rj   rj   rk   barge_final_statement*  s    
r  c             C   s.  t jjt| jd d}tj tdd |_| jd |_	| jd |_
| jd |_| jd |_| jd	 |_| jd
 |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_| jd |_ | jd |_!| jd |_"| jd |_#|j$j% j&  t'| jjd d!kr| jjd"ddW }t(j)|j*d#d$}| jjd%ddX }t(j)|j*d#d$}| jjd&ddY }t(j)|j*d#d$}n$| jj+d'}| jj+d(}| jj+d)}xJt,|D ]>\}}|d$kr6t-jj.|| || || d*}|j$j/| q6W |j0j% j&  t'| jjd+d!kr| jjd,ddZ }t(j)|j*d#d$}| jjd-dd[ }	t(j)|	j*d#d$}	n| jj+d.}| jj+d/}	xDt,|D ]8\}}|d$krt1jj.|| |	| d0}
|j0j/|
 qW |j2j% j&  t'| jjd1d!kr| jjd2dd\ }t(j)|j*d#d$}n| jj+d3}x>t,|D ]2\}}|d$krt3jj.|| d4}|j2j/| qW |j4j% j&  t'| jjd5d!krR| jjd6dd] }t(j)|j*d#d$}| jjd7dd^ }t(j)|j*d#d$}n| jj+d8}| jj+d9}xDt,|D ]8\}}|d$krtt5jj.|| || d:}|j4j/| qtW |j6j% j&  t'| jjd;d!kr| jjd<dd_ }t(j)|j*d#d$}n| jj+d=}x>t,|D ]2\}}|d$krt7jj.|| d>}|j6j/| qW |j8j% j&  t'| jjd?d!kr| jjd@dd` }t(j)|j*d#d$}| jjdAdda }t(j)|j*d#d$}n| jj+dB}| jj+dC}xDt,|D ]8\}}|d$krt9jj.|| || dD}|j8j/| qW |j:j% j&  t'| jjdEd!krd| jjdFddb }t(j)|j*d#d$}n| jj+dG}x>t,|D ]2\}}|d$krzt;jj.|| dH}|j:j/| qzW |j<j% j&  t'| jjdId!kr"| jjdJddc }t(j)|j*d#d$}| jjdKddd }t(j)|j*d#d$}n| jj+dL}| jj+dM}xDt,|D ]8\}}|d$krDt=jj.|| || dN}|j<j/| qDW |j>j% j&  | jjdOdPkr| jjdQdde }t(j)|j*d#d$}n| jj+dR}x>t,|D ]2\}}|d$krt?jj.|| dS}|j>j/| qW |j@  tAdTdU|jBdVS )fNr  )rm   rG   )r*  rC  rD  rE  rF  
b_cp_checkrK  rL  rM  rN  rO  walkaround_surveyorbc_water_statement_selectbc_water_statement_select_otherbc_rcpcc_checkss_water_statement_selectss_water_statement_otherss_rcpccc_checkss_rccmw_checkss_rcwd_checksce_water_statement_select sce_water_statement_select_othersc_rcpcc_checkps_water_statement_selectps_water_statement_otherps_rcpcc_checkps_rcwd_checkps_rccmw_checkZbCoverFindingsrU  b_cover_findingsr  rY   b_cover_recommendationb_cover_recommendation_otherZb_cover_findingsNotZb_cover_recommendationNotZb_cover_recommendation_otherNot)r  r  r  ZbcNewFindingsbc_new_findingsbc_recommendationZbc_new_findingsNotZbc_recommendationNot)b_new_findingsb_recommendationZbcPreviousFindingsbc_previous_findingsZbc_previous_findingsNot)b_previous_findingsZssNewFindingsss_new_findingsss_recommendationZss_new_findingsNotZss_recommendationNot)r  r  ZssPreviousFindingsss_previous_findingsZss_previous_findingsNot)r  ZscNewFindingssc_new_findingssc_recommendationZsc_new_findingsNotZsc_recommendationNot)sce_new_findingssce_recommendationZscPreviousFindingssc_previous_findingsZsc_previous_findingsNot)sce_previous_findingsZpsNewFindingsps_new_findingsps_recommendationZps_new_findingsNotZps_recommendationNot)r  r  ZpsPreviousFindingsTrueps_previous_findingsZps_previous_findingsNot)r  zsuccessfully addedr_   )rZ   r[   r  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  ro  )Cr+   rd   rb   r   ra   rJ   r   rK   r+  coamingcoaming_otherhopperhopper_othercoversr   deck_fittings_othercoatingscoatings_otherr  surveyorbc_water_statementbc_water_statement_otherbc_check_compartmentss_water_statementr  ss_check_compartmentss_remaining_compartments"ss_remaining_compartments_were_drysce_water_statementsce_water_statement_othersce_check_compartmentps_water_statementr  ps_check_compartmentps_remaining_compartments"ps_remaining_compartments_were_drycover_findingr   r~  rw   r  r  r3  rp  r  r8   r(  r  re  r0   bow_compartment_previousr1   rf  r2   starboard_side_previousr3   rg  r4   stern_compartment_previousr5   rh  r6   port_side_previousr7   r   r   rg   )rh   r  b_cover_findingr  b_cover_recommendation_othersr  r  b_coverFindingr  r  re  r  r  ss_new_findingssss_recommendationsrf  r  r  r  r  rg  r  r  r  r  rh  r  r  rj   rj   rk   walkaround_report_add_step27  s"   








r  c          :   C   s  g }| j d rtjjt| j d d}g }|jj }x |D ]}|j|j|j	d q<W g }|j
j }x$|D ]}|j|j|j|jd qlW g }|jj }	x |	D ]}|j|j|jd qW g }
|jj }x$|D ]}|
j|j|j|jd qW g }|jj }x"|D ]}|j|j|jd qW g }|jj }x&|D ]}|j|j|j|jd q6W g }|jj }x"|D ]}|j|j|jd	 qlW g }|jj }x&|D ]}|j|j|j|jd
 qW g }|jj }x*|D ]"}|j|j|j|j|jd qW |j|j |j!|j"|j#|j$|j%|j&|j'|j(|j)|j*|j+|j,|j-|j.|j/|j0|j1|j2|j3|j4|j5|j6|j7|j8|j9|j:|j;|j<|j=|j>|j?|j@|jA|jB|jC|jD|jE|jF|jG|jH|jI|jJ|jK|jL|jM|jN||||
|||||d9}tOdd|dS tOdddS d S )Nr  )rm   )rg   r  )rg   r  r  )rg   r  )rg   r  r  )rg   r  )rg   r  r  )rg   r  )rg   r  r  )rg   r  r  r  )9rg   ry  r  rz  r{  r+  r  r   r  r3  r5  r6  r  r  rG  rH  rI  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  r  r  r  r   bow_prevbow_new	star_prevstar_new
stern_prev	stern_new	port_prevport_newr  zData Fetched Successfullyr_   )rZ   r[   detailszYou Have no permiction)rZ   r[   )Pra   r+   rd   rb   r   r  r   rv   rg   r  re  r  r  r  r  rf  r  r  r  r  rg  r  r  r  r  rh  r  r  r  r  r  r  ry  r  rz  r{  r+  r  r   r  r3  r5  r6  r  r  rG  rH  rI  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  r  r  r  r   r   )rh   r~  r  r  Zbowprevr  r  Zbownewr  Zstarprevr  Zstarnewr  Z	sternprevr  Zsternnewr  Zportprevr  Zportnewr  Zcoverfindingrj   rj   rk   walkaround_report_edit  s    

















r  c             C   s8  | j d r$tjjt| j d d}| j d |_| j d |_| j d |_| j d |_| j d |_	| j d |_
| j d	 |_| j d
 |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_|j  tddd|jdS tddddS d S )Nr  )rm   r  r  rz  r{  r4  r2  r1  r3  r5  r  r  r`   r7  r9  r:  r;  r  r  r>  rU  zsuccessfully updatedr_   )successrZ   r[   r  zId not foundr]   )r  rZ   r[   )ra   r+   rd   rb   r   ry  r  rz  r{  r  r  r   r3  r5  r  r6  r`   r  rG  rH  rI  r  r  r  r   r   rg   )rh   r  rj   rj   rk   walkaround_report_update_step1  s0    r  c             C   s.  | j d rtjjt| j d d}| j d |_| j d |_| j d |_| j d |_| j d |_	| j d |_
| j d	 |_| j d
 |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_| j d |_|j j! j"  | j j#d}| j j#d}| j j#d }xJt$|D ]>\}}|d!krt%jj&|| || || d"}|j j'| qW |j(j! j"  | j j#d#}| j j#d$}	xDt$|D ]8\}}|d!krt)jj&|| |	| d%}
|j(j'|
 qW |j*j! j"  | j j#d&}x>t$|D ]2\}}|d!krvt+jj&|| d'}|j*j'| qvW |j,j! j"  | j j#d(}| j j#d)}xDt$|D ]8\}}|d!krt-jj&|| || d*}|j,j'| qW |j.j! j"  | j j#d+}x>t$|D ]2\}}|d!kr<t/jj&|| d,}|j.j'| q<W |j0j! j"  | j j#d-}| j j#d.}xDt$|D ]8\}}|d!krt1jj&|| || d/}|j0j'| qW |j2j! j"  | j j#d0}x>t$|D ]2\}}|d!krt3jj&|| d1}|j2j'| qW |j4j! j"  | j j#d2}| j j#d3}xDt$|D ]8\}}|d!krht5jj&|| || d4}|j4j'| qhW |j6j! j"  | j j#d5}x>t$|D ]2\}}|d!krt7jj&|| d6}|j6j'| qW |j8  t9d7d8d9|j:d:S t9d7d;d<d=S d S )>Nr  )rm   rC  rD  rE  rF  r  rK  rL  rM  rN  rO  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rY   )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  rU  zsuccessfully updatedr_   )r  rZ   r[   r  zId not foundr]   )r  rZ   r[   );ra   r+   rd   rb   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  r  r  r   r~  rp  r  r8   r(  r  re  r0   r  r1   rf  r2   r  r3   rg  r4   r  r5   rh  r6   r  r7   r   r   rg   )rh   r  r  r  r  r  r  r  r  r  re  r  r  r  r  rf  r  r  r  r  rg  r  r  r  r  rh  r  r  rj   rj   rk   walkaround_report_update_step2  s    








r  c             C   sN   | j d r:tjjt| j d d}|j  tddddS tddddS d S )	Nr  )rm   rU  zsuccessfully deletedr_   )r  rZ   r[   zId not foundr]   )ra   r+   rd   rb   r   r~  r   )rh   r  rj   rj   rk   walkaround_report_deleteL  s
    
r  c          3   C   s  | j d rtjjt| j d d}tjj j|jd}t|}tjj	|j
|j|jd t| |j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j |j!|j"|j#|j$|j%|j&|j'|j(|j)|j*|j+|j,|j-|j.|j/|j0|j1|j2|j3|j4|j5|j6|j7|j8|j9|j:d1}x4|j;j D ]&}t<jj	|j=|j>d}|j;j?| q(W x0|j@j D ]"}tAjj	|jBd}|j@j?| q^W x4|jCj D ]&}tDjj	|jE|jFd}|jCj?| qW x0|jGj D ]"}	tHjj	|	jId	}
|jGj?|
 qW x4|jJj D ]&}tKjj	|jL|jMd
}|jJj?| qW x0|jNj D ]"}tOjj	|jPd}|jNj?| q.W x4|jQj D ]&}tRjj	|jS|jTd}|jQj?| q`W x0|jUj D ]"}	tVjj	|	jWd}|jUj?| qW x8|jXj D ]*}tYjj	|jZ|j[|j\d}|jXj?| qW t]ddddS t]ddddS d S )Nr  )rm   )r  z - (Copy) -)1ry  r  rz  r{  r+  r  r   r  r3  r5  r6  r  r  rG  rH  rI  select_sternr`   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  r  r  r  r   )r  r  )r  )r  r  )r  )r  r  )r  )r  r  )r  )r  r  r  rU  zsuccessfully copiedr_   )r  rZ   r[   z
Invalid Idr]   )^ra   r+   rd   rb   r   r   r}   r  r  r(  ry  rz  rw   r{  r+  r  r   r  r3  r5  r6  r  r  rG  rH  rI  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   r  r  r  r  r  r   re  r0   r  r  r  r  r1   r  rf  r2   r  r  r  r3   r  rg  r4   r  r  r  r5   r  rh  r6   r  r  r  r7   r  r  r8   r  r  r  r   )rh   r  Zwalkaround_report_duplicatelengthZwalkaround_addre  Zbow_PreviousZside_compartmentrf  Zside_Previousr  Zsternrg  Zstern_previousr  Z	port_SideZport_Side_PreviousZcover_findingsr  rj   rj   rk   walkaround_report_copyX  s    









r  c       	      C   s   | j d rtjjt| j d d}tj| jd }|j\}}||krf|dkrfd}|| }td| }n2||kr|dkrd}|| }td| }nd}d}t	jj
tjd| jd | j d	 ||d
}|jj| |j  tddddS tddddS d S )Nr  )rm   photo_handler_imagei  mywidthil  myheightzsafety_equipment_images/photo_handler_image_caption)r  r  photo_handler_image_heightphoto_handler_image_widthrU  zsuccessfully uploadedr_   )r  rZ   r[   zId not foundr]   )ra   r+   rd   rb   r   rU   openrn  sizer;   r(  rR   aws_s3_image_postr  r  r   r   )	rh   r  imageTemproarywidthheightr  mydvr  r  rj   rj   rk   walkaround_report_photo_handler  s.    

r  c             C   s   | j d rntjjt| j d d}g }|jj }x*|D ]"}|j|jt	|j|j
dd q6W tddd|dS tdd	d
dS d S )Nr  )rm   z65809-6547-79.png)rg   r  r  Z
image_namerU  zSuccessfully fetched imagesr_   )r  rZ   r[   r~  zId Not foundr]   )r  rZ   r[   )ra   r+   rd   rb   r   r  r   rv   rg   rw   r  r   )rh   Zimage_detailsr~  imglistr  rj   rj   rk   walkaround_report_photo_list  s    


r  c             C   s   | j d rltjjt| j d d}|jjt| j jddj  tj	d| j
jd |j  tddd	d
S tdddd
S d S )Nr  )rm   image_id)rg   zsafety_equipment_images/r  rU  zSuccessfully Removedr_   )r  rZ   r[   zId Not foundr]   )ra   r+   rd   rb   r   r  r}   r~  rR   aws_s3_image_removeGETr   r   )rh   Zsurvey_imagesrj   rj   rk   walkaround_report_photo_remove  s    
r  c             C   s   t | jjddks$| jjddkrr| jjddd }tj|jdd}| jjddd }tj|jdd}n| jjd}| jjd	}xDt|D ]8\}}|dkrtj	jt
|| d
}|| |_|j  qW tddddS )NZimageCaptionrU  Zimg_idrG   r  rY   r  Z	img_idNotZphoto_handler_image_captionNot)rm   zSuccessfully updatedr_   )r  rZ   r[   ro  ro  )rw   ra   rb   r  r  r3  rp  r  r;   rd   r   r  r   r   )rh   r  Zimage_captionr  r  r  rj   rj   rk   &walkaround_report_photo_caption_uprate-  s    $
r	  c             C   s   | j d }|dkrtjj| j d d}t|}|dkrDtjj|d}g }t|dkrx(|D ] }|j|j|j|j|j	d qZW t
ddd	|d
S t
ddd|d
S nt
ddddS d S )Nry  rY   )Zbarge_name__icontainsr   )Ztitle__icontains)rg   ry  r{  rz  rU  zsuccessfully findr_   )r  rZ   r[   r~  z	Not foundr]   )r  rZ   r[   )ra   r+   rd   r}   r  rv   rg   ry  r{  rz  r   )rh   r  Zwalkaround_report_title_searchr  r~  r  rj   rj   rk   walkaround_report_searchE  s"    

r
  )django.httpr   r   Z
dls.modelsr   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   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   django.contrib.authr=   Zrest_framework.decoratorsr>   Zrest_framework.authtoken.modelsr?   Zrest_framework.permissionsr@   rA   rB   Zrest_framework.parsersrC   rD   rE   django.core.files.storagerF   r\   rH   django.confrI   rJ   rK   r  django.views.decorators.csrfrL   django.utilsrM   r0  r   Zdjango.corerN   formsrO   r  r  boto3.s3.transferrP   requeststasksrQ   dls.global_configurationrR   smtplibemail.utilsrV   email.mime.multipartrS   email.mime.textrT   ry   r  PILrU   rl   rx   r   r   r   r   r   r"  r)  r6  r?  r@  rY  rZ  rw  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  r   r!  r#  r-  r.  r0  rA  rB  ri  rk  ru  rx  r  r  r  r3  r  r  r  r  r  r  r  r  r  r  r  r	  r
  rj   rj   rj   rk   <module>   s   B&#  ,?  % ,w'q%f97    AHL"l(b1Zl W
 U  
 $