o k`$@s4GdddeZGdddeZGdddeZdS)c@s,eZdZdZgfddZddZddZdS) Tablez%Declare a table in a database schema.cCs2||_g|_g|_t|tr|g|_dS||_dSN)namecolumnsindices isinstancestrkey)selfrrr 0/usr/lib/python3/dist-packages/trac/db/schema.py__init__s zTable.__init__cCs$dd|D|_dd|D|_|S)NcSg|] }t|tr|qSr )rColumn.0or r r z%Table.__getitem__..cSr r )rIndexrr r r rr)rr)r objsr r r __getitem__szTable.__getitem__csbtttfs gtfdd|jDrg|_fdd|jD|_fdd|jD|_dS)z=Remove columns specified in the list or tuple `column_names`.c3s|]}|vVqdSrr rc column_namesr r $z'Table.remove_columns..csg|] }|jvr|qSr )r)rcolrr r r&s z(Table.remove_columns..cs(g|]}tfdd|jDr|qS)c3s|]}|vVqdSrr rrr r r)rz2Table.remove_columns...)allr)ridxrr r r(s N)rlisttupleanyrrr)r rr rr remove_columns s zTable.remove_columnsN)__name__ __module__ __qualname____doc__r rr#r r r r rs   rc@seZdZdZ  dddZdS)rz,Declare a table column in a database schema.textNFcCs"||_||_||_||_||_dSr)rtypesizekey_sizeauto_increment)r rr)r*r+r,r r r r /s  zColumn.__init__)r(NNFr$r%r&r'r r r r r r,s rc@seZdZdZdddZdS)rz'Declare an index for a database schema.FcCs||_||_dSr)runique)r rr.r r r r ;s zIndex.__init__N)Fr-r r r r r8srN)objectrrrr r r r s