l
d‘`c               @   s¸  y d  d l  m Z Wn" e k
 r8 d  d l m Z Yn Xd  d l Z d  d l Z Gd „  d ƒ Z Gd „  d ƒ Z Gd „  d ƒ Z Gd	 „  d
 ƒ Z	 Gd „  d ƒ Z
 Gd „  d ƒ Z Gd „  d ƒ Z Gd „  d ƒ Z e d k r´e ƒ  Z e j d ƒ Z e j d k re d ƒ n  e j d k r-e d ƒ n  e j d d ƒ Z e j d k r[e d ƒ n  e j d k rwe d ƒ n  e j d d# ƒ Z e j d k r¥e d ƒ n  e j d k rÁe d ƒ n  e e e ƒ e e ƒ e e ƒ ƒ x* e e j d  e j ƒD] Z e e ƒ qüWx¡ e j D]“ Z e e e ƒ e j j e j ƒ e e j ƒ e e j ƒ x$ e j D] Z  e d! e e  ƒ ƒ qcWx* e j! D] Z" e d" e e" ƒ e" j# ƒ qŠWqWn  d S($   i    (   u   urlopenNc             B   sn   |  Ee  Z d  „  Z e d „  ƒ Z e d „  ƒ Z d „  Z d „  Z d „  Z d „  Z	 d
 d „ Z d „  Z d	 S(   c             C   sö   d j  | j j | j ƒ } t | t ƒ r‘ | } | j j } | d  k r` t d j  | ƒ ƒ ‚ n  | | k r„ t d j  | ƒ ƒ ‚ n  | | } n  x. t	 | ƒ D]  } | | d  k rž | | =qž qž W| |  _
 | |  _ | |  _ | ré | n i  |  _ d  S(   Nu   {}:{}u7   unable to map routing alias {}, no series routing tableuB   unable to map routing alias {}, not listed in series routing table(   u   formatu   seriesu   codenameu   nameu
   isinstanceu   stru   routing_tableu   Noneu
   ValueErroru   dictu   _ksu   _sourceu   _nameu   _data(   u   selfu   ksu   sourceu   datau   nameu   tableu   entry(    (    u   ktl/kernel_series.pyu   __init__   s$    					c             C   s   |  j  S(   N(   u   _source(   u   self(    (    u   ktl/kernel_series.pyu   source$   s    c             C   s   |  j  S(   N(   u   _name(   u   self(    (    u   ktl/kernel_series.pyu   name(   s    c             C   s,   t  |  | j ƒ r( t |  ƒ t | ƒ k Sd S(   NF(   u
   isinstanceu	   __class__u   listu   False(   u   selfu   other(    (    u   ktl/kernel_series.pyu   __eq__,   s    c             C   s   |  j  | ƒ S(   N(   u   __eq__(   u   selfu   other(    (    u   ktl/kernel_series.pyu   __ne__1   s    c             C   s   t  |  j j ƒ  ƒ S(   N(   u   iteru   _datau   items(   u   self(    (    u   ktl/kernel_series.pyu   __iter__4   s    c             C   s   |  j  | S(   N(   u   _data(   u   selfu   which(    (    u   ktl/kernel_series.pyu   __getitem__7   s    c             C   s9   |  j  j | d  ƒ } | d k s- | d  k r1 | S| d S(   Ni    F(   u   _datau   getu   Noneu   False(   u   selfu   destu   primaryu   data(    (    u   ktl/kernel_series.pyu   lookup_destination:   s    c             C   s   t  |  j ƒ S(   N(   u   stru   _data(   u   self(    (    u   ktl/kernel_series.pyu   __str__@   s    NF(   u   __name__u
   __module__u   __init__u   propertyu   sourceu   nameu   __eq__u   __ne__u   __iter__u   __getitem__u   Falseu   lookup_destinationu   __str__(   u
   __locals__(    (    u   ktl/kernel_series.pyu   KernelRoutingEntry   s   
					u   KernelRoutingEntryc             B   s_   |  Ee  Z d  „  Z e d „  ƒ Z d „  Z d „  Z e d „  ƒ Z e d „  ƒ Z d „  Z	 d S(   c             C   s–   t  | t ƒ rk i | d d 6} t | ƒ d k r? d | d <n# t | ƒ d k rb | d | d <n  | } n  | |  _ | |  _ | r‰ | n i  |  _ d  S(   Ni    u   urli   u   masteru   branchi   (   u
   isinstanceu   listu   lenu   _ksu   _owneru   _data(   u   selfu   ksu   owneru   datau   new_data(    (    u   ktl/kernel_series.pyu   __init__E   s    			c             C   s   |  j  S(   N(   u   _owner(   u   self(    (    u   ktl/kernel_series.pyu   ownerR   s    c             C   s8   t  |  | j ƒ r4 |  j | j k o3 |  j | j k Sd S(   NF(   u
   isinstanceu	   __class__u   urlu   branchu   False(   u   selfu   other(    (    u   ktl/kernel_series.pyu   __eq__X   s    "c             C   s   |  j  | ƒ S(   N(   u   __eq__(   u   selfu   other(    (    u   ktl/kernel_series.pyu   __ne__]   s    c             C   s   |  j  d S(   Nu   url(   u   _data(   u   self(    (    u   ktl/kernel_series.pyu   url`   s    c             C   s   |  j  j d d  ƒ S(   Nu   branch(   u   _datau   getu   None(   u   self(    (    u   ktl/kernel_series.pyu   branchd   s    c             C   s   d j  |  j |  j ƒ S(   Nu   {} {}(   u   formatu   urlu   branch(   u   self(    (    u   ktl/kernel_series.pyu   __str__h   s    N(
   u   __name__u
   __module__u   __init__u   propertyu   owneru   __eq__u   __ne__u   urlu   branchu   __str__(   u
   __locals__(    (    u   ktl/kernel_series.pyu   KernelRepoEntryD   s   
			u   KernelRepoEntryc             B   sþ   |  Ee  Z d  „  Z d „  Z d „  Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z	 e d „  ƒ Z
 e d „  ƒ Z e d	 „  ƒ Z e d
 „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z d „  Z d „  Z d S(   c       
      C   s©  | |  _  | |  _ | |  _ | r' | n i  |  _ d |  j k r› d |  j k r› i  } x1 |  j d D]" } |  j j d d ƒ g | | <qb W| |  j d <q› n  d |  j k rì d |  j k rì |  j d d
 k rÜ d |  j d <qì d |  j d <n  |  j j d d ƒ } t | t ƒ rTg  } x+ d D]# }	 | j |	 ƒ |	 | k rPqqW| |  j d <n  d |  j k r¥d |  j k r¥d |  j d k r•d
 |  j d <q¥d |  j d <n  d  S(   Nu
   publish-tou   archesu   tracku   latestu
   promote-tou   stableu	   candidateu   edgeu   betaT(   u   edgeu   betau	   candidateu   stableF(
   u   _ksu   _sourceu   _nameu   _datau   getu   Trueu
   isinstanceu   stru   appendu   False(
   u   selfu   ksu   sourceu   nameu   datau
   publish_tou   archu
   promote_tou   expand_promote_tou   risk(    (    u   ktl/kernel_series.pyu   __init__m   s4    			 c             C   s8   t  |  | j ƒ r4 |  j | j k o3 |  j | j k Sd S(   NF(   u
   isinstanceu	   __class__u   nameu   sourceu   False(   u   selfu   other(    (    u   ktl/kernel_series.pyu   __eq__‘   s    "c             C   s   |  j  | ƒ S(   N(   u   __eq__(   u   selfu   other(    (    u   ktl/kernel_series.pyu   __ne__–   s    c             C   s
   |  j  j S(   N(   u   _sourceu   series(   u   self(    (    u   ktl/kernel_series.pyu   series™   s    c             C   s   |  j  S(   N(   u   _source(   u   self(    (    u   ktl/kernel_series.pyu   source   s    c             C   s   |  j  S(   N(   u   _name(   u   self(    (    u   ktl/kernel_series.pyu   name¡   s    c             C   s2   |  j  j d d  ƒ } | s d  St |  j |  | ƒ S(   Nu   repo(   u   _datau   getu   Noneu   KernelRepoEntryu   _ks(   u   selfu   data(    (    u   ktl/kernel_series.pyu   repo¥   s    c             C   s   |  j  j d d ƒ S(   Nu   primaryF(   u   _datau   getu   False(   u   self(    (    u   ktl/kernel_series.pyu   primary¬   s    c             C   s   |  j  j d d ƒ S(   Nu   gatedF(   u   _datau   getu   False(   u   self(    (    u   ktl/kernel_series.pyu   gated°   s    c             C   s   |  j  j d d ƒ S(   Nu   stableF(   u   _datau   getu   False(   u   self(    (    u   ktl/kernel_series.pyu   stable´   s    c             C   s   |  j  j d d ƒ S(   Nu   qaF(   u   _datau   getu   False(   u   self(    (    u   ktl/kernel_series.pyu   qa¸   s    c             C   s   |  j  j d d ƒ S(   Nu   hw-certF(   u   _datau   getu   False(   u   self(    (    u   ktl/kernel_series.pyu   hw_cert¼   s    c             C   s   |  j  j d d  ƒ S(   Nu   arches(   u   _datau   getu   None(   u   self(    (    u   ktl/kernel_series.pyu   archesÀ   s    c             C   s   |  j  j d d  ƒ S(   Nu   track(   u   _datau   getu   None(   u   self(    (    u   ktl/kernel_series.pyu   trackÅ   s    c             C   s   |  j  j d d  ƒ S(   Nu
   publish-to(   u   _datau   getu   None(   u   self(    (    u   ktl/kernel_series.pyu
   publish_toÉ   s    c             C   s   |  j  j d d  ƒ S(   Nu
   promote-to(   u   _datau   getu   None(   u   self(    (    u   ktl/kernel_series.pyu
   promote_toÍ   s    c             C   s   | |  j  j d g  ƒ k S(   Nu
   promote-to(   u   _datau   get(   u   selfu   risk(    (    u   ktl/kernel_series.pyu   promote_to_riskÑ   s    c             C   s   d j  t |  j ƒ |  j ƒ S(   Nu   {} {}(   u   formatu   stru   sourceu   name(   u   self(    (    u   ktl/kernel_series.pyu   __str__Ô   s    N(   u   __name__u
   __module__u   __init__u   __eq__u   __ne__u   propertyu   seriesu   sourceu   nameu   repou   primaryu   gatedu   stableu   qau   hw_certu   archesu   tracku
   publish_tou
   promote_tou   promote_to_risku   __str__(   u
   __locals__(    (    u   ktl/kernel_series.pyu   KernelSnapEntryl   s$   
	$			u   KernelSnapEntryc             B   s}   |  Ee  Z d  „  Z d „  Z d „  Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z	 e d „  ƒ Z
 d „  Z d	 S(
   c             C   s4   | |  _  | |  _ | |  _ | r' | n i  |  _ d  S(   N(   u   _ksu   _sourceu   _nameu   _data(   u   selfu   ksu   sourceu   nameu   data(    (    u   ktl/kernel_series.pyu   __init__Ù   s    			c             C   s8   t  |  | j ƒ r4 |  j | j k o3 |  j | j k Sd S(   NF(   u
   isinstanceu	   __class__u   nameu   sourceu   False(   u   selfu   other(    (    u   ktl/kernel_series.pyu   __eq__ß   s    "c             C   s   |  j  | ƒ S(   N(   u   __eq__(   u   selfu   other(    (    u   ktl/kernel_series.pyu   __ne__ä   s    c             C   s
   |  j  j S(   N(   u   _sourceu   series(   u   self(    (    u   ktl/kernel_series.pyu   seriesç   s    c             C   s   |  j  S(   N(   u   _source(   u   self(    (    u   ktl/kernel_series.pyu   sourceë   s    c             C   s   |  j  S(   N(   u   _name(   u   self(    (    u   ktl/kernel_series.pyu   nameï   s    c             C   s   |  j  j d d  ƒ S(   Nu   type(   u   _datau   getu   None(   u   self(    (    u   ktl/kernel_series.pyu   typeó   s    c             C   s2   |  j  j d d  ƒ } | s d  St |  j |  | ƒ S(   Nu   repo(   u   _datau   getu   Noneu   KernelRepoEntryu   _ks(   u   selfu   data(    (    u   ktl/kernel_series.pyu   repo÷   s    c             C   s"   d j  t |  j ƒ |  j |  j ƒ S(   Nu   {} {} {}(   u   formatu   stru   sourceu   nameu   type(   u   self(    (    u   ktl/kernel_series.pyu   __str__þ   s    N(   u   __name__u
   __module__u   __init__u   __eq__u   __ne__u   propertyu   seriesu   sourceu   nameu   typeu   repou   __str__(   u
   __locals__(    (    u   ktl/kernel_series.pyu   KernelPackageEntryØ   s   
			u   KernelPackageEntryc             B   sa  |  Ee  Z d  „  Z d „  Z d „  Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z	 e d „  ƒ Z
 e d „  ƒ Z e d	 „  ƒ Z e d
 „  ƒ Z e d „  ƒ Z e d „  ƒ Z d „  Z e d „  ƒ Z d „  Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z d „  Z d S(   c             C   s4   | |  _  | |  _ | |  _ | r' | n i  |  _ d  S(   N(   u   _ksu   _seriesu   _nameu   _data(   u   selfu   ksu   seriesu   nameu   data(    (    u   ktl/kernel_series.pyu   __init__  s    			c             C   s8   t  |  | j ƒ r4 |  j | j k o3 |  j | j k Sd S(   NF(   u
   isinstanceu	   __class__u   nameu   seriesu   False(   u   selfu   other(    (    u   ktl/kernel_series.pyu   __eq__	  s    "c             C   s   |  j  | ƒ S(   N(   u   __eq__(   u   selfu   other(    (    u   ktl/kernel_series.pyu   __ne__  s    c             C   s   |  j  S(   N(   u   _name(   u   self(    (    u   ktl/kernel_series.pyu   name  s    c             C   s   |  j  S(   N(   u   _series(   u   self(    (    u   ktl/kernel_series.pyu   series  s    c             C   sV   d |  j  k r |  j  d S|  j } | d  k	 r6 | j S|  j } | d  k	 rR | j Sd  S(   Nu   versions(   u   _datau   derived_fromu   Noneu   versionsu   copy_forward(   u   selfu   derived_fromu   copy_forward(    (    u   ktl/kernel_series.pyu   versions  s    		c             C   s   |  j  } | s d  S| d S(   Ni   iÿÿÿÿ(   u   versionsu   None(   u   selfu   versions(    (    u   ktl/kernel_series.pyu   version)  s    	c             C   s:   d |  j  k r |  j  d S|  j } | d  k	 r6 | j Sd  S(   Nu   variants(   u   _datau   copy_forwardu   Noneu   variants(   u   selfu   copy_forward(    (    u   ktl/kernel_series.pyu   variants0  s    	c             C   s   |  j  j d |  j j ƒ S(   Nu   development(   u   _datau   getu   seriesu   development(   u   self(    (    u   ktl/kernel_series.pyu   development;  s    c             C   s   |  j  j d |  j j ƒ S(   Nu	   supported(   u   _datau   getu   seriesu	   supported(   u   self(    (    u   ktl/kernel_series.pyu	   supported?  s    c             C   s   |  j  j d d ƒ S(   Nu   severe-onlyF(   u   _datau   getu   False(   u   self(    (    u   ktl/kernel_series.pyu   severe_onlyC  s    c             C   s   |  j  j d d  ƒ S(   Nu   stakeholder(   u   _datau   getu   None(   u   self(    (    u   ktl/kernel_series.pyu   stakeholderG  s    c             C   sa   g  } |  j  j d ƒ } | r] x< | j ƒ  D]+ \ } } | j t |  j |  | | ƒ ƒ q+ Wn  | S(   Nu   packages(   u   _datau   getu   itemsu   appendu   KernelPackageEntryu   _ks(   u   selfu   resultu   packagesu   package_keyu   package(    (    u   ktl/kernel_series.pyu   packagesK  s    &c             C   sC   |  j  j d ƒ } | s% | | k r) d  St |  j |  | | | ƒ S(   Nu   packages(   u   _datau   getu   Noneu   KernelPackageEntryu   _ks(   u   selfu   package_keyu   packages(    (    u   ktl/kernel_series.pyu   lookup_packageU  s    c             C   sa   g  } |  j  j d ƒ } | r] x< | j ƒ  D]+ \ } } | j t |  j |  | | ƒ ƒ q+ Wn  | S(   Nu   snaps(   u   _datau   getu   itemsu   appendu   KernelSnapEntryu   _ks(   u   selfu   resultu   snapsu   snap_keyu   snap(    (    u   ktl/kernel_series.pyu   snaps[  s    &c             C   sC   |  j  j d ƒ } | s% | | k r) d  St |  j |  | | | ƒ S(   Nu   snaps(   u   _datau   getu   Noneu   KernelSnapEntryu   _ks(   u   selfu   snap_keyu   snaps(    (    u   ktl/kernel_series.pyu   lookup_snape  s    c             C   sK   d |  j  k r d  S|  j  d \ } } |  j j | ƒ } | j | ƒ } | S(   Nu   derived-from(   u   _datau   Noneu   _ksu   lookup_seriesu   lookup_source(   u   selfu
   series_keyu
   source_keyu   seriesu   source(    (    u   ktl/kernel_series.pyu   derived_fromk  s    c          	   C   s  g  } |  j  j d ƒ d  k	 rý |  j  d j d ƒ d  k	 rý |  j  d j d d ƒ } | s˜ |  j  j d ƒ } | d  k r} i  n | } | j d d ƒ } n  xb |  j  d d j ƒ  D]F } |  j  d d | } | s× q° n  | j t | | | d |  ƒƒ q° Wn  | S(   Nu   testingu   flavoursu   kernel-testingu   swmu   sourceF(   u   _datau   getu   Noneu   Falseu   keysu   appendu   KernelSourceTestingFlavourEntry(   u   selfu   retvalu   kernel_testingu
   swm_configu   flavouru   fdata(    (    u   ktl/kernel_series.pyu   testable_flavoursw  s    &c             C   s.   |  j  j d g  ƒ } | d  k r* g  } n  | S(   Nu   invalid-tasks(   u   _datau   getu   None(   u   selfu   retval(    (    u   ktl/kernel_series.pyu   invalid_tasks  s    	c             C   s•   d |  j  k r d  S|  j  d d k r* d  S|  j  d d k r] |  j } | d  k rV d S|  j S|  j  d \ } } |  j j | ƒ } | j | ƒ } | S(   Nu   copy-forwardFT(   u   _datau   Noneu   Falseu   Trueu   derived_fromu   _ksu   lookup_seriesu   lookup_source(   u   selfu   derived_fromu
   series_keyu
   source_keyu   seriesu   source(    (    u   ktl/kernel_series.pyu   copy_forward”  s    	c             C   s   |  j  j d d ƒ S(   Nu   backportF(   u   _datau   getu   False(   u   self(    (    u   ktl/kernel_series.pyu   backport©  s    c             C   sh   d } |  j  j r d } n  |  j  j r0 d } n  |  j j d | ƒ } | d  k rU | St |  j |  | ƒ S(   Nu   defaultu   develu   esmu   routing(   u   seriesu   developmentu   esmu   _datau   getu   Noneu   KernelRoutingEntryu   _ks(   u   selfu   defaultu   data(    (    u   ktl/kernel_series.pyu   routing­  s    		c             C   s   |  j  j d ƒ S(   Nu   swm(   u   _datau   get(   u   self(    (    u   ktl/kernel_series.pyu   swm_data¹  s    c             C   s   |  j  j d d ƒ S(   Nu   privateF(   u   _datau   getu   False(   u   self(    (    u   ktl/kernel_series.pyu   private½  s    c             C   s   d j  |  j j |  j ƒ S(   Nu   {} {}(   u   formatu   seriesu   name(   u   self(    (    u   ktl/kernel_series.pyu   __str__Á  s    N(   u   __name__u
   __module__u   __init__u   __eq__u   __ne__u   propertyu   nameu   seriesu   versionsu   versionu   variantsu   developmentu	   supportedu   severe_onlyu   stakeholderu   packagesu   lookup_packageu   snapsu   lookup_snapu   derived_fromu   testable_flavoursu   invalid_tasksu   copy_forwardu   backportu   routingu   swm_datau   privateu   __str__(   u
   __locals__(    (    u   ktl/kernel_series.pyu   KernelSourceEntry  s2   
			
	
	u   KernelSourceEntryc             B   sV   |  Ee  Z d d  „ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z d S(   c             C   sÜ   | |  _  | |  _ | |  _ |  j j d d  ƒ |  _ |  j d  k	 rK |  j n g  |  _ |  j j d d  ƒ |  _ |  j d  k	 r„ |  j n g  |  _ |  j j d d  ƒ |  _ |  j d  k rØ | rØ d j |  j j	 | ƒ |  _ n  d  S(   Nu   archesu   cloudsu   meta-pkgu   kernel-testing--{}--full--{}(
   u   _nameu   _datau   _sourceu   getu   Noneu   _archesu   _cloudsu	   _meta_pkgu   formatu   name(   u   selfu   nameu   datau   kernel_testingu   source(    (    u   ktl/kernel_series.pyu   __init__Å  s    			!!c             C   s   |  j  S(   N(   u   _name(   u   self(    (    u   ktl/kernel_series.pyu   nameÓ  s    c             C   s   |  j  S(   N(   u   _arches(   u   self(    (    u   ktl/kernel_series.pyu   arches×  s    c             C   s   |  j  S(   N(   u   _clouds(   u   self(    (    u   ktl/kernel_series.pyu   cloudsÛ  s    c             C   s   |  j  S(   N(   u	   _meta_pkg(   u   self(    (    u   ktl/kernel_series.pyu   meta_pkgß  s    N(	   u   __name__u
   __module__u   Noneu   __init__u   propertyu   nameu   archesu   cloudsu   meta_pkg(   u
   __locals__(    (    u   ktl/kernel_series.pyu   KernelSourceTestingFlavourEntryÄ  s
   
u   KernelSourceTestingFlavourEntryc             B   sã   |  Ee  Z d d  „ Z d „  Z d „  Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z	 d „  Z
 e
 Z e d „  ƒ Z e d „  ƒ Z e d	 „  ƒ Z e d
 „  ƒ Z e d „  ƒ Z d „  Z e d „  ƒ Z e d „  ƒ Z d „  Z d S(   c             C   s]   | |  _  | |  _ i  |  _ | d  k	 r: |  j j | ƒ n  | d  k	 rY |  j j | ƒ n  d  S(   N(   u   _ksu   _nameu   _datau   Noneu   update(   u   selfu   ksu   nameu   datau   defaults(    (    u   ktl/kernel_series.pyu   __init__ä  s    			c             C   s&   t  |  | j ƒ r" |  j | j k Sd S(   NF(   u
   isinstanceu	   __class__u   nameu   False(   u   selfu   other(    (    u   ktl/kernel_series.pyu   __eq__í  s    c             C   s   |  j  | ƒ S(   N(   u   __eq__(   u   selfu   other(    (    u   ktl/kernel_series.pyu   __ne__ò  s    c             C   s   |  j  S(   N(   u   _name(   u   self(    (    u   ktl/kernel_series.pyu   nameõ  s    c             C   s   |  j  j d d  ƒ S(   Nu   codename(   u   _datau   getu   None(   u   self(    (    u   ktl/kernel_series.pyu   codenameù  s    c             C   s-   d |  j  k r) |  j  d d k	 r) d Sn  d S(   Nu   openingFT(   u   _datau   Falseu   True(   u   self(    (    u   ktl/kernel_series.pyu   openingý  s    c             G   s„   d |  j  k r d S|  j  d } | d  k r0 d S| d k rA | Sx< | D]4 } | j | d ƒ } | d  k sx | d k rH d SqH Wd S(   Nu   openingTF(   TF(   u   _datau   Trueu   Noneu   Falseu   get(   u   selfu   flagsu   allowu   flagu
   flag_allow(    (    u   ktl/kernel_series.pyu   opening_ready  s    c             C   s   |  j  j d d ƒ S(   Nu   developmentF(   u   _datau   getu   False(   u   self(    (    u   ktl/kernel_series.pyu   development  s    c             C   s   |  j  j d d ƒ S(   Nu	   supportedF(   u   _datau   getu   False(   u   self(    (    u   ktl/kernel_series.pyu	   supported  s    c             C   s   |  j  j d d ƒ S(   Nu   ltsF(   u   _datau   getu   False(   u   self(    (    u   ktl/kernel_series.pyu   lts  s    c             C   s   |  j  j d d ƒ S(   Nu   esmF(   u   _datau   getu   False(   u   self(    (    u   ktl/kernel_series.pyu   esm  s    c             C   s   |  j  j d d ƒ S(   Nu   old-releasesF(   u   _datau   getu   False(   u   self(    (    u   ktl/kernel_series.pyu   old_releases#  s    c             C   s   d j  |  j |  j ƒ S(   Nu   {} ({})(   u   formatu   nameu   codename(   u   self(    (    u   ktl/kernel_series.pyu   __str__'  s    c             C   sa   g  } |  j  j d ƒ } | r] x< | j ƒ  D]+ \ } } | j t |  j |  | | ƒ ƒ q+ Wn  | S(   Nu   sources(   u   _datau   getu   itemsu   appendu   KernelSourceEntryu   _ks(   u   selfu   resultu   sourcesu
   source_keyu   source(    (    u   ktl/kernel_series.pyu   sources*  s    	c             C   s   |  j  j d d  ƒ S(   Nu   routing-table(   u   _datau   getu   None(   u   self(    (    u   ktl/kernel_series.pyu   routing_table4  s    c             C   sC   |  j  j d ƒ } | s% | | k r) d  St |  j |  | | | ƒ S(   Nu   sources(   u   _datau   getu   Noneu   KernelSourceEntryu   _ks(   u   selfu
   source_keyu   sources(    (    u   ktl/kernel_series.pyu   lookup_source8  s    N(   u   __name__u
   __module__u   Noneu   __init__u   __eq__u   __ne__u   propertyu   nameu   codenameu   openingu   opening_readyu   opening_allowu   developmentu	   supportedu   ltsu   esmu   old_releasesu   __str__u   sourcesu   routing_tableu   lookup_source(   u
   __locals__(    (    u   ktl/kernel_series.pyu   KernelSeriesEntryã  s"   
					
u   KernelSeriesEntryc             B   s®   |  Ee  Z d  Z d e j j e j j e j j e ƒ d d d ƒ ƒ Z	 i  Z
 e d „  ƒ Z d d e j d d ƒ d „ Z e d „  ƒ Z e d	 „  ƒ Z d d d d
 „ Z d S(   uZ   https://git.launchpad.net/~canonical-kernel/+git/kteam-tools/plain/info/kernel-series.yamlu   file://u   ..u   infou   kernel-series.yamlc             C   sc   | |  j  k rX t | ƒ } | j ƒ  } t | t ƒ sH | j d ƒ } n  | |  j  | <n  |  j  | S(   Nu   utf-8(   u	   _data_txtu   urlopenu   readu
   isinstanceu   stru   decode(   u   clsu   urlu   responseu   data(    (    u   ktl/kernel_series.pyu   __load_onceJ  s    u   USE_LOCAL_KERNEL_SERIES_YAMLc             C   s9  | s | rQ | r- t  | ƒ } | j ƒ  } n  t | t ƒ sr | j d ƒ } qr n! |  j | rf |  j n |  j ƒ } t j	 | ƒ |  _
 d  |  _ i  |  _ xg |  j
 j ƒ  D]V \ } } | s¾ q¦ n  | j d d ƒ rÜ | |  _ n  d | k r¦ | |  j | d <q¦ q¦ Wi  |  _ d |  j
 k r5|  j
 d |  _ |  j
 d =n  d  S(   Nu   utf-8u   developmentu   codenameu   defaultsF(   u   urlopenu   readu
   isinstanceu   stru   decodeu   _KernelSeries__load_onceu
   _url_localu   _urlu   yamlu	   safe_loadu   _datau   Noneu   _development_seriesu   _codename_to_seriesu   itemsu   getu   Falseu   _defaults_series(   u   selfu   urlu   datau	   use_localu   responseu
   series_keyu   series(    (    u   ktl/kernel_series.pyu   __init__T  s*    !			c             C   s   d „  |  j  j d ƒ Dƒ S(   Nc             S   s   g  |  ] } t  | ƒ ‘ q S(    (   u   int(   u   .0u   x(    (    u   ktl/kernel_series.pyu
   <listcomp>q  s   	 u   .(   u   nameu   split(   u   series(    (    u   ktl/kernel_series.pyu   key_series_nameo  s    c                s   ‡  f d †  ˆ  j  j ƒ  Dƒ S(   Nc                s1   g  |  ]' \ } } t  ˆ  | | d  ˆ  j ƒ‘ q S(   u   defaults(   u   KernelSeriesEntryu   _defaults_series(   u   .0u
   series_keyu   series(   u   self(    u   ktl/kernel_series.pyu
   <listcomp>u  s   	(   u   _datau   items(   u   self(    (   u   selfu   ktl/kernel_series.pyu   seriess  s    c             C   s³   | r$ | r$ | r$ t  d ƒ ‚ n  | rT | rT | |  j k rD d  S|  j | } n  | rz | rz |  j sn d  S|  j } n  | r“ | |  j k r“ d  St |  | |  j | d |  j ƒS(   Nu$   series/codename/development requiredu   defaults(   u
   ValueErroru   _codename_to_seriesu   Noneu   _development_seriesu   _datau   KernelSeriesEntryu   _defaults_series(   u   selfu   seriesu   codenameu   development(    (    u   ktl/kernel_series.pyu   lookup_seriesy  s    	NF(   u   __name__u
   __module__u   _urlu   osu   pathu   realpathu   joinu   dirnameu   __file__u
   _url_localu	   _data_txtu   classmethodu   _KernelSeries__load_onceu   Noneu   getenvu   Falseu   __init__u   staticmethodu   key_series_nameu   propertyu   seriesu   lookup_series(   u
   __locals__(    (    u   ktl/kernel_series.pyu   KernelSeriesA  s   
$
u   KernelSeriesu   __main__u   16.04u   series.name != 16.04u   xenialu   series.codename != xenialu   codenameu   series2.name != 16.04u   series2.codename != xenialu   developmentu   18.04u   series3.name != 18.04u   bionicu   series3.codename != bionicu   keyu   PACKAGEu   SNAPT($   u   urllib.requestu   urlopenu   ImportErroru   urllib2u   osu   yamlu   KernelRoutingEntryu   KernelRepoEntryu   KernelSnapEntryu   KernelPackageEntryu   KernelSourceEntryu   KernelSourceTestingFlavourEntryu   KernelSeriesEntryu   KernelSeriesu   __name__u   dbu   lookup_seriesu   seriesu   nameu   printu   codenameu   series2u   Trueu   series3u   stru   sortedu   key_series_nameu   sourcesu   sourceu   derived_fromu   versionsu   packagesu   packageu   snapsu   snapu   arches(    (    (    u   ktl/kernel_series.pyu   <module>   sR   8(l*Â^I	"