+
     hU  c                  s    ^ RI Ht ^ RIt^ RIHt ^RIHt ^RIHtH	t	 ^RI
HtHt ^RIHt ^RIHtHt ]'       d   ^ R	IHt ] ! R
 R]]]4      4       t] ! R R]4      4       tR# )i    )annotationsN)TYPE_CHECKING)	Thumbnail)SearchCategoryThumbnailType)LOGGERconcat_docs)HardwareSoftwareMetaClass)GetGamesMixinGetWaresMixin)BeautifulSoupc                  s2   a  ] tR t^tRtR V 3R lltRtV ;t# )Hardwarea  Represents a moddb Hardware page

Parameters
-----------
html : BeautifulSoup
    The html file to parse, allows for finer control

Filtering
----------
released : :class:`.Status`
    Release status of the hardware (released, unreleased, early access)
category : :class:`.HardwareCategory`
    Category of the hardware
timeframe : :class:`.TimeFrame`
    How long ago the hardware was released

Sorting
--------
    * **released** - when the object was released, asc is oldest, desc is most recent
    * **id** - when it was added to moddb, asc is oldest, desc is most recent
    * **ranktoday** - order by daily ranking, asc is highest ranked, desc is lowest rank
    * **visitstotal** - order by most views, asc is highest views, desc is lowest views
    * **rating** - order by rating, asc is highest rating, desc is lowest rating
    * **category** - sort alphebatically by hardwarecategory
    * **name** - order alphabetically, asc is a-z, desc is z-a
    * **dateup** - order by latest update, asc is most recent update first, desc is oldest update first

Attributes
-----------
hardware : List[Thumbnail]
    A list of hardware suggested on the hardware main page.
software : List[Thumbnail]
    A list of software suggested on the hardware main page.
games : List[Thumbnail]
    A list of games suggested on the hardware main page.
history : List[Thumbnail]
    A list of previous iterations of the hardware
recommended : List[Thumbnail]
    A list of recommended hardwares.
c                   V ^8  d   QhRR/# i   htmlr
    Zformat   "5/usr/lib/python3.14/site-packages/moddb/pages/ware.py__annotate__ZHardware.__annotate__;   s     i" i"] i"    c           
     	s  < \         SV `  V4       \        P                  V n         VP                  R RR7      P                  P                  P                  P                  RRR7      P                  RRR7      RR pV Uu. uF]  p\        VP                  R	,          VP                  R
,          \        P                  VP                  P                  R,          R7      NK_  	  upV n         VP                  R RR7      P                  P                  P                  P                  RRR7      P                  RRR7      RR pV Uu. uF]  p\        VP                  R	,          VP                  R
,          \        P(                  VP                  P                  R,          R7      NK_  	  upV n         VP                  R RR7      P                  P                  P                  P                  RRR7      P                  RRR7      RR pV Uu. uF]  p\        VP                  R	,          VP                  R
,          \        P*                  VP                  P                  R,          R7      NK_  	  upV n         VP                  R RR7      P                  P                  P                  P                  RRR7      pV Uu. uF?  p\        VR
,          VR	,          \        P                  VP                  R,          R7      NKA  	  upV n         VP                  R RR7      P                  P                  P                  P                  RRR7      pV Uu. uF?  p\        VR
,          VR	,          \        P                  VP                  R,          R7      NKA  	  upV n        R# u upi   \         dN    \        P                  ! RT P                   \        P"                  \$        P&                  8  R7       . T n         ELi ; iu upi   \         dN    \        P                  ! RT P                   \        P"                  \$        P&                  8  R7       . T n         ELi ; iu upi   \         dN    \        P                  ! RT P                   \        P"                  \$        P&                  8  R7       . T n         ELFi ; iu upi   \         dN    \        P                  ! RT P                   \        P"                  \$        P&                  8  R7       . T n         ELi ; iu upi   \         dN    \        P                  ! RT P                   \        P"                  \$        P&                  8  R7       . T n         R# i ; i)Zspanr   )ZstringZdivZtable)Zclass_F)Z	recursiveNZtitleZhrefZsrc)nameurltypeimagezHardware '%s' has no hardware)Zexc_infoSoftwarezHardware '%s' has no softwareZGameszHardware '%s' has no gamesZHistoryar   )r   r   r   r   zHarware '%s' has no historyZRecommendedz Hardware '%s' has no recommendedi)super__init__r   Z	hardwares_typeZfindZparentZfind_allr   r   r   hardwareZimgZAttributeErrorr   Zinfor   ZlevelloggingZDEBUGsoftwareZgamegameshistoryrecommended)	selfr   r   Zxr    r!   r"   r#   	__class__s	   &&      r   r   ZHardware.__init__;   sx   #--
			&	4vvdd5d&A%51#27  " "A WF&//##''%.	 "DM			&	4vvdd5d&A%51#27  " "A WF&//##''%.	 "DM			&	1vvdd5d&A%51#27   A WF&++##''%.	 DJ	iiyi9@@GGNNWWG X G ! !A &	7&//%%,	 !DL	"))F=)AHHOOVV__G ` K %  %A &	7&//%%,	 % Da  	KK/V\\U\UbUbEb DM		  	KK/V\\U\UbUbEb DM		  	KK,dii&,,RYR_R_B_ DJ		  	KK-tyy6<<SZS`S`C` DL		   	"KK2		6
  "D	"s   AN' A#N"$N' -AP A#P*P 3AQ' A#Q"0Q' 9AS ?ASS AT' AT"T' "N' 'AO?>O?P AQQ"Q' 'AR?>R?S ATT"T' 'AU?>U?)r   r!   r   r"   r#   r    Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__r   Z__static_attributes__Z__classcell__r%      @r   r   r      s    'Ri" i"r   r   c                  s2   a  ] tR t^tRtR V 3R lltRtV ;t# )r   a(  Represents a moddb Software page

Parameters
-----------
html : BeautifulSoup
    The html file to parse, allows for finer control

Filtering
----------
released : :class:`.Status`
    Release status of the software (released, unreleased, early access)
category : :class:`.SoftwareCategory`
    Category of the software
timeframe : :class:`.TimeFrame`
    How long ago the software was released

Sorting
--------
    * **released** - when the object was released, asc is oldest, desc is most recent
    * **id** - when it was added to moddb, asc is oldest, desc is most recent
    * **ranktoday** - order by daily ranking, asc is highest ranked, desc is lowest rank
    * **visitstotal** - order by most views, asc is highest views, desc is lowest views
    * **rating** - order by rating, asc is highest rating, desc is lowest rating
    * **category** - sort alphebatically by softwarecategory
    * **name** - order alphabetically, asc is a-z, desc is z-a
    * **dateup** - order by latest update, asc is most recent update first, desc is oldest update first

c               r   r   r   r   r   r   r   ZSoftware.__annotate__   s     . .] .r   c                	sP   < \         SV `  V4       \        P                  V n        R # )N)r   r   r   Z	softwaresr   )r$   r   r%   s   &&r   r   ZSoftware.__init__   s    #--
r   )r   r&   r'   r(   r   r   r      s    :. .r   r   )Z
__future__r    r   Ztypingr   Zboxesr   Zenumsr   r   Zutilsr   r   Zbaser   Zmixinsr   r	   Zbs4r
   r   r   r   r   r   <module>r)      sc    "     1 ' + 0! S"(- S" S"l  .(  .  .r   