o à�dÏã@sDddlZddlmZddlmZejZdd„ZGdd„dejƒZdS) éN)Údatetimeé)Úk2cs6t ¡jdd…‰d ‡fdd„tdtˆƒdƒDƒ¡S)Né Úcsg|] }ˆ||d…‘qS)é©)Ú.0Úi©Ú generated_idrú#/home/yana/1906/k2root/k2/k2comp.pyÚ szgenerate_id..rr)ÚuuidÚuuid4ÚhexÚjoinÚrangeÚlenrrr r Ú generate_ids$rc@sÌeZdZdZdZddiZeje d¡de d�Z eje d¡dd �Z e e d ¡¡Z e e d ¡¡Z e e d ¡¡Ze ej¡Zejejejd �Zejejdd �Zd d„Zdd„Zedd„ƒZedd„ƒZdS)Ú ComponentÚdb2Ú componentÚextend_existingTé$)Ú primary_keyÚdefaultédF)ÚnullableéÈé)rcCs(||_||_||_||_||_||_dS©N)ÚnameÚ descriptionÚversionÚgit_linkÚ dependenciesÚ installed)Úselfr"r#r$r%r&r'rrr Ú__init__s  zComponent.__init__cCsd|j›d|j›d�S)Nz Component('z', 'z'))r"r$)r(rrr Ú__repr__szComponent.__repr__cCó tj t¡ tj|k¡ ¡}|Sr!©ÚdbÚsessionÚqueryrÚfilterÚidÚfirst©r(Úrep_idrrrr Úget_repository_by_idózComponent.get_repository_by_idcCr+r!r,r3rrr r5#r6N)Ú__name__Ú __module__Ú __qualname__Ú __bind_key__Ú __tablename__Ú__table_args__r-ÚColumnÚStringrr1r"r#r$r%r&ÚDateTimerÚutcnowÚdate_installedÚBooleanr'r)r*Ú classmethodr5rrrr r s$  r)rrÚk2cfgrr-rÚModelrrrrr Ús