+
     h  c                   sj    ^ RI t ^ RIt^ RIt^ RIt^RIHtHt ^RIHtH	t	 ^RI
HtHt  ! R R4      tR# )i    N)
PartialTag	Thumbnail)JobSkillThumbnailType)LOGGERjoinc                   s<   a  ] tR t^t o RtV 3R lR ltR tRtV tR# )Joba#  Model representing a job proposed on ModDB

Parameters
-----------
html : bs4.BeautifulSoup
    The html to parse. Allows for finer control.

Filtering
----------
skill : :class:`.JobSkill`
    The job skill looked for
earn : :class:`.bool`
    Whether or not the job is paid

Sorting
--------
    * **location** - order by the location of the job
    * **name** - order alphabetically, asc is a-z, desc is z-a
    * **skill** - order by the skill required
    * **id** - order by upload date, asc is most recent, desc is oldest first

Attributes
-----------
id : int
    id of the job
name_id : str
    The name_id of the member, cannot be changed, it's a mix of the original username lowercased with
    spaces removed and shortened.
author : Thumbnail
    A member like thumbnail representing the poster of the job. Can be none if they desire to remain private.
paid : bool
    Whether or not the job is paid
tags : List[PartialTag]
    A list of partial tags. You can use `get_tags` and then use the name id to get the right one.
skill : JobSkill
    the skill demanded for the job
location : str
    The location the job will be at
name : str
    The name of the job
text : str
    The description of the job
related : List[Thumbnail]
    A list of team like thumbnails of companies related to the job poster

c                s4   < V ^8  d   QhRS[ P                  /# )i   html)bs4ZBeautifulSoup)Zformat__classdict__s   "4/usr/lib/python3.14/site-packages/moddb/pages/job.pyZ__annotate__ZJob.__annotate__<   s     ; ;S.. ;    c           
     s&	   \         P                  ! VP                  R RR7      P                  4      R,          R&,          R,          pVR,          V n        VR,          V n        V P
                  P                  R4      ^ ,          V n        VP                  RR	R
7      P                  V n        VP                  RRR7      P                  P                  P                  P                  RRR7      p\        \        P                  ! RVP                  RRR7      R,          4      ^,          4      V n         VP                  RRR7      P                  P                  P                  p\!        VR,          VP                  \"        P$                  R7      V n        VP                  RRR7      P                  P                  P                  R8H  V n         VP                  RRR/R7      P7                  R4      pV Uu. uFW  pVP                  f   K  \9        VP                  \;        VR,          4      VR,          P                  R4      R&,          4      NKY  	  upV n        \C        \        VP                  RR R7      P                  P                  P                  R,          R&,          4      4      V n"        VP                  RR!R7      P                  P                  P                  PG                  4       V n$         VP                  RR"R7      P7                  RR#R7      pV Uu. uF-  p\!        VR,          VR$,          \"        PJ                  R7      NK/  	  upV n&        Wn'        R#   \(         dN    \*        P,                  ! RT P                  \*        P.                  \0        P2                  8  R7       RT n         EL$i ; iu upi   \(         dc    . T n        \*        P,                  ! RT P>                  P@                  T P                  \*        P.                  \0        P2                  8  R7        ELi ; iu upi   \(         dN    \*        P,                  ! R%T P                  \*        P.                  \0        P2                  8  R7       . T n&         EL4i ; i)'Zscriptzapplication/ld+json)typeZitemListElementZItemnamez@idZ/ZdivZarticlecontent)idspanZJobs)stringztable tablemenu)Zclass_zsiteareaid=(\d*)aZReportZhrefZh5ZAuthor)urlr   r   zJob '%s' has no author)Zexc_infoNZPaidZYesZformZtagsform)Zattrsz'%s' '%s' has no tagsZSkillZLocationZtablerelatedZimageZtitlez!Job '%s' has no related companiesi)(jsonZloadsZfindr   r   r   Zsplitname_idtextZparentZintreZsearchr   r   r   r   r   ZmemberauthorZAttributeErrorr   ZinfoZlevelloggingZDEBUGpaidZfind_allr    r   tagsZ	__class____name__r   skillZstriplocationZteamrelated_html)selfr   Z
breadcrumbZprofile_rawr   Zraw_tagsZxr   s   &&      r
   __init__ZJob.__init__<   s   ZZ		(9N	 O V VW


 v&	e$xx~~c*1-IIe(8I9>>	iivi6==DDKKPP+ Q 
 bii 3TYYs8Y5TU[5\]^_`a	 %%d8%<CCHHJJF#6N]=Q=QDK  $$T&$9@@BBIIUR		yy
/CyDMMcRH "!A88 P
188T!F)_aiooc6J26NO!DI c+"2"24"2"H"O"O"T"T"V"VW]"^_a"bcd
#((j(AHHMMTTZZ\	iini=FFsSZF[G\c\cWX	aiaj}?Q?QR\cDL 
O  	KK0$))fllV]VcVcFcdDK	
  	DIKK'''		6	 	  	KK3		6
 DL	se   3A#M# (O 8N>AN>O 8(P8  3P3P8 #AN;:N;>O A)P0/P03P8 8ARRc                s"    R V P                    R2# )z
<Job name=Z>)r   )r    s   &r
   __repr__ZJob.__repr__y   s    DII;a((r   )r   r   r   r   r   r   r   r   r   r   r   r   N)	r   Z
__module__Z__qualname__Z__firstlineno__Z__doc__r!   r"   Z__static_attributes__Z__classdictcell__)r	   s   @r
   r   r      s      -^; ;z) )r   r   )r   r   r   r   Zboxesr    r   Zenumsr   r   Zutilsr   r   r   ) r   r
   <module>r#      s&      	 
 ) +  n) n)r   