î
{c˜XY  ã               @   s±   d  Z  d d l m Z m Z m Z d d l m Z d d l m Z d d l m	 Z	 e d ƒ Z
 e	 d e
 ƒ Z e ƒ  Z e ƒ  Z Gd d	 „  d	 e ƒ Z d
 d „  Z d d „  Z d S)z Mapping of class é    )ÚColumnÚStringÚInteger)Údeclarative_base)Úcreate_engine)Úsessionmakerzsqlite:///db/example.sqliteÚbindc               @   s^   e  Z d  Z d Z d Z e e d d ƒZ e e ƒ Z	 e e ƒ Z
 d d „  Z d d „  Z d	 S)
ÚPersonz Person class ÚpersonsZprimary_keyTc             C   s   | |  _  | |  _ d S)z init N)ÚnameÚage)Úselfr   r   © r   úY/home/saxon/teachers/com/mosstud/www/kod-exempel/oopython/example/sqlalchemy/functions.pyÚ__init__   s    	zPerson.__init__c             C   s   d j  d |  j d |  j ƒ S)z overloading str zName: {n}, Age: {a}ÚnÚa)Úformatr   r   )r   r   r   r   Ú__str__    s    zPerson.__str__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Z__tablename__r   r   Úidr   r   r   r   r   r   r   r   r   r	      s   r	   c              C   sE   g  }  x8 t  j t ƒ D]' } |  j i | j d 6| j d 6ƒ q W|  S)z get table persons r   r   )ÚsessionÚqueryr	   Úappendr   r   )ÚresultÚrowr   r   r   Úget_all_as_list%   s    %r   c             C   s0   t  d |  d | ƒ } t j | ƒ t j ƒ  d S)z dfadf r   r   N)r	   r   ÚaddZcommit)r   r   Zpersonr   r   r   Ú	add_to_db,   s    r!   N)r   Z
sqlalchemyr   r   r   Zsqlalchemy.ext.declarativer   r   Zsqlalchemy.ormr   ZengineÚSessionr   ZBaser	   r   r!   r   r   r   r   Ú<module>   s   		