python-ltsp-0.2/0000755000175000017500000000000010556400542012317 5ustar ograograpython-ltsp-0.2/AUTHORS0000644000175000017500000000004110556400373013364 0ustar ograograOliver Grawert python-ltsp-0.2/Makefile0000644000175000017500000000034610556400373013764 0ustar ograogra#MODULESDIR=/usr/lib/($PYTHONVERSION)/site-packages install: # Add here commands to install the package into debian/python-ltsp [ -d $(MODULESDIR)/ltsp ] || mkdir $(MODULESDIR)/ltsp install -m 0644 ltsp/*py $(MODULESDIR)/ltsp python-ltsp-0.2/doc/0000755000175000017500000000000010556400373013066 5ustar ograograpython-ltsp-0.2/doc/Diagramm1.png0000644000175000017500000003354610556400373015411 0ustar ograograPNG  IHDRcIsBITO IDATxohWK  C4P"BmИ̓HPjB,Z:-6&&u6م8 i܅.v\h XyЋ]n HЀ[3HGH?̼_6RF3G{fљ[4 6Em7md6@Q$Eȑ GRIr$Eȑ GRIr$Eȑ GRIr$Eȑ GRIr$Eȑ GRIr$Eȑ GR f~7Mx=*j=H(N 6L!qrǴL2uxFO0L;4 [ғb=51-XVve:b<' l&g4";|458d/uh}Y&ex6`ݙ=gpMs.1-]Vme:b<' "Jm;U{L .U_YNp(qv Cice`*ˀ=qvі1pJ|T1-8UV2uxFO0$Eȅ%CcZ:,^Ggd!LׇǴ0YW#3zih" du je:b<'[Ov`[1/a!~icuOe:b<'}"T`lϠr0}|2w(j-{Wϻ3fo-*Pd=ֱͲg+\΋oz6SvZ?=?1>}>;wjVO4Qv+r9KF3ξ^]j՜~hs.fW(cN_YD~O;W\O2<}'K *]l7lƛWsڗkTj/чGׯ l>+[)JK־\Qfn.-[C WA*Ԩ@Nޏg57Ԋ 5)Ν?FL(\<s,:˟\yf$FL_v]{%WR0&/_3G2B•y3ol^4W2L<wU~1/F"WCKb?:?w({9۪孛(,O4{$y(21>Q].]s =c]1wbnh?7:{${$vc,u$Ybr_2Pdtd]I֖H"x>/i]7Ο7֙[[h}1. ]ObޡW iwR֮e+"|l]:\[ǼC)}w~z+uVPkR?Ѩcݿ${ Lvb|s"}zx(}}Иvvcym|n BLXpk{ ;k[ūr\RVNϵ[a[71wOsgN@zt1wۥR\.w͟ܪTʕJRY?=ox}?wro Eڽ׮K >٭mK;?ĢsJYhvm;=WV*?Vʥk3ZjL*n2/|^輻CoWf ۇvK2{wWqūx<~*m.&orTsXχ !N//l̉5#S~^I#ݖ)jn홱gǢG@FΟ<~r=i,tq5v؜:D5bHKΟϽ3ú̿ߩ'RBCcJEv/oגzܗiuևōtަ_8c}ͫF2z#Ύ1K]cH6ڞEiJH$:7b@ZQ]KSJӴrzm+^-֞_UrhSfs4UDZAbj_ߡ7õ]zy׿Z[W&]-@5LВoL^ 2n9uuqb|bёQs+鷦 d>6o?=ٓ'NI[O++#ό^91Ϟ_ksi ?mkW#k_tiiUL[M29w|R4;Ӷ){yyԿMK<07%sIb{N$*?V5zڵ-=FzlfHUۭln}-]/ﮈ//myK/7]&]-@EL9e4wj}8utZƙߞٽ1Dōɗ'^Z[_D;QX^Y|qJb_o煍l\t9s8#mv*[%OK7JƷݺZvmlwM+˛6Q.rjZl䩑ju-=6wUoUk%gOXh(ٳN5],ҍR~[O勵JTٮ͐i#aH*)B ۂ OAJuRQ cRTc TjLHpj~^w14DT?}UxUٞ6n۩?tϽ{c߀1pG tͮb^a,^Gga@R0/(C航'"䂪/^.z>2uxFOW&)P|!1- ^V#3z2xI0yb>xǴ0HYE+ˀ=pH }N+ˀ=$Ee^o{ǴTYE*ˀ=qpINUoh\[zL ΖU x1g I]bJQp+cZpB2uxFO0$Etg=Eӻp.ж x17 Pƀ!)BEwf/Ւ03@{v= TM"&*"FdactȈF:t I /%&]BF *ҡHFc7ޠ@F $i@.f{n`y0Lx#qB/p)dĀaG)BKUL(:C`UghOC:A0prY)$E и EGpYkL*ѤFQwfXѥ}##jt @L18fjFFP;}F]BXt1?dDp顾H"N!) !/:88bbO؅G: "B H12N.I#}#&DFTӇ!ARDؑGXI+2jH!DRvAX132:H!GR@^a'$vȈCHwc%41}V$E>zE^jŽ#!:#)1bPgON7˰ha:DF} )=#/v- dDpr")}⮗R$E2HpIS<&e~R0i_-Q-t! 4N"F#!/C a@L|n cFwYI[N%*0{#`tBzꍻbc"փ{h!adDH"] 1(ÓɈc!)!/3,$&A:HC<eh#ONVOL%Ch)w',#Bk$E@ ab p2uBhAR7HFK<$E@EaAr3ݑ;`FR8e E2ART^E\Fm;*L%>Dȑ2/),^ȈtX],2LN(<#)" EMB3" ]/&-v̈L@ aQ`t!@9FT"I2}#Fˠ˄b2"")i^+,`gDA ŠfD!":M1*L&@fDN.^")!K^",*>BRNȨxXT-&_PH HP>^JO%Րܧ]/jEubKeH9Ũ`XT!)j>@RЖyQ{L.#tTdT',ʈ\ER`:yQWLT 1}I@oKRT|*tI@|䯗V6#`#)ySlW͌ȥ@H8ï[T-#2}I|ɋE6NF$!GRscTL #8@ EgIћsMHDRSaq4ȥFR"#aq E3"ӇDR.Gz)筤;k:IBR;ŦhغdNeDN.I6ɋ4)K:8xFdRH_dl7_h}Rۊtw{nio+-fUVCJaNzv&z=̥BR6:g5;I)evVu Pιb Jr)憬8 `HIz׋k61} 8 ߧu'I9E8 @$E@Hp@XxpG  IBH$wiיQr|PnfL4Q"&!);RM8T +"  / 8V$E@>У)2Ip4r$Eȑ GRIr$Eȑ GRIr$Eȑ GRv7[ߗݮx<>p̑L46X6K }̳;hgfޝvŢGG/]n'"p4H|6iwф`gZ=>E[-JsL#^ZrR4~i4~iT~) 3 rW$%ժDڕSv(^-}Fq8& +"  ZYl%?7FHh3ͬ]Y>~s茤@3[׶- g!8ߤX,V͇;;;xiss9<8V$E@>Ҝ~i/"34^5ZGRcIw%ZGR>\|u=]}ےʦ'^FR'>^*Z1^o]O痾 "L2H$̇z=s$vk;8f}(]ҋyɱgZ@")q'ώ_ϯ_YVBn׊W]W6ʤnzv~*j@Sr!}giiGGFOI<3t2O st⅓tdU˟-nx<*"]ùlKѩ$sBk>wP~:c@pMfZ,Pޮ"?9<ء#v~Mjq﫛[Z&Sc&_tx-g`ER= +>@9"H#)@9"H#)@9"H#)@9"H#)@9"HwD"BSsE\-뒈Ѡ{9Eȑ GRIr$Eȑ GRIr$Eȑ GRIr$Eȑ GRIr$Eȑ GRIr$E@I 1.#BĄ8$B!"? L_?=y(2^n< )!! ;B|$߄B4ixQϼn/`fk иӸp[[l !4Hz~/{B&D\ jU_!W7PW{Ĺ?Ύ8sMq|hʏό //~ ĝ;byEDO[8 >XX`!s8#FIPU!^% qZBpEyJGD*%Rˏ>+#8GAq8+C{ŝ8 fŜ0bnskP@{ɔ"{CRFe׮7O(5BRLݏkLdsL4PI@ 3kNlF")Iq6( ׃'Ei#)Лũh]yJ+R#ߡlLl)"{H5opR#ĥe]{I˽szKHjFntaHTAF^D LaZGR.ou[^(]"#HTen;mBj ERu~&_5tER 2u>$~"#"1% {$E~rW uyVtChP-)ɋNODR52Aͤ( &P!)ѠlR4( L4GRe3P>&͋F HܥrF4)H@EX#J'pzItɈ풢A(hER$24XJ L4!)pvѠ鄢aDjGR0(M3!IѠu^TER?3!0IѠ{^40OA %_*L4 )YoD# ",8)V/ I-O@im$E]>gM:h@RVHE ߚT j`pID"Eb) 51 MDj@R+l!IQӀ}$Eˈ!71tFRB-)h``")!d@L 0IҀ )hiIBC'" |7!)iFI8>[}BԈ`#)|;L(dH$E \ƕ}L4"0H@n8bOhH@@#)&#"=2bON!,]@Rtyq@HȈ}#)& "2H.ad:FhObG]hHȈN!&zR#GRFFtIKEpz!)"#1¢hHrȈ!) &"2H>"/zDF$- *[1νgsȈIQ xH# h7)n7mNwfͿ'.^%a`6ohdI?IQAFFA9 )DS(Ԉ&$ES|8pzxOAߑ &ÌO>E5^,&ÆO;ҔH(Ha@R\AFT 1QSJZt&ح4Dca2b酉` )L}$``_")sK$ aQ/$EO|V)5},c@)B6w͐@,<ȗ~k;Us]dD]4U)F906wLҤhT g[OdDu'vH*3®kEu NF"«ᆌ(eI93 L4z9E@`T3 ̋S6cN!uApL-;_0LтjMdĀ׆Pq\j")":¡!0H0!;M$E ! 0p} hAI{AE"@PaJ lDGu8=+>L&H,H\2jKLZwjVg웎@ {W *G.Cʒ QvO^RmF>J *GTԨhq$E h4 >T(u8RYubF܇flo̝;ṒbB\zf峕CoWq|A%2+Bi`eM˟.O9=̈#F~szyel<4kk6]l%7>=yqWΪٹSsZs}⥉Z]>^2qzWsTm)[+P~+9ODAT95TDӈRU7)n=vp|8vp]9El7O *?U;?={5WX-}J}8:~d|nNH񕿭JKKk_X~3J7JK|m]yvl AYzz~aKe >Πru%3TIs=:x<>w|ϢͻgFh4kׅWr+cu1s$#(\)?F3ol^4W2=hpHr_r%C{bX~*oNF"<ܗD"Sٟ_t]1wbnh?Z;2DMo'^=<ݮ6Um^{XXر=!7ѱ7jj}_jסܗ<5 vvfmmcжdbHZ !J7JڦZWhs`B}AAuW{X,;ti-|k=ZZB\߾>vhLQ];1㼶y>T(ȿ_xoqumViN,;1g.vhqūx<~*m.6Kۥr\.kV;wOsgN@zLk#[_߶OWnU*J\),ϟ7_^Z,ʕ+jetw%v{`{k&sj%7;5ml;/øpF׮mak[ߝ qUJRR.bh-hS}h7*xtء1׿Zzs!D6][_FBϵK9LFFXުΜ)|^rʽy{fٱz>1>a,PQ:'\joOK.]\j 6%%O^Ιxb@ZQ]KS;?!"HRI$B?/nnmמcfޞD"ƶW7SO%]V+oUד*J&_ンCcJxdnzöU6NjS}Id=`pggXcH6ڞ֡}V_/uyab|"TtZo_o7x=os` -qFzpoiշS/KRsKnb~H=Zj^ݮ꭪u%.^jZܟ΍Ch4ZVh4xq8,Ƚ[pz*Zb}tr_rUj:6&̇Ygs Z~ʪQGVoUS?p\Z;jءX,Db}@k\Tay-ȫߦvީy ?.]͚=h[egmͭ_okۙÙ5ؾPagPiP5OI/z9xRON-i1;=ss-8sL;ӣ#Kߚ3ӹWsC{̩l/2N7GϟpB'ϤKەgFSMΜɎg~p௵ڗk;?,]Zygw>HT~4,Z_____o X|;Ъ&LT*FtxV"(v7ˉGxA~mj׮#75{жFtzϋώgGNS6iG貏3tTvFT u^Tv@&E!^?6?]޳z"uF˓kSkkY֩S?6LtOח{?FۖW7+˓/NZ_UT˗.?lTtd|ݽv鷦?]QQO奯ysf'KoN7k9VUjg{ZmVqx!\{Dxf9FU5mgOnjkgqG6=vlj~_.]菴ltAj]~{534ucߛ.8JAekD[:<쀔N:\/|QȽ!xqbʼnH,2wjR0<3cEb|v?lZxo!} ~:JRTOmתSs#!lsX${8Sӫ D2J&ScɅwL*JK&<%}uHfM_j&/w=7ucߛ 8*Hjὅd"ܗLSԺ|kE/O*; uh3L8v/erqGKO}-zFWv>,<%$T«;Za^TV |G˞_>o 7 'EAya>z-s)UG;:S TaoSQ&Nǥaf] jƠr{D/"wΧƍPe8X2S#+BR4"0TA`eI袧We*ka@bDÑʒa_y,JCƃ]]?qIRn=ݾ*a@CAň%).R7Oj~8}M `ay av?m*a@C³AňK%)PÍFx妩:T?<T(ϸWY"zn61ܮ0AנbDʒ3ni5uWPe0 ~>Q.V@f~7!_TT?`|T(Wl&KRĠH0ԠbD9ʒ dNr$Eȑ GRIr$Eȑ GRIr$Eȑ GRIr$Eȑ GRIr$Eȑ GRIr$Eȑ GRЋ໿MY(IENDB`python-ltsp-0.2/doc/Diagramm1.dia0000644000175000017500000000436010556400373015352 0ustar ograogra]]s8}_AѯbI%'y٩~cSI:/W‡ YnHTR:sdhYC '4o_eO~;Ob g1ϗ=??%y(\,"q' > LE.kի"pʃA,p,&dOe$t$YUms菱47wt n$ eeפwM*܏%U/Uw B0ǑcC qp~~~lL<a9N(q|l""bҰbyrg"PS#wÁբp?C?Y8㼳_~)P(S.U8 #nݦǪݱQmv`ʗvĺKVC~tA:ONOaH &yerOE:~Otg{|v-Ie[ \k>m4aǻ4B(x%)"790h~jЩaNA#ƽR]8Ӓ0c5ڎӚHycJ4\e宇 gb~| x2S#ԍG <`qCWYd(j&)PCx%2; 0\҂ fa؞ cMiSv;(&I<-EĴa:w j$냙XыDgA(Q^Iy=y89Wh5َ?u !@2`)`DjWqZy9@r5AīEM|(iLҕ LF{ -kZm2)r.b9r2+eԪD*uU2 C넞={Ѕi8Gb`|@Մ5՞98ja #%']h<\V,X,'Kԧh lEO ڢAͯ7U>4LYxj!U).EߢaHZJ6n6tebir #W@81)&Q9ƽ)]~"MڕST VBpj҉_qd^Lb|E_?PؾDS{{<ǀ5,.i7.wKERIORj ޑ\RVU6FYeIZ؃+{dW=Yl[K нOn'qfsW~=GjBHr(e%HNPUjCUg 059QNQ8*`|l^_iWhMW\W/yDL[ԡ <1qJb8^,{oSwFcԴ{7RSԄ;4 peMj^_Y5R[ \ESud5BĿu aj&|W\Ϫֆ%(.$$]A`Gu >Xh+إs܁2,Q]R22@t×UnӇ>ӇZǫ]oH/H0Zn GWNOlЁy-_{ֻzN%դ$nϒs2W؄yɼn;EDU+=1.!^QZ QB7Cp/M1"d;b?n#}CVMz.}JqzlϜD<;)UW!ʈ)% Zi < (.㸨8-f"3x–--Nm,U}}YA3+D&7z ;ny8WIA2,+fϓ oIŞռV l:"6ve s ]8E$ya3R^!u3Ɖ" Sg08aYCWy RĦ٣]G,+@8^ H]WKa%`T2~1R}b)w ?BPāH#9EKjC,!q*aUB1@ S pK @:#P>T;O]jwZpython-ltsp-0.2/doc/scripts/0000755000175000017500000000000010556400373014555 5ustar ograograpython-ltsp-0.2/doc/scripts/ltsp-manager-backend0000755000175000017500000000177610556400373020475 0ustar ograogra#!/usr/bin/python import sys from ltsp import ltsconfparser from ltsp import ltsconfdict from ltsp import ltspstatus from ltsp import dhcpparser # read existing config data,idx=ltsconfparser.read('/opt/ltsp/i386/usr/share/doc/ltsp-client/examples/lts.conf') # write new config ltsconfparser.write('./lts.conf', data, idx) print './lts.conf written\n' # get stati of servers print 'tftp: '+str(ltspstatus.tftp()) print 'nfs: '+str(ltspstatus.nfs()) print 'dhcp: '+str(ltspstatus.dhcp()) print 'ldm info: '+str(ltspstatus.ldminfo()) print 'network swap: '+str(ltspstatus.nbdswap()) # list dictionary options print ltsconfdict.keymaps('/opt/ltsp/i386') print ltsconfdict.kbmodels('/opt/ltsp/i386') print ltsconfdict.videodrivers('/opt/ltsp/i386') print ltsconfdict.serproto('/opt/ltsp/i386') if len(sys.argv) > 1: print sys.argv[1]+' valid : '+str(ltsconfdict.validate(sys.argv[1])) print sys.argv[1]+' boolean : '+str(ltsconfdict.isboolean(sys.argv[1])) # read /etc/ltsp/dhcpd.conf print dhcpparser.read() python-ltsp-0.2/TODO0000644000175000017500000000004710556400373013012 0ustar ograografinish dhcpconf stuff finish services python-ltsp-0.2/setup.py0000755000175000017500000000230410556400373014035 0ustar ograogra#!/usr/bin/python # -*- coding: koi8-r -*- from distutils.core import setup,sys import os if sys.version < '2.2.3': from distutils.dist import DistributionMetadata DistributionMetadata.classifiers = None DistributionMetadata.download_url = None # Set proper release version in source code also!!! setup(name='ltsp', version='0.1', author='Oliver Grawert', author_email='ogra@ubuntu.com', url='http://launchpad.net/python-ltsp/', description='functions to access ltsp servers', long_description="""This library provides functionality for writing ltsp admin interfaces. It is distributed under the terms of GPL.""", download_url='http://launchpad.net/python-ltsp/', packages=['ltsp'], license="GPL", platforms="All", keywords=['ltsp','thinclient'], classifiers = [ 'Topic :: System :: Systems Administration', 'License :: OSI Approved :: GNU General Public License (GPL)', 'Operating System :: OS Independent', 'Programming Language :: Python', 'Natural Language :: English', 'Development Status :: 1 - Alpha', 'Intended Audience :: Developers', ], ) python-ltsp-0.2/MANIFEST0000644000175000017500000000027210556400373013453 0ustar ograograREADME setup.py Makefile ChangeLog doc/Diagramm1.png ltsp/dhcpconf.py ltsp/__init__.py ltsp/dictionary.py ltsp/ltsconf.py ltsp/status.py ltsp/service.py doc/scripts/ltsp-manager-backend python-ltsp-0.2/COPYING0000644000175000017500000004311010556400373013353 0ustar ograogra GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. python-ltsp-0.2/.bzr/0000755000175000017500000000000010556400373013174 5ustar ograograpython-ltsp-0.2/.bzr/repository/0000755000175000017500000000000010556400364015413 5ustar ograograpython-ltsp-0.2/.bzr/repository/lock/0000755000175000017500000000000010556400460016340 5ustar ograograpython-ltsp-0.2/.bzr/repository/revision-store/0000755000175000017500000000000010556400364020403 5ustar ograograpython-ltsp-0.2/.bzr/repository/revisions.knit0000644000175000017500000000543310556400460020325 0ustar ograogran0D|Cn$kl~Bd%q 62QErՎh Kows˜G`inbr; 4V\(TubkKcGƆ~ nHޣ~`Ld7ӿK:Q҇8В)yjP;B2A(y_zaLQ[8R8;R܈sPƤ U{+xl(U: λ@:adôv8$^+Dk]I陮C>lqYa>3} 90 w?6'%:ZlHW6Щ #ck }|?ucqx0k%IݮSHFZÕ pR;;S:(w93ƞ|196wJ=m(aǐ+rh8"9r:Jo{M)~aH:ZA4OR1F\ZL8hf||쒆q.꼴 X9E⺕zL3~K#s7?=u V/͟dO`3o#omln >a1;g.(h벏0A~Zhcds !ǵ_]\O9P 1hy}۷}]UAUp4\@OijmJ!Вe7'-~z ]c|pFƇI3۴>*H bPE$cBN1E]2 %^F7U-gS4H›;R?}x[\pe$]Ġ'i$*Q[1{j UiՎ )Χ@vEHʥ/3<*t6dp,Fdw;iV/#'Ԡk|ݼǫw9#I?/IL;}U v=O0@ [Z4q" {u/Ec _T`Nޝn0Y?x R n 5/ HEQYA]k+bODUE>b$`c.S7 ]/SaЂtч87T)YUtZJH,) i?'$PZr **KhS'l4x ;#4s Q( Vu]Rln{#i^!;v/x.iن'OIկЙK _ Xhn0 @|Enq!Q m}BlPlm*z~_tqWC3)g`39p/,ɕ("LV62:-Y+G@q) ~ цσГ'o0/k8QM~49%m(): t'5B ֊-N3k( \l[nJI#.sI9gJ ߥaIdV9.U3qdIQkx+&RݏsI\@쾏u#;q;yokqnNmkVɥCX "~pwH|]?|d* ln ~ ġ7'1@\O_(ROf0Dx ~ͧ,s);1.a,6w6 Ґ\ZuBUղmn,T*is}~K CG_&a aHiJ_Lu 3֔8OK/qQk͕Тd+X`l.vI)InƘ`^;ʹj^1!muWz_x*AMUCܔA.kCDUBei 646c#$͈yU2`Uz..e[fGa@:5CɬλaF8볍eƜ3f%^"7RӸ̤dCD]fJsq@@!;$׌vgs}M3'^]GUiI3uz5\ XdE. /:ނD^(,@R؛onJI4#ƩbŒUY&ۥhPGly(7:–@.8 3&Nyx0gM9tdpynJ |%VZ{e>=f|a^t{5ݿtpython-ltsp-0.2/.bzr/repository/inventory.kndx0000644000175000017500000000111410556400460020330 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120152840-tm8jw2pnfvj74a06 fulltext 0 155 : ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d line-delta 155 1891 0 : ogra@ubuntu.com-20070120155509-g9kqyv3wuo718n77 fulltext 2046 1643 1 : ogra@ubuntu.com-20070120163231-cyrh200uv9m22xy0 line-delta 3689 253 2 : ogra@ubuntu.com-20070124152128-hj04lryv6u01ig0b line-delta 3942 340 3 : ogra@ubuntu.com-20070126120342-1rlgde8qy21yw9s2 line-delta 4282 274 4 : ogra@ubuntu.com-20070126120627-cop5ykb3ikzs1dbh line-delta 4556 271 5 : ogra@ubuntu.com-20070126132504-i66rkm79cwv06rq6 line-delta 4827 269 6 :python-ltsp-0.2/.bzr/repository/knits/0000755000175000017500000000000010556400372016542 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/be/0000755000175000017500000000000010556400372017130 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/be/prerm-20070120154949-y10xxqx19fm7zfqh-22.kndx0000644000175000017500000000012510556400372025770 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 585 :python-ltsp-0.2/.bzr/repository/knits/be/prerm-20070120154949-y10xxqx19fm7zfqh-22.knit0000644000175000017500000000111110556400372025765 0ustar ograograV]o0}ﯸKeFIKZEӴH{ôI/ldH3!YAh~K>\֨PT*FL82$q21#4l> S2 YLf$p2NHQF0Ni4 'b_c!}u F]aZLI/ף8Xw3N -xx~'* 7T 6f7bt[w} Xi,'a{{t@(m/No Np S2J;KZUQ=(cC/J#??}TC.[;9{);iL{KN0yd֖s߯z@P9R:b~{At6C8@  77mݗ|z/Yljzׯf! ?fP'j TU `vܟ뷰@.$.1Wyyz)vn4LqZYUP+7=Ru/*veI]/Y;?/?}Y~~}~mG/$: python-ltsp-0.2/.bzr/repository/knits/74/0000755000175000017500000000000010556400370016772 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/74/copyright-20070120154949-y10xxqx19fm7zfqh-16.kndx0000644000175000017500000000012510556400370026520 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 791 :python-ltsp-0.2/.bzr/repository/knits/74/copyright-20070120154949-y10xxqx19fm7zfqh-16.knit0000644000175000017500000000142710556400370026527 0ustar ograograVn1}W[u^\HUuCCBE(o5,+ _YB6'`93眙Z'3S9-/k(:$(>>< r|I_,VhE(mp ]PYjeR3k{_V*VjL4XC]~jyliIR++go ʹђ3=/@^>5},"8%x+S'Z1LX!.Ԃ9G;w`˛ \FKʩ ?._.Bq:a&ɕgQ0M&~o!F4c$!=Iٌt'%, ͵oo[(aHEJWB c5NXE^Xt=,TR1 aPk_[=fFeiLBSIc ‚I>P";Cv]IK2Py{3In&)EsKsdSGcE'VQ9G`n]x|p'ˬ^;`&O(|CH U;# Y! 15];Po#ܾ-p]{[(JGU] ١'vŁכu[r5B]aF~S;5;0N\oNꚊIŹv:.7$R%3tO})U~|]V|Ik.7Cpython-ltsp-0.2/.bzr/repository/knits/9c/0000755000175000017500000000000010556400365017057 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/9c/preinst-20070120154949-y10xxqx19fm7zfqh-21.knit0000644000175000017500000000077010556400365026264 0ustar ograograVn0+N4Ae-^T;Q5CElh "Rbs{q:ʒuQ+_OEYI%byL*32\.VlD3JJbVe\9KX:Ob b{(C-ZE;p@q j R2,>Wqz;8yBnGt \7pDA!%]í&:tsb^ndcw6oHP- ZRh4aa艐c;78nfX5նq-Ǡ:p@f%arN@έYW@nnNikGsz=,֐r gV4sՃҍbzrp?C:V-:\(`HBr:? ^m*Th* n"io?w'{d\\ @ python-ltsp-0.2/.bzr/repository/knits/9c/preinst-20070120154949-y10xxqx19fm7zfqh-21.kndx0000644000175000017500000000012510556400365026255 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 504 :python-ltsp-0.2/.bzr/repository/knits/55/0000755000175000017500000000000010556400365016775 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/55/status.py-20070120154949-y10xxqx19fm7zfqh-33.knit0000644000175000017500000000166610556400365026500 0ustar ograograWMoHϯ(e򡕖E  岣]ƽ1Vw;~lga0=;&}JbwիzU9/h ڈ W.zwn ި=g߉ꭕ /"qՏ2 0?^^^u{z>G+0[-`Ѽmm':N4'-+0J+f.ԆdH cVU! F:#!HBEFG2e(.Aph6t\>BC͘A*CEb 9eU'i")Ps/g@6^K,Rvя*Z茈HRU)8ORx:]}yx\ »DS|2d$,DmI ~9]LPtMW%=,` b5< ?.tKƅIHa:!S{8_8999N91,As-8 as9BV [a֢eu!u6Ѣ7~vt ĉ6"K4~Sbi_anXLTk^I\nH+H-nw DZeMlELFng% ;ۨUkKm'B{ӽNn+NPƶ ?\x*reV?1!Ep(|JjSݯIh;[R.jh͑U~v#*9H!U\rwx@7]:Y/ bClo45`5N+dg@ch.4[fi)\EddMj7 python-ltsp-0.2/.bzr/repository/knits/bf/manifest-20070120154949-y10xxqx19fm7zfqh-4.kndx0000644000175000017500000000012510556400370026370 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 245 :python-ltsp-0.2/.bzr/repository/knits/41/0000755000175000017500000000000010556400365016770 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/41/changelog-20070120154949-y10xxqx19fm7zfqh-14.knit0000644000175000017500000000216310556400460026434 0ustar ograogra=n!ާxec'Q(iRvMa}KG7S̅r)B}Y%e;3@.%r͔'uO ##Zsw$QSR֣1zJk=B-33 [ɗaa} 7-mLl(e >Pl+<1>m}n#9bL o!6Cj0y=idىG B(ҳloG2+o_f-0{,s, qYc"W(rPA:9M<h{ K,>/v]ݛ&2Ac]ᜒcK:KxoMO O0>^T-AwnP NI2Eof[n0}J3\;~R  ֎$n3vd;SO_THZE#yr^[sL&LaEPF(2ZeŽ|@X`eMʺۺi(JIx]oJ&*~+ړTq5qC2|@{\?6Y>y<7:;W T H-B\wf[ᕇQ9h=7jЇh'NeX;,w9[$fAJJhX n> YL0',ۃp SE1xh݃T]^ϋ/ kZM.FuGn?ΞJƨOvdߣlIY"2Fǎ]zK:E.WF*< "AqXli@m%v=fe  0@NqmWHK a{MtKu)W&%CH.{!sY%ixpǍPN i)kƩV3e o5-=/4OpZiBf a% 'y`mH>q=BެJpython-ltsp-0.2/.bzr/repository/knits/41/changelog-20070120154949-y10xxqx19fm7zfqh-14.kndx0000644000175000017500000000045010556400460026430 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 224 : ogra@ubuntu.com-20070124152128-hj04lryv6u01ig0b line-delta 224 284 0 : ogra@ubuntu.com-20070126120627-cop5ykb3ikzs1dbh fulltext 508 452 1 : ogra@ubuntu.com-20070126132504-i66rkm79cwv06rq6 line-delta 960 179 2 :python-ltsp-0.2/.bzr/repository/knits/6b/0000755000175000017500000000000010556400364017052 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/6b/authors-20070120154949-y10xxqx19fm7zfqh-1.kndx0000644000175000017500000000012510556400364026167 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 140 :python-ltsp-0.2/.bzr/repository/knits/6b/authors-20070120154949-y10xxqx19fm7zfqh-1.knit0000644000175000017500000000021410556400364026167 0ustar ograograM @=53&q3@g@^߽}y;5"kjC/[?-=(PZ 8N}{>򄩬&2Xؙ3A'44y0(}坛5_? .tWg'python-ltsp-0.2/.bzr/repository/knits/54/0000755000175000017500000000000010556400372016772 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/54/status.py-20070120154949-y10xxqx19fm7zfqh-41.knit0000644000175000017500000000170310556400372026464 0ustar ograograWQo8~_1BjPEZTr 5ؑ8INw xol^P$fa.mމԶtn/Ad_6DWC+;}ϯë_}>ƃ 셟s0_P榶c$-0fRIfwjCJL[Fb4N1 0V0Ri*._fKN E5G55c`&"XIC嘸:U0QYR-^*@6uР2V/1;HG?{:9Y$QPDͫHSrq^%}|--erRAXͤݑrq$ߧɑ7K<,`b5?F ?.˻]_&!qLxް^WZ2g$%cB Oee* qАPU1hԚzZ+޼ާGo N|KJL֒must8|ZVÀQ\J!79^NXj(  &ι(UCՔ@G(]>D; c[e:9 8?(T]L+<]eV?1EpUʥPWjMBے E'YwnD´\. Rƅ-{ïݥ;ߖeonAa6Y]t-mhy<4Ph ͖+#t4 |wY}pmOp<8 [!cuj*W2敝GDP%#A nԻu};z8 OoLC)hq;?tQ}hdq\[%2͜`n|⋲4_+W3+ b&yF@ȳ~<(1\Emz9WRyZ5~f!`g5xv֢>*}1 ӒG>zrZuZ>1TTyC`âgJi 5I1fbbGݮwq |%_v<3|VD=$-CQ3kfSI$w*954 d| 2b+{;D/ %毊ܛ,p0[UG_!a:Ei$BʯC^U}=mk Xv6,i5~^Z;udE\an1D+l^ %UB{χ FAJ"jfzIKPq+׶Y‚HS\﷾Nd FgGC?d?rXs`A4F0uoP> jkkj}}~o~X0 p*U*!C*Og b - python-ltsp-0.2/.bzr/repository/knits/e5/0000755000175000017500000000000010556400365017055 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/e5/__init__.py-20070120154949-y10xxqx19fm7zfqh-28.kndx0000644000175000017500000000012510556400365026764 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 153 :python-ltsp-0.2/.bzr/repository/knits/e5/__init__.py-20070120154949-y10xxqx19fm7zfqh-28.knit0000644000175000017500000000023110556400365026763 0ustar ograogra[ E]@VpѤ[~ߜqEZ}^ HrAboԱfB  i,y6A/\GUu؏@,{R6:KEn롖python-ltsp-0.2/.bzr/repository/knits/9b/0000755000175000017500000000000010556400370017052 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/9b/control-20070120154949-y10xxqx19fm7zfqh-15.knit0000644000175000017500000000104310556400370026250 0ustar ograograMo0s衑 lڨ"U=TR=Aca?~\@ȃ 숍4t5a=h;IQDqFqdI_gUĵ6b)!IȒT&"I JJķiy9MT\WJtZ3HXȪce%w3*mE\—V#3je@=iiJn]w peԟI9 |i@VDv=X2tu{CMg7ƿEPlO?hu:0ͫ~ )+?32@FNI20L-ZP zW g gPnVXBDBfyjñ@Rg! 'w23t1td%pJ5Жv؊-]goU%VngfAV,wDhrw $դSlīڸfzʍMpython-ltsp-0.2/.bzr/repository/knits/9b/control-20070120154949-y10xxqx19fm7zfqh-15.kndx0000644000175000017500000000012510556400370026247 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 547 :python-ltsp-0.2/.bzr/repository/knits/82/0000755000175000017500000000000010556400371016772 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/82/diagramm1.png-20070120154949-y10xxqx19fm7zfqh-26.kndx0000644000175000017500000000013610556400371027140 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d no-eol,fulltext 0 13253 :python-ltsp-0.2/.bzr/repository/knits/82/diagramm1.png-20070120154949-y10xxqx19fm7zfqh-26.knit0000644000175000017500000003170510556400371027147 0ustar ograograŻuPO?:dAKp4{pݝNp:s}n?U@?}HO?g lL,lut,,98ؙMM>3Y}nLcdhϮʬбp|d3K}b*S@b S n~ +""".ˬ@D qaAE産e+cdɟ13qfU?hXK^Z=( %QLtB,gEˏ]"fx1Ί>"a?GN؁?D_QL"Qy88*0d`ϛ߰ʓ#34|#`oA_%bҵEo^l|1x#bSa쾚5HT C3Xf q^*.';\Dƴns\3ݍr).O CFs$lh- mƠ)b : ai ٯ{yꌬtB05h(gZk$M%JnRocvD`IwZS8_"M~C gQ7qxm;~b1uvZKtG+1q*)6&?2__<~YS]F )ftߑA:+5XWø-SNobMb)3;?vLv91q|svWdOqt Ğ&?zMH2恀Md>aY^\Dyk:NvW2ּbh;MG-c] 'ΔI0hWfyt zoOc;tnCi|iNg+ Z>-ȮdXmt1Y( = ́Ff|^w$ƦSziVob-cp?&N7Ow.ě*BB7E{gKޚ{5ۤRi.Wyy4e+YK[%*vrtsB%[x`WPz%҈c*6c8hjR(?n$8;\*΋r;Adߦ]N3-WCPwC2ppުVbJ<#C(PPgl0'ۅj\sUJBɓLzyrе%o_`kuw wL\9-7~wj5VT8+(-תιc6l}m4BklY|d͙;w4_e['ԝUوn71+ ˸>"WP_y0.ˌEm4_ z²9]sU ʸGI4i'MZ@-H\ -(,[zTOҵbSvQvRԷlW. šBOld`_T6wכ|-R]^GM^DžJ%+%`em#&HmݲqL QS}p|ɰt;S&qDgf:P"KOr%.F5ٗrl>>oV_=,r5'ۜT^ I0db}ܶ?X^"Ĵ;\ky3f279+fJ ZpjM ps K=u#C֊q=;TʇF1hs]I/ Lnp~%LZI|BEZ7vu_}D)BJSz%$҉?Cي8Q\aO1Ԍ%K1gҀ'ݍmWQ^d[0Nqec46# ϭt'ᵽ8u-AW$ |nQX7ਬwU/GŲ0اWT߮!LRN5{{CNIu`A TBoK@J8ʇ˽O oQ#U e*U.S 9Uu /%g4q5z~{ֶ8Uo&kѷ1#e}: Dru(C꾌e~ETEE  |i6wi*TY(CćLt430;7dlwmkso"4p;mmyC\%`JWӊ]2)m8~T&_ıJǍ11cJS+zϔ6nNU[QUn ͫe=5d"Fp~"k K5|,GpPXjH jd$)q=`XE&r1|7xSvS8cY0dPyjs XORʊOcכJHdɰf:Xm`nwGů$+$X:z A\oQq7)04'2BP}|8CW2җLr),aC]0#Q:Im B s~a*!ɔ+%%)J /?:捌#e^`.Y-hmL.eOQofRԡ(9{hr^{}!o1P19 M)=Y(, !U{J~}V6$ٛTW!ao}}rPB+89uueED^nunx\10K#`<"zR,'碰DU+iLQqU?0U0gqc@PhT~"q Y7SE:>y5*G2H:_|ig61)իe х 4 ~ctX>a+^RǞe#cֶ8$T<6GCDQQ1ŽP0x(Q{ =`MoӢ j#>|qBf, % 3]RFg\@ #ޒS/ MYP:эtQ^ o?9sn:L4Z܌11rNhp,Ƌ€eջC)"zE@B@Ao؛Ώ8_1a1x }roHk}d}dzȯBT)N~hoRQHD$뾳c~ f#(VԂ}S!> DFf ڲ.GrkߡM}i45=u\Y/$ճH.rw0"e 7v 5=D<)Oz7OEQ'kZ} ;ih$hzUxWQ>D It1!ARQ7m:rq~p??GIP?"2{f 2t"~;DshuAH8&'OHf MO(\_:) a5r\I)Z 8D>!yNgUE:"-d@XOO#fDH 9`iTKg "Y38Q0I >h*S&A%ݟ.rnRSPh0.R_isWH)0VU bWR^ѝ:LwO_:{[ d vUs@1@.ήً4uE:RfD? xǸ K_AO+^/DK"Yxd51H#֜]7dc@5.+: tp hI>2R% d" M;6&,L`#y/5Vj_Bef酌C*v.F Ax#bԵ&>lwU,Hcsz Z'$,T>@P t&NiN`r!Wx D>0~=ysM!PNB^R%I^qer:P72O8*:X Gp!tQbiAHgx=$#t{0SLʻ< {¾se-^Ie8〆SH$۴38x87+?0`$&3.l˩lp6#4!:kQ; O]^|=(<{ #l.3p'" 1 '2v&ٺFxC0j(.GB vxNd+GŏA4$Dp+p₀j(ȇ'f*9<ښTҐw ӬP j|[rn׸3_‹(p+nl;Z*!;nfu#菤_ѱp5сWJl^Nj4Z4~=KJJSЩғހ6Yv/lUȮɋn!S  {唚tiχ`t06ڷ[srXBp$BoXq8b4R/Ӯ$!l] y"6Q: 1jN*rH 777Ĺ$1w^gɚOh`}l[ckW{##Aׄ}rotH՘33)YXJ4wԘ.`o=kZil]ķiD9Vl8ҕ׎ ЃQc"emҨO-[:Flg>eElkk}+W.(C Q Pa̹\*=_\=tmmn1  xClA7ظIFu&EcH&# {7.n_9IWJ:,ti{H BHj 2ILߝ/<% 4Es+o=> ᏣtF鰾%oU|AB3 )H5 O$`q /Lڞ P?Ao-u7} :%k<-w뎐\W_љI8ɺI7Vޯ :*EBɜB^eɃO`8 (Bdݫ~(BǏ&w{^~rAc- wfw{o4L6XC:/'W^>{oՓMB{P؛JM%-DqچJ[w#PjzhW9㠘汰v6^󧳷Щܺ."2u0TUo8I N0⨲cJĚ{r·6jABsE~WaH SELvr6=&<uw ڜ/}缡"@֓y6{{'Zl -w%X6Kڹ|8AlGLISe/R22ϼ1v YLZ?[ˎ ^P7ᇭhEG?äQۑyFjX6-QF@Lԟ<^ 9|7Wo%Z w >QZFmHHf݊wXuZ.:빁ԣp+`da"ǨhUSx.}tx j@/;@RBZb,:Cw5Ad!qc֛ [ćh:ЪnxD^LϢt&V" R=%!f*bm_MqfdlP'(YƔhOz'l5sBj AE*h;%rL8Y= ?yqEY"zZ/?@IS3%*ct98##̤>Iwg,fw!I` ,Wٺ)O\Jb'.`6, { s5Hȓ;Y1){h[D-nY,d 5:0:;@M|[L5G[Wx:Y޾ CG݊`9虏 -A]3dUvt_*ӿBpD"PxBk-?:8lgr8 0J=Eb,$'lΊ}9dpjJ»w?O\*kq1͗0cY:*\Pxiu(feɡx O#KL4x<+e{`[,Y|IFB,ڂYw1R* JZ# +ўEg fP&@B~>9X)VF z N3]cc`L')RDn&i4I/LP41-ҏ)D ãP1]lRɸ R&]D asg++Co&&pmE'ml)>.W4CHH|rv:bȶ?蘘G{ ux s֢X kb0n8 Ҍ>󩹽jG$=u/V#;T xq9wb/OMTtHO;<$Ѿ`,Aoo/yB1I [(@&!LŬ[8Qq7J'@6#Z+@ȓ_jvZ {JETNR9 Ɗacd[k+*"`&>mp ^;d,3YCsxG F@;|= i`M|3 ;)Vװ"?°Y *f'J<0#h="Eyϭ(4W?nY$T$a\=Čbό┻2d"~cFx&Xp8~<'lc<lH5Mp٢0/5sB!FK(+ډrFӇ]oZ|sTSs?Z>%sԔk>nJUܙ*X0i"ybcd % :9g¥9{ncj[ٯ=LqK6׋_''OVIN}W2{qt ^Th>шT$rox-cM;y[t!f{!V/J2#*ce5.a욆V`]-[ܑ yd#*㰭ΥؘU\-<y \[!C霈懲[db׷33&̄stB7NyՈ5Qs~Vyl5wkD%@/l/]WUʷ*.,˫iBe=Ϧ.iڼ>FyVL̆$<$Rz^GawNG "s%#wW2q/t,j~%禹!~t76U8\*lN.O};eiBMHl{/\II3ՇO hs9oMYŮ:/o4ցEWQIx/Ad2&qkq;bg^v3;0e`n2Q֟YՍw4 [o%cL1[-۽M/nV`s/0a{҃2{Ң]<1Xx/OIAh<eUJŚnQ\e}bTq 'WLM=Lg3}Hx`㰵w2Kt7<")<\2=cZ<}܇%N6l4>qœmsXZ6>Gc)h&U/fK I_{UM~ekmuYvIݬIs4-n27cqMvw?I.B{{̊ʕgA`)3Ruպm1K%-TciZ-j񃱄4N9?fKjSݴGRݮ3%?f5djE ϖXy,>pe~ziQVR>vUט.Xc|w 1G.+LjvWu@Q g -.I~~*,ZR4@Yl[<5ؚfx8_5ħC+$x)2_+\Iz#+ȯwdFv4G3G,7"1IX8PP?lv^`JZ0Io]}t LNRFr"Rl}tiELI[z|skF-]ۺc#˔WM<ďyKnTG;LfV)ãCᩋ;ɣb}vՖ҅U^G\IċN;u=,`ߢ k^L+0K#U%4م>LI.Z6/FƟxvF=ޛj/ޟF/-r Ǣ,6U;ZJ '9Ÿ:Ri̪V\zgl3yIߚ~cZL}r6r6=v~ePZv+oFv#DjEr33Ў]~LcZιJ Vu+j<̆FC/uf]WV ]ʈݽ#IWHFu##@Kֲ9<2[LJ,+g'k!4}m"aNfSW;r "8\I'eT8Bhbմ oGnZ* CɫS5˯oW[kRh5 l喧B&6&>INZIs]ўkrG|_>lh?`ĻYEmq.wVC$ !E4l+\X,rA[4k IF@Rpython-ltsp-0.2/.bzr/repository/knits/cf/0000755000175000017500000000000010556400372017132 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/cf/debian-20070120154949-y10xxqx19fm7zfqh-8.kndx0000644000175000017500000000012510556400372026013 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 117 :python-ltsp-0.2/.bzr/repository/knits/cf/debian-20070120154949-y10xxqx19fm7zfqh-8.knit0000644000175000017500000000016510556400372026020 0ustar ograogra {8%ٛ@v8#8X+}8\G<{\=<ѿj|w-$3eȿ&GDlhcLMM y5 ;HMPNl6EֹtʧΣصlh`+Qbe d<{~ׅ! c^[fYN$M+!\J* XpX-Rv(cTHsJ2>HͪB|\*"60AirF[sj(:3k${?I"^V+5@~h95LSD} ﭭA:*9/E򖦰NI,<,p-Gne%1gC@{^/python-ltsp-0.2/.bzr/repository/knits/a8/ltsconf.py-20070120154949-y10xxqx19fm7zfqh-31.kndx0000644000175000017500000000012610556400371026664 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 1445 :python-ltsp-0.2/.bzr/repository/knits/5e/0000755000175000017500000000000010556400367017057 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/5e/ltsp-20070120154949-y10xxqx19fm7zfqh-34.knit0000644000175000017500000000016510556400367025564 0ustar ograogra {8%ٛ@v8#8X+}8\G<{\=<ѿj|w-$3֛uG$@dLSO`mG sZ1 ")sUcx `F*HgVgM.7python-ltsp-0.2/.bzr/repository/knits/d8/readme-20070120154949-y10xxqx19fm7zfqh-6.kndx0000644000175000017500000000012510556400366025752 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 123 :python-ltsp-0.2/.bzr/repository/knits/02/0000755000175000017500000000000010556400370016761 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/02/ltspmanagerbackend-20070120154949-y10xxqx19fm7zfqh-35.kndx0000644000175000017500000000012510556400370030325 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 542 :python-ltsp-0.2/.bzr/repository/knits/02/ltspmanagerbackend-20070120154949-y10xxqx19fm7zfqh-35.knit0000644000175000017500000000103610556400370030330 0ustar ograograێ0Sp aWjh{1 e;t^@B3ooI.FMvU͓d$].t5KSe P#/TWIUEU1[`Zd\b2K1:.LܿVe5꽪{jCf8+{2\bJ9|@2=7|Gx33goȳA,gE~YFM11>ZNƴNd|0 |Dv[A?>AtV|=@\XhI#ِ3 d ![gcEڪWE>< ñTQ^K+-뀋Z]giٝo`vd>3ibwʢ> 4vp.=zC| $>-g$~R-y -Dm!}Lg~b\G>o/^1+\J^Y{=7vCqq`Coӓp_ python-ltsp-0.2/.bzr/repository/knits/b4/0000755000175000017500000000000010556400365017051 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/b4/todo-20070120163220-3lecuc9tadr69bc4-1.kndx0000644000175000017500000000012510556400365025277 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120163231-cyrh200uv9m22xy0 fulltext 0 144 :python-ltsp-0.2/.bzr/repository/knits/b4/todo-20070120163220-3lecuc9tadr69bc4-1.knit0000644000175000017500000000022010556400365025274 0ustar ograograϱ @S 6tY]0D`P}IPmdQ^=3l "gK}s@aVFXbi=ݥ9Ԣѿ},ٙUՑ<51Qw//B@python-ltsp-0.2/.bzr/repository/knits/fc/0000755000175000017500000000000010556400366017135 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/fc/examples-20070120154949-y10xxqx19fm7zfqh-18.knit0000644000175000017500000000020110556400366026467 0ustar ograogra ;Sp&T DT3doVN0gc'Z@^a=I2r9#2$K9'0GuߏMIMWgR>python-ltsp-0.2/.bzr/repository/knits/fc/examples-20070120154949-y10xxqx19fm7zfqh-18.kndx0000644000175000017500000000012510556400366026473 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 129 :python-ltsp-0.2/.bzr/repository/knits/ce/0000755000175000017500000000000010556400370017127 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/ce/lib-20070120154949-y10xxqx19fm7zfqh-12.knit0000644000175000017500000000016510556400370025414 0ustar ograogra {8%ٛ@v8#8X+}8\G<{\=<ѿj|w-$3P 6$&n sMW$#JTQTCC>P tF/{lm6~HJ8.SJV2~b'49BTE{Tb:_G!.0?vɌZcc QHN(eh^PfY=xr.]еp6<`8 s!̎a?yݲ*x͖5}hԠWV]wa̾QSe:M'4$a.yz$8g[nEn= ^+kE׎kDOa8,pR+ O}Ip< $8[d&8Oקּj~[*88ô#=7Oh:p|߼6SX81:8m^k7:ngҲȨ!: SkiT7}m8AA7w*=Ӳu0.[ۨچTLV2Bҥղ {6/e54##5l̞)WM-4tޮ G a]&FAϘ{Fka_'nvz6-Ͳ8VۨwUoV [ѯЃ~|4ZܽvU }Qւ`ZSݺ a[FPl瞭 1wW R2m6mnmdBH2iK1%YK,YtٵɷRvY)՜aAOSfAe$|3jMmYqQMmsfw#V %iyފǨ/-+y 'evxrSy,j` ,pI4a) AXގu FML|U^y}u w+{p;.s뜺:<#c\ȯ+gHpޒ-Kk~]m2Ij&)ae4<ݯNS#ɠʡ%uk.kRܥދ![ks"\X he¦Oo(S)Vfk]J*-CKd/y =QX/ !9Uqh!VRժ%܃)LAa;* ªT4 2+<1MmZ0rW0$էDu ~WU/#Q(\ܔOrk d ~,hX9u2ʊOR.b!Ԋ+LRp/y73=u߸c旙DHI&3ߟQ/ȥF7$gѩ7 }oLǢ ?1CIGjz|L"',` *l|:Ehޗ_0peQj.-D 37sU=T@ !)V+ԫ>]Jیz{!6Âx)i b&I~^_l$HD+TAHH^wL9f~~S(īENqyaFkcZ% Ihg9RS1?cǼD.۟ڰ;python-ltsp-0.2/.bzr/repository/knits/a5/0000755000175000017500000000000010556400366017052 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/a5/scripts-20070120154949-y10xxqx19fm7zfqh-27.knit0000644000175000017500000000016510556400366026266 0ustar ograogra {8%ٛ@v8#8X+}8\G<{\=<ѿj|w-$3V=;e2!+3?;'i}/*xWQssW!5u^kPe:5| ! $,Lvfyrfͣ߻χ<:K?Q4XfN'1`VٻkGTIeăK4 *D!)!ievSR0QMCQvHH/ԧY\2qYbi\&)XR@a}ᖮl#aJ: `G2-7gۄ1GVxld-Ly+<^`\nA6)Y$ eu3/H*[/ޠ]v-,q0UЎ-M+FڨoNC˚smj`EznU}Rv0ЄY<7h.DHMlҾo"tetvH](޽?\NW~ޟLxzlq;> ħޠ7ފ{qi YJOZ?/lΣŲG@dzH\)1ų̕4,0tiO|8b%c9SQĻwǁtO q|zrrG!zO*_gHʓ(T(L`B#]Ѵ)l-#SX8T+f2Qix-e҅ \NBq~u+Lcb"J*-R>B~>˵Xgeޚ4|^ppEG5kZRy6R^\⾜R[5 JCʢ+7&ky-<2A KgÀZlKO&j/MVU[U ʂ%PMњVmehGbRL"XD>R`Nj(Ag ?Ó#c8mkJ=քO@d2eHӇZJSjR5 kRSw?{z7 ;JFR8 9 %:867_(hudt:^1Xt^<[91?8~(\5+5|s{&:Ю>[cɑqx858HH},,gM Q"A=cT=jv{Wx,(c؏6Gb+pB:V@ A홬q`0֤)8 1 Aꎙ8?'U懇a%nZdS 4xQ`;Q^' BuL:ԒIp"C,V2Гަ2I1Wߓ4uP+KL'Q!@P~c[[dk5l|!~ȹn,+q9\'`,#c)WdԿxwëu?w9J'̸s5"oQ' bhTgŘh6j"ר%u\^*bnbp?<bP08@`в6=琓Pla5V%F\[lZ00Q8x,ExxNBݢ¾Kl! S+R7?U*@#G $Ko]YSSvQzSERkSBӕD8D8_dȵcM.18!Pչ3cQCH(=./r΂ RaCs& k0QW1z0?i`QI:7""h]!blJgE.' JMa:6A.'3΋j@) g~„rZs[feEs)Ja+Md[!b-—( ^`[@kIRjLvP/Am}f5RN䄐y?~Y+&hGpAJ@fަ@ ,D4EXC53Tb' E V&Ω5 莌]>Cn ;p3IӴNlTWV l|/I'5^XRkT= mX虯tylB!OK M`aSz \PSE. @mOfnkrO bw.@\K#rG\;WNat. < "gYBLep;'bRgiP v-}C],.zqk, eb<in#g~aPDݷ#ϕ'k9="5mV/ #kMul= Q@pXBd| _ÉO+ Vڀ?:9פR"gRK&CJ g[/\JA lmԳDE_0s" >Yd$㈗ 2CYP߹̩ѡ 0` *)pkאD@鈱6fK*ت>lzQܔ`'9~Y>8Pg/Y(#gOgExx#Fwd I9L"_/ϩ,E$#;o_kh$ Tr:YY!FsM45.64{@ >HCw^\ü)VK>DRy3FrrL ʵj=vo'l~*n"Q@R{!Rlق0 Giĵxbqf2ɂl̊LXMko@P(Kjri`a_לSF>ɧR 4t5+gO o j˛)CN":wG~3b4G!p|׺P ` |k$$EGphC!<$D`+PH8* ~ajI6?}>6ᾪTeZܲnsk3jFGI[S/ UGc¨^@|!cR-!Na{I%W[iY3p3De\Rܜ<׮#8b01YcJC{gNeߊeNY4Y9mF֡2®8M7Mͅ2Ǥ* ;9M[+K%+MQ)G4S!rLkOl=}S1 hK_}t%H2hG hRiE{WL7u8"i\ *wL_ Gt#UZ|RO B͊X² "U_{bh1u:J;#(jdESnj[jsiW[[a֛Bt1f)j hN̹SsDM^ha4yF$Wz5c;:0LUgd2!Yj5\3J#Ѹk>*Ri Ǯ Tmgud>y1Ei')"Ǡơt]w[<06 0{k4 OY-rg)+a2jPvSK}wQ?t'_81Ka6xWQNcmFh(xr@Q+4B$^!2-T׸L ^Fj6~Xo*:\!cgT<<߻CmƳrJ&S< fqPMn)-ǽ.u Pہd7K4`kZuvu9zבe]0,nlI33c6;{oYIf6A Ct18f@cU]_a_,y_,Q4Oat5QԌI$ E&c/oH'f`J K[}B=~$LM + z ŗhL'qѻ>{brQNvᕸzbx-.oO77^Vi&DFw_<=,{q/ .{~OH?_FIGO7q3hZEqMqsx '7ÇILdvw(\'½G1GD8؃W4H(8g4a2ߵzZ@^E[I@geN^>vḇ(@lKtsү݊0Hм.I7/u9^|W ?|'tbл~tGb}_⹴&\\cX6Gڏ~PC65 A`&ȃR:{bPZu/x>m6"ս~۟p53l6e>vRV"!*N>FdT}ڒiۦ8׺a_|v8Ftq{çz8o2ˇrvƽ? !l_GEީ?J\w-+ȖTkDG_V.otz7 z=Zs=5=U`ZߜP4rm޾bF;뗽MP+vfǺK7p9iT/3q~]mݬE9h_=k%N([ k7.,d,0WMkK4qˎzf 'رR^ %^("U⽌Qcak\^ղv`z|qa>a+ow9qK1DwJʳ뒀WNɗ(y52*\ϥ`JƠDPjOj>Y=1ngGo/D׿2o^ 2Gk0w=xm(P1 u#|h\RU sw;7F;\ڌnꙶējuj~ŷ h`jQcƚOyvQeGyέ7up5{5IK~;~D%J۷խ.#Sސpit([ò{vafuʏI)xs󆱕_3Tf/\8[<"ja_O1s%vу=5D~?f,\cNyIrwY4"Ŀ;{hb;/\̉*#ñծ`5&kpMYK NDLP,N~<UAF 2#1~u/Uc+ ^j| {⇪)wc!-yЋ^z_Q4RЩT&!Z-  /U @`zq˿e=Eᡆpython-ltsp-0.2/.bzr/repository/knits/5f/copying-20070120154949-y10xxqx19fm7zfqh-2.kndx0000644000175000017500000000012610556400370026154 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 7485 :python-ltsp-0.2/.bzr/repository/knits/de/0000755000175000017500000000000010556400364017133 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/de/setup.py-20070120154949-y10xxqx19fm7zfqh-11.kndx0000644000175000017500000000012510556400364026433 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 740 :python-ltsp-0.2/.bzr/repository/knits/de/setup.py-20070120154949-y10xxqx19fm7zfqh-11.knit0000644000175000017500000000134410556400364026440 0ustar ograogra]o0+NEکh !um%jL|B:e; iYj7 +@=':e_e|c^k"$@ek֥XJ/S3;R*ܥh+wj9GJpython-ltsp-0.2/.bzr/repository/knits/6a/0000755000175000017500000000000010556400365017052 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/6a/diagramm1.dia-20070120154949-y10xxqx19fm7zfqh-25.knit0000644000175000017500000000466610556400365027205 0ustar ograogra?) =$**5*b+iVBiJ3AZUjW ZU텪Ֆ>~>Ȩ0$,0eEh4540M&TO] և!PMNt` \_O @0-/-b{yEbv}̧ZжE׶K% fvb-e ['C@wMmWAk9/"%cK2&xmL;gs֍8e`7tFCV?/.~TƓS= j'OrפdMO54=jb?ՔhtQLLSB9B s}2bi10ݚ5m$8<[[ѽK80O1WWU9\N]YPD9DUB[Tk. r8,y!eEHckDt"s(~Hw$+ Fd5&m3N?Gm#ʍ/\v!p+ϠSof*+KMI}R-▽pR&ZOǎc ]|4 vO.#KuKm.+c}NjcT;KgNFʲ\ș)dm JtLGO ?m?} ~Ty )&K]lI6*g`u_^*S1'O%$7$  (H+1 px9m2N,Y Kmi ^pQU^ӿ*u&=1\jFKfHZD'r';=jD3JTyFs/05"iu_+cJ W.{-0C?4=s()HW\9X,sqko5xLS5R.mS;Qqd»g>>-m*J(b^ԯ\m4BO􇷑Ϸtmr`ϓx^O[W EFxO"unIP[9N pg,%ίGM(L3rOc?Y S VOb.´|N+7nN4? ~Y雰cFI)ׇcXy׼RyE<卑&s*.b]4Y4hCqh3Sܻc"X*eG+T[$^4uD,WG^d#Yf@8TJR HfW$ˋ/I8aˍ __vB<;mEH_z`}\ʭ%93+Fɛ:jz5qvև5l$v`r踱ޓ¬ #7]_ݛ1˶s9[e!w&{/8^]BJ&n ce/OYFV%*c{mXKD`ƹ:./.}>r; ު9 F9АRS7} V w|F\[hwianMq1:n49Cv/z$|[po@NwãŻn1G : j̹R^J {= Ee:jAӖ] BZhԎtQEAcdk+YDl_юfwVvEՠt3@jz'p)6kvjp|uS4 nv O˴B@(L_nX"TĕZ:ܪDg"/fC1OdUgc,2]=B!$-fno/\*(A 83+,& W afmi python-ltsp-0.2/.bzr/repository/knits/6a/diagramm1.dia-20070120154949-y10xxqx19fm7zfqh-25.kndx0000644000175000017500000000013510556400365027167 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d no-eol,fulltext 0 2486 :python-ltsp-0.2/.bzr/repository/knits/a7/0000755000175000017500000000000010556400367017055 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/a7/makefile-20070120154949-y10xxqx19fm7zfqh-5.knit0000644000175000017500000000042710556400367026274 0ustar ograograAK@W VIl" -XFZD-R~K%K_qff3bEb 4UulÃPb0\K95 Hפ=ز^eM 3rP.1^ 4C8Qu{G-]l Tpython-ltsp-0.2/.bzr/repository/knits/a7/makefile-20070120154949-y10xxqx19fm7zfqh-5.kndx0000644000175000017500000000012510556400367026266 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 279 :python-ltsp-0.2/.bzr/repository/knits/0f/0000755000175000017500000000000010556400370017045 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/0f/changelog-20070120154949-y10xxqx19fm7zfqh-3.kndx0000644000175000017500000000012510556400370026426 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 179 :python-ltsp-0.2/.bzr/repository/knits/0f/changelog-20070120154949-y10xxqx19fm7zfqh-3.knit0000644000175000017500000000026310556400370026432 0ustar ograogra 0),l?"ͣϰ&iԤiŷ[n31j삇0D:/ŧ*y\) iwZ+^ ! CHں%i\gȷutp1`lzva1w2&7zpython-ltsp-0.2/.bzr/repository/knits/fa/0000755000175000017500000000000010556400371017127 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/fa/dhcpconf.py-20070120154949-y10xxqx19fm7zfqh-37.kndx0000644000175000017500000000012510556400371027063 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 841 :python-ltsp-0.2/.bzr/repository/knits/fa/dhcpconf.py-20070120154949-y10xxqx19fm7zfqh-37.knit0000644000175000017500000000151110556400371027064 0ustar ograograWao9L~(=ɬ Hi#PhrIDUFȻe}kloz/*t$=<#+6",+:nwnoDﭕNp>F N?8za?F(t#j)wO_)@2%Ω EJ&Bb\zgO7wK_|>^_K4=Gܒ,O%ir܆P]͖xrp;/gn7}X_&q|`ڙk2ǯO)0E3P~Нv0/l6Lɾ{+t[V7sW?0j_+W^\ (V~{; }l-бt]}U,8,%nxmy>Cz55:RϾ[XEĭks! Zgm"T'ffv휻=$ y/8h2gg}snz 3Rh\ nicQ_^9/݇w^ܷϩ5掳E*ӬRG: [+7~1 lf#P_~ python-ltsp-0.2/.bzr/repository/knits/fb/0000755000175000017500000000000010556400365017133 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/fb/dhcpconf.py-20070120154949-y10xxqx19fm7zfqh-29.knit0000644000175000017500000000147210556400365027077 0ustar ograograW]oJ}&b>,Vr!IH(HIDUF;ڻ:;k@ɭtڤ_vΙ+2MʕXAAqw4(V/< $:Q<0?qzx(<G]|9[4.D'*qbm*uО+d3tۘ,Si0l4L "Xou 1W`PH댌J p%\ !SR 4R&jޡBCŸ)Lp)cTYbS5DSb'L5Q$~(iVPm|- +h2>?STUIR]P#RʔZMfDŤ:@)<|-_.a|ujywF]ip."ąarkB3̿/2~;-|b9f<_&9o=ԱT&q }@`BוvC9|̺>n $;yf`տx-'5)T'*ف''Wl]iLyf兖I2Z6YV>)W*yQPl3`SyH 1r:RuϿue-V#u].A YfזB͹J3_m0ܥ~/Ҿ{Bɮ8띲#bo Ta[[W-[`7=c;qgwm bV z/suvgBr׿aihd{$Y(9ޛ] python-ltsp-0.2/.bzr/repository/knits/fb/dhcpconf.py-20070120154949-y10xxqx19fm7zfqh-29.kndx0000644000175000017500000000012510556400365027070 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 826 :python-ltsp-0.2/.bzr/repository/knits/22/0000755000175000017500000000000010556400367016771 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/22/postinst-20070120154949-y10xxqx19fm7zfqh-19.knit0000644000175000017500000000113210556400367026375 0ustar ograograVMo0 Wpi[i i ðEh[-/@||-A&.e=Q"DmM?Q)mc*A0 H? a7w*$sXH{!ap0!at㫦HHߤ-P i,Ea!VM2k-|0e1Nc<i]w0ݥr d,Rc426[y?[n$RqFJ[,"%V&<ߙ`VyI1WKǷҋRq=Ouo#Կ|> |#qN$Uo{[0ulB&r^ai]7o>URkWUsUGPS:b)Xt :"6ל 逐?hc M|zqeHڹW/dξoT¦PG* T'eZ\ܐnf RbMh`qeh,2pr>SVԊZU %jj]"7IRײm3M2u''@DɛWN python-ltsp-0.2/.bzr/repository/knits/22/postinst-20070120154949-y10xxqx19fm7zfqh-19.kndx0000644000175000017500000000012510556400367026375 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 602 :python-ltsp-0.2/.bzr/repository/knits/97/0000755000175000017500000000000010556400372017001 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/97/readme.debian-20070120154949-y10xxqx19fm7zfqh-13.knit0000644000175000017500000000036410556400372027200 0ustar ograograұN0=O44NSU O`%ؑ! z:)]YCY^K$Ѷ$Zũ{B e$S{˺3ՃUF flEL͡J/eK^0ƄG6^Lgmf6NKٛbN'C|Ƣ75x G?]/rS N3E(G"ܑ 8حS}Tj,qpython-ltsp-0.2/.bzr/repository/knits/97/readme.debian-20070120154949-y10xxqx19fm7zfqh-13.kndx0000644000175000017500000000012510556400372027172 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 244 :python-ltsp-0.2/.bzr/repository/knits/7b/0000755000175000017500000000000010556400366017055 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/7b/build-20070120154949-y10xxqx19fm7zfqh-7.knit0000644000175000017500000000016510556400366025617 0ustar ograogra {8%ٛ@v8#8X+}8\G<{\=<ѿj|w-$3SK~<A&> a0o$>Oeh8wËss_^vPZSÐދ jf]_Fbyaq5F)JXX2&q! jVp&Q}cpP R&]Ic ‚I>P";tCvYIK2PiIҮ&)ESKsd/ #r1kܜL9*G <;؟<zl U3y@gB[R QJ4o,CYStu2W/arpQեp\I{p^1>;|1_[fx`bF|]h< S7ȿ5;s'DidGۜ=dw>H$@s.ډr;-eJf"7-dA}Lӕck_wK?xīpython-ltsp-0.2/.bzr/repository/knits/e4/0000755000175000017500000000000010556400367017056 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/e4/dictionary.py-20070120154949-y10xxqx19fm7zfqh-30.kndx0000644000175000017500000000023610556400367027367 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 2006 : ogra@ubuntu.com-20070126120342-1rlgde8qy21yw9s2 line-delta 2006 698 0 :python-ltsp-0.2/.bzr/repository/knits/e4/__init__.py-20070120154949-y10xxqx19fm7zfqh-36.knit0000644000175000017500000000023110556400365026761 0ustar ograogra[ E]@VpѤ[~ߜqEZ}^ HrAboԱfB  i,y6A/\GUu؏@,{R6:KEn롖python-ltsp-0.2/.bzr/repository/knits/e4/__init__.py-20070120154949-y10xxqx19fm7zfqh-36.kndx0000644000175000017500000000012510556400365026762 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 153 :python-ltsp-0.2/.bzr/repository/knits/e4/dictionary.py-20070120154949-y10xxqx19fm7zfqh-30.knit0000644000175000017500000000522010556400367027366 0ustar ograogra[msHؼqWA$TQBa`,ftJow7w{ĩ \Fb~{F%!ĵ$&WQi*ʛJR}R}t\kVy8=HT*ސl2}MN'#Z!ށc_H1| <6Uhɮ`-\A^= ΦćJ;ĝ.IJ!3uK$}kpcl) L^YHX$#J=*A)(*!Y}SN%:M|66RR Ω M2/a/$@N0kGv|?0d.9ZSs|&"/P>wEqj]w\]l u鐄5B:˩@!V5[ni;P^q[v́޹ӳV O48I0<OrGA.T8T̎|%'LPsQh,a&('H$ZNӹB=Xrϔ80WT ´#uW48aow7jVzݰ>`4qr>YEV jܰ;Iu۷5z&HݳƸagJv\5ب꺖31tZu+,wSHN˵v=߳F6PͶ}QwvF.٨vgfi_6 pxi|]`gұV9o[}C Q>aajď{a;usmFg`muz(]zsRw,k b^~MK.GX蛭c`# ?PP ױ̀vv8\CӼozڨ]XVWuxk=)#/%&B Y,蔳kO3(דģ3 ‚?(2!*^$Uzg6$'zrFJ:Q-+E'evx|S,Tz`4p8@@rג7W_rejʛ{R0*7@2fpKxuůr`sK62cK D;WL=%#{KP,m_|1Ve.t&iae4<ٯNR#ʡ-uUk.R N£!.n'H6&BAa4iz?k*Tu{ҔRJM{) ٪K~u(_,|lxD\0B+jUbXyQ-Uq~ua]4l$dVxb,G'~܊M֏"wz)+Մ(eM+!˛a9˱'VM1iհ/vu_+x(0QHe ϋP+F|,QH!o*fz*noˌ"Jrg ~6nˆT>BU@%h M/$ehD>OX4YDSdepdy6eBFF\ZD 33sU3T@%) %:}&ӕ\ͅgl.*"7,s ;](43'fEZ|ᦾp#!vP P'q_Lz2ݚs;g>7 V!5d#iww?l46K}?b3S%~´'ɼ _ bFYwyeʺɉ’o\veDܠ6++䥃<+G'9YP(īIq~ںoO27Y5 ,'|T?1$:OӲ:WK0W^dSǶl .-t=CaY㬺Jr鯯%}@B.kf7{PIVۢ K8^ń. ŷ(9|hKT&j\5t]nJ솸tbF.dvZm(Yֈ ސe9Y{8F;Yw{V[Ri. VYulh@G : u@̦ZiS1))K)ODEԽar+7X=xKS?\y 7F)aF:L;QV3(En,Mnϒ#¿Cnᡄ<30-GC89hO8g7?*⬈F6- H;V0;NJ!IL|4$O~hRh#CW*x[XpY낉51yy;#B/-P,NJ͵Q0~y=rOw6C python-ltsp-0.2/.bzr/repository/knits/45/0000755000175000017500000000000010556400372016772 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/45/docs-20070120154949-y10xxqx19fm7zfqh-17.knit0000644000175000017500000000021310556400372025440 0ustar ograogra90@ާp03[)iw%s?~VvwoCL PJ@=)ڊzVADNYaœʊJLـxoX4oTEnpython-ltsp-0.2/.bzr/repository/knits/45/docs-20070120154949-y10xxqx19fm7zfqh-17.kndx0000644000175000017500000000012510556400372025441 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 139 :python-ltsp-0.2/.bzr/repository/knits/3b/0000755000175000017500000000000010556400366017051 5ustar ograograpython-ltsp-0.2/.bzr/repository/knits/3b/postrm-20070120154949-y10xxqx19fm7zfqh-20.knit0000644000175000017500000000106610556400366026114 0ustar ograograV]o0}ﯸKeFIhi{/hPTj2)+GLAEN#2fNg3 laE4Az7dY2!dgtGS2_už~&B6`F[)x=*K/!y1@n;t^`A,- d OoF%$y|{?>C#WdP/8|0]D,Wjq=L dJӰ= Mqޱsិ3hąZ#5h0py*қi& sN/ð"AH4䊅T.6ezй 4e4@ u^Eܐyq3vQiTV/kn{ߟ_ d=*2(TjҲ@ `>OG8 -eG/^ASmi3LqZ:UP'=Rh?* ݟ&?[\}d;D(/&͐ python-ltsp-0.2/.bzr/repository/knits/3b/postrm-20070120154949-y10xxqx19fm7zfqh-20.kndx0000644000175000017500000000012510556400366026106 0ustar ograogra# bzr knit index 8 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d fulltext 0 566 :python-ltsp-0.2/.bzr/repository/format0000644000175000017500000000004210556400364016622 0ustar ograograBazaar-NG Knit Repository Format 1python-ltsp-0.2/.bzr/repository/inventory.knit0000644000175000017500000001175010556400460020340 0ustar ograograM @ὧiljЛMb ZZzMx#[%rY @Aj47>{ t9;)IјiS"ZlAbB]LɳЂ''6XtWFa;;=5Zn#}߯l)]շ*d$b;< }&/&OͮDqhn8&a"2E9]}T|պ[׫|7]ЀEuMp=_[Ϝ=c QrD8jH*ACoW7_w2,Vgms~]=*Yb t/mm\<y/_F7Woϳ(`$ ٴHjk2)U`~,(|oTPjKS3i(SB #-( 4q}~L+,|^ל1,},W|WWݼ\]].};QCc),sP9Tj P"z:#2zSe1oxS@NIR) ,FiU0J*ǃ](.hn)p\fƨKRȵ6Tx1bC>:-xhd`ngBA_BE5A˞C]ZV"cxp扇Ӫ ,%CB%'r&L8?T 4ln=Ɯ,V"ذRAj4-b=`X.͏BxևOO\>;ˑk;tb״/aM1!A-bJ9TjPrZؤLc6dsRl l\zk168d|Z`cV{fBhTu8. @!54]`A\dT ֬=Fޑ R_m%̕[6/8]_b`LQS *0(= }'1D`4")D;L)9KVpvE BcA'; ȽMʷ^ӟݘ[:d߻@RC@zD A:,mHeQ.wlMK~lq-heBQ}*vhs-{' 31[.4t\xZTDsjTIuY^ߢs]Vr3ncZq<]*̏[{?~}>&rԇzJvUYgԦzOv`_733l4=@d0!IB͠#-[ҡp3& DHC2F2ʇd# Q{^;)@)ALFD(+"`_98`:rVth]֚K.U/)0n`H@XSRLcC򂡡zPب1٫] 4үes 꼝؍G-7i#~ًOksǣ͟7v.mûHun`<__?9 •׋I0-h-qvFW@VXDP]P蓿A)c3wP߾sARLBQ; 9٨uH'E=(RGlwxL}ȷɹUWgAEU*M4}DG)ΚI4vW囟9k)^+ ]4Zg/ڊzOOѼ?'Ѹ6\hBL@r^A*9 e 6Mm14-#MOc;,?y7BB!C,6JpƉl:8i|$9FL3-HXɊQi%ƐB>C%0^t;)qH 2躿( \ِ;J"2]]5gijw94cqQ׎tgL:RI=B 趙ܞ8\,[\.bR5%TR z%үH 4/VJ.,dbY52bWf Uר+1t~yrQ 8QUڧ*;ȹBP#M%!r!H; v! KH9ISRIisF]3N/+20`bt,:9-@ U+d9:-*m]ۈ2 {q`=SZPDfA(B$Yz C @p'׾dYKk`tlU}H@ w! Xp ZxMb}M:bjbmpcWǍ?9;:dq"Q AtXdC,2JQFcu}2Wy9yg μPrTt6~\?%)jeRm,;(k&zm2'IZ\,l 0Ɓ,ZZ%,UL3ϐ?BǾo~i=k0w nJ%A:t=U"-Pd7.1 wXn)$}_2) oL7F$QJh`! :˜1 ņBFb.#))}HdFjdCW7Ն2ev‘~?Cz],T[cgуɇepYQF7PzhpϞ|>Œn@ <Ŋ3RM]K4KҴ*^|g>yRw-޽~lN90\ȋIu2 h$Wڨ-F "=20yۉڡ]RTK̐ml>ѵ5]uwTJ/|ר'sc2e;я}~ 9k)EopUIZX!&$wK% y_ktaVU6CThroVBٍ#YEDA>J^gt}fCmx͓/n0E kB=c;RA'X"/Єo*uSe3sOcZ]{{5%2V3 q%0#jD"iBJ#ҠA;Si8ZB>|4ХF#$k9#؁ ;<ě'y\y4a M0 M õ䌒V7GIeWw5$)ǫ#<Jr{Vqi_H| *si/%֔| ߺ,~̭n0y gzJM bC(5HUVͷ3[.dT|_5WƖ" P*[WN~]:<.\*|ҩ 9 ^l`Wʷ2Q,h-Mᖞo x ';c@>K&L3ށ,yGQ6cdE&Ũ"[9,2bi ]TR=T eX|ңF粶5!ol~n0D|shwmTId8@I!Rު\6ofvJ0F6v~͍C.J@ dNǡ4{ΚI&D  #Q% $Qgf!.1]Y;N5W%Z/f6vNĶƎNc$*iɯz^ѴCyk}h˦{SlSyhbK/ python-ltsp-0.2/.bzr/checkout/last-revision0000644000175000017500000000005710556400460017522 0ustar ograograogra@ubuntu.com-20070126132504-i66rkm79cwv06rq6python-ltsp-0.2/.bzr/checkout/lock/0000755000175000017500000000000010556400460015726 5ustar ograograpython-ltsp-0.2/.bzr/checkout/pending-merges0000644000175000017500000000000010556400460017613 0ustar ograograpython-ltsp-0.2/.bzr/checkout/conflicts0000644000175000017500000000003310556400373016704 0ustar ograograBZR conflict list format 1 python-ltsp-0.2/.bzr/checkout/format0000644000175000017500000000003710556400373016214 0ustar ograograBazaar-NG Working Tree format 3python-ltsp-0.2/.bzr/checkout/basis-inventory-cache0000644000175000017500000001543210556400460021123 0ustar ograogra python-ltsp-0.2/.bzr/checkout/stat-cache0000644000175000017500000000462410556400460016743 0ustar ograogra### bzr hashcache v5 Makefile// 78ebd1d4663a7dfaee7cc519704cecef4897837a 230 1169817851 1169817851 5965709 771 33188 ltsp/status.py// 2392daa6e78b52663ad1eb65e26f255e88901414 1918 1169817851 1169817851 5965732 771 33188 COPYING// dfac199a7539a404407098a2541b9482279f690d 17992 1169817851 1169817851 5965706 771 33188 ltsp/dhcpconf.py// 78b8e6db1bc5696efbc3c815bfd93cd42e9f0060 1507 1169817851 1169817851 5965728 771 33188 MANIFEST// 44c58850ed3d384c9a58322bd8fe06c9f4fa9466 186 1169817851 1169817851 5965708 771 33188 ltsp/ltsconf.py// a8aaf7b03e8b9361396a929480928d8882ee6af4 3313 1169817851 1169817851 5965730 771 33188 README// 57f17817c86e7c8c4b5fd63e92548e30ee2d8128 4 1169817851 1169817851 5965710 771 33188 setup.py// 300d01a9d64351dbabddf4d6209510d4dfa9a84e 1220 1169817851 1169817851 5965715 771 33261 debian/changelog// 7d2d10804c3e3c6aeb67d1291edceafb2adc3954 598 1169817887 1169817887 5965695 771 33188 doc/scripts/ltsp-manager-backend// e16aa89ec270c888cbb65aa34a174340a2a55834 1022 1169817851 1169817851 5965726 771 33261 ltsp/dictionary.py// c3f763c953c8cf2228c935bd33420de7e024ef65 5527 1169817851 1169817851 5965729 771 33188 debian/docs// a93874b26f62e7d3161c2e1a581f2f8065c8bb9e 17 1169817851 1169817851 5965719 771 33188 ltsp/service.py// bb7cdd24234b79a5cbcf7ae463d552abc7f26856 669 1169817851 1169817851 5965731 771 33188 debian/copyright// acc64f55ecaca2c2d19f3c7c9ce4d8407004568c 1195 1169817851 1169817851 5965718 771 33188 debian/rules// edb0481ab8205eeed6cbf4283a76f0bda32b1bdb 1967 1169817851 1169817851 5965722 771 33261 debian/pycompat// 7448d8798a4380162d4b56f9b452e2f6f9e24e7a 2 1169817851 1169817851 5965721 771 33188 doc/Diagramm1.dia// 6d5fb1d28bc52fefe8977db25744e138623bdc04 2288 1169817851 1169817851 5965723 771 33188 TODO// 8a9904aa50deec1948b9426f84dbef0f5e4fa755 39 1169817851 1169817851 5965711 771 33188 ChangeLog// f559ef5333a0d0470c3433a4190c5a383a868a4d 81 1169817851 1169817851 5965707 771 33188 ltsp/__init__.py// 770c076c317891d96d3443b8ff270ceead78f76d 63 1169817851 1169817851 5965727 771 33188 debian/control// 9625d2c1d2f6ba9ee56fc144561970697e71b809 778 1169817851 1169817851 5965717 771 33188 doc/Diagramm1.png// 59d966fd0122891fed6a442d7016379a7869662d 14182 1169817851 1169817851 5965724 771 33188 AUTHORS// b532e64814605ea31b0fdf41eb619141fdd3da04 33 1169817851 1169817851 5965705 771 33188 debian/examples// e9df0269ff17651bbf6cde7a2aa8c63fda11877c 11 1169817851 1169817851 5965720 771 33188 python-ltsp-0.2/.bzr/branch-lock/0000755000175000017500000000000010556400364015357 5ustar ograograpython-ltsp-0.2/.bzr/branch/0000755000175000017500000000000010556400460014426 5ustar ograograpython-ltsp-0.2/.bzr/branch/lock/0000755000175000017500000000000010556400460015356 5ustar ograograpython-ltsp-0.2/.bzr/branch/revision-history0000644000175000017500000000057710556400460017717 0ustar ograograogra@ubuntu.com-20070120152840-tm8jw2pnfvj74a06 ogra@ubuntu.com-20070120155017-62pg6jhi91gnsc3d ogra@ubuntu.com-20070120155509-g9kqyv3wuo718n77 ogra@ubuntu.com-20070120163231-cyrh200uv9m22xy0 ogra@ubuntu.com-20070124152128-hj04lryv6u01ig0b ogra@ubuntu.com-20070126120342-1rlgde8qy21yw9s2 ogra@ubuntu.com-20070126120627-cop5ykb3ikzs1dbh ogra@ubuntu.com-20070126132504-i66rkm79cwv06rq6python-ltsp-0.2/.bzr/branch/branch-name0000644000175000017500000000002010556400373016517 0ustar ograograpython-ltsp-0.1 python-ltsp-0.2/.bzr/branch/format0000644000175000017500000000003210556400372015636 0ustar ograograBazaar-NG branch format 5 python-ltsp-0.2/.bzr/branch/parent0000644000175000017500000000006410556400373015645 0ustar ograograhttp://bazaar.launchpad.net/~ogra/python-ltsp/main/ python-ltsp-0.2/.bzr/branch-format0000644000175000017500000000004310556400364015637 0ustar ograograBazaar-NG meta directory, format 1 python-ltsp-0.2/.bzr/README0000644000175000017500000000012210556400364014047 0ustar ograograThis is a Bazaar-NG control directory. Do not change any files in this directory. python-ltsp-0.2/ltsp/0000755000175000017500000000000010556400373013303 5ustar ograograpython-ltsp-0.2/ltsp/status.py0000644000175000017500000000357610556400373015213 0ustar ograogra## ## LTSP server status ## ## Copyright (C) 2007 Canonical Ltd. ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2, or (at your option) ## any later version. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. """ status offers simple functions to check the different server processes used by ltsp servers. Copyright 2007, Canonical Ltd. """ import os def check_server(binary_name): """ checks if binary_name is currently running and returns True/False binary_name: name of a server bianry to look for in the processlist (i.e. nfsd) """ status=os.popen('ps -C '+binary_name+' --no-headers') for line in status: if line: return True return False def check_inetd(service): """ checks if service is enabled in /etc/inetd.conf and checks if inetd is running. returns True/False service: service name (i.e. tftp) or a portnumber """ status=os.popen('grep ^'+service+' /etc/inetd.conf') if status.read(): return check_server('inetd') return False def tftp(): """ returns True if tftp service is ok """ return check_inetd('tftp') def ldminfo(): """ returns True if ldminfo service is ok """ return check_inetd('9571') def nbdswap(): """ returns True if nbdswap service is ok """ return check_inetd('9572') def dhcp(): """ returns True if dhcp service is ok """ return check_server('dhcpd3') def nfs(): """ returns True if nfs service is ok """ return check_server('nfsd') python-ltsp-0.2/ltsp/__init__.py0000644000175000017500000000007710556400373015420 0ustar ograograimport dictionary import ltsconf import dhcpconf import status python-ltsp-0.2/ltsp/ltsconf.py0000644000175000017500000000636110556400373015333 0ustar ograogra## ## lts.conf parser ## ## Copyright (C) 2007 Canonical Ltd. ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2, or (at your option) ## any later version. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. """ ltsconf reads and writes the lts.conf file for ltsp servers, does an automatic backup and has a rollback function to the backed up config. Copyright 2007, Canonical Ltd. """ import os import os.path def read(path): """ returns an array of triplets (index, key, value) and an index list read from lts.conf in path. example: data_array,idx=ltsconf_read(./lts.conf) print data_array [('default', 'SOUND', 'True'),('default','LOCALDEV','True'), ('...] print idx ['default','00:11:25:84:CE:BA'] path: full path to lts.conf file """ idx = [] data_array = [] if os.path.isfile(path): ltsconf = open(path) ltsp_data = ltsconf.read().split('\n') for line in ltsp_data: line = line.strip() if not line.startswith('#'): if line.startswith('['): index = line.strip('[]') idx.append(index) else: if line: key = line.split('=')[0] value = line.split('=')[1] data_array.append((index,key,value)) return data_array, idx def write(path, data_array, idx): """ writes an lts.conf in path, containing groups listed in idx and values in those groups from data_array. by default path/.lts.conf.bak is created before writing the new file. path: full path to an lts.conf file data_array: array of triplets [(index,key,value), (index, key2, value2), ...] idx: list of indexes [index1, index2, ... ] """ if os.path.isfile(path): os.rename(path, path.rstrip('lts.conf')+'.lts.conf.bak') ltsconf = open(path, 'w') ltsconf.write('###########################################\n') ltsconf.write('# AUTOGENERATED FILE, DO NOT EDIT ! #\n') ltsconf.write('# Use the thinclient-configurator instead #\n') ltsconf.write('# A backup of the last configuration can #\n') ltsconf.write('# be found hidden in the same path, named #\n') ltsconf.write('# .lts.conf.bak #\n') ltsconf.write('###########################################\n') for index in idx: ltsconf.write('\n['+index+']\n') for line in data_array: if line[0] == index: ltsconf.write('\t'+line[1]+'='+line[2]+'\n') return True def rollback(path): """ rolls back the config from a backed up ltsp configuration if path/.lts.conf.bak exists. path: full path to an lts.conf file """ if os.path.isfile(path): os.rename(path.rstrip('lts.conf')+'.lts.conf.bak', path) return True return False python-ltsp-0.2/ltsp/service.py0000644000175000017500000000123510556400373015316 0ustar ograogra## ## ltsp services administration ## ## Copyright (C) 2007 Canonical Ltd. ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2, or (at your option) ## any later version. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. """ manage additional service configs in /etc/ltsp/ (i.e. syslog configuration) """ python-ltsp-0.2/ltsp/dictionary.py0000644000175000017500000001262710556400373016032 0ustar ograogra## ## lts.conf dictionary ## ## Copyright (C) 2007 Canonical Ltd. ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2, or (at your option) ## any later version. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. """ ltsconf_dict is a module to validate lts.conf values and to detect all possible values in a ltsp chroot Copyright 2007, Canonical Ltd. """ import os from subprocess import Popen,PIPE __all__='keymaps','kbmodels','videodrivers','serproto','isboolean','validate' valid = ['SOUND', 'SOUND_DAEMON', 'LOCALDEV', 'DNS_SERVER', 'SEARCH_DOMAIN', 'CONSOLE_KEYMAP', 'NBD_SWAP', 'SWAP_SERVER', 'NBD_PORT', 'USE_LOCAL_SWAP', 'PRINTER_0_DEVICE', 'PRINTER_0_TYPE', 'PRINTER_0_PORT', 'PRINTER_0_WRITE_ONLY', 'PRINTER_0_SPEED', 'PRINTER_0_FLOWCTRL', 'PRINTER_0_PARITY', 'PRINTER_0_DATABITS', 'PRINTER_0_OPTIONS', 'USE_XFS', 'XFS_SERVER', 'XKBLAYOUT', 'XKBMODEL', 'XKBRULES', 'XKBOPTIONS', 'XKBVARIANT', 'NETWORK_COMPRESSION', 'LDM_REMOTECMD', 'RCFILE_nn', 'SCREEN_nn', 'SERVER', 'SYSLOG_HOST', 'MODULE_nn', 'XF86CONFIG_FILE', 'XSERVER', 'X_HORZSYNC', 'X_VERTREFRESH', 'X_COLOR_DEPTH', 'X_MOUSE_DEVICE', 'X_MOUSE_PROTOCOL', 'X_MOUSE_EMULATE3BTN', 'TELNET_HOST', 'XDM_SERVER'] boolean=['SOUND', 'LOCALDEV', 'NBD_SWAP', 'USE_LOCAL_SWAP', 'USE_XFS', 'NETWORK_COMPRESSION', 'X_MOUSE_EMULATE3BTN'] def keymaps(root): """ returns an array of available X keymaps in root root: a full ltsp client chroot path, i.e. /opt/ltsp/i386 """ res=[] for keymap in os.listdir(root+'/etc/X11/xkb/keymap/'): if keymap == 'README': continue try: keymap_file = file(os.path.join(root, 'etc/X11/xkb/keymap',keymap)) except: continue else: for line in keymap_file: if line.find('xkb_keymap') >= 0: res.append(line.split('"')[1]) return unique(res) def kbmodels(root): """ returns an array of known X keyboard models in root root: a full ltsp client chroot path, i.e. /opt/ltsp/i386 """ ret = [] for kbmodel in os.listdir(root+'/etc/X11/xkb/geometry/'): if kbmodel == 'README': continue try: kbmodel_file = file(os.path.join(root, 'etc/X11/xkb/geometry',kbmodel)) except: continue else: for line in kbmodel_file: if line.find('xkb_geometry') >= 0: ret.append(line.split('"')[1]) return ret def videodrivers(root): """ returns an array of known X drivers in root root: a full ltsp client chroot path, i.e. /opt/ltsp/i386 """ ret=[] cardlist = os.listdir(os.path.join(root, 'usr/lib/xorg/modules/drivers')) for item in cardlist: if item.find('.so') >= 0: ret.append(item.split('.')[0].split('_drv')[0]) print ret def serproto(root): """ returns an array of known serial mouse protocol options in root root: a full ltsp client chroot path, i.e. /opt/ltsp/i386 """ ret = [] modelist = Popen(root+'/usr/sbin/inputattach --help', shell=True, bufsize=1024, stdout=PIPE).stdout for line in modelist: if line.lstrip().startswith('--'): ret.append(line.lstrip(' --').split()[0]) return ret def unique(s): n = len(s) if n == 0: return [] u = {} try: for x in s: u[x] = 1 except TypeError: del u # move on to the next method else: return u.keys() try: t = list(s) t.sort() except TypeError: del t # move on to the next method else: assert n > 0 last = t[0] lasti = i = 1 while i < n: if t[i] != last: t[lasti] = last = t[i] lasti += 1 i += 1 return t[:lasti] # Brute force is all that's left. u = [] for x in s: if x not in u: u.append(x) return u def isboolean(var): """ returns True if var is a valid variable for lts.conf var: variable name (i.e. 'SOUND') """ if var in boolean: return True return False def validate(var): """ returns true if var is a valid variable for lts.conf var: variable name (i.e. 'SOUND') """ if var in valid: return True return False python-ltsp-0.2/ltsp/dhcpconf.py0000644000175000017500000000274310556400373015447 0ustar ograogra## ## /etc/ltsp/dhcpd,conf parser ## ## Copyright (C) 2007 Canonical Ltd. ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2, or (at your option) ## any later version. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. def read(): list = [] try: file = open('/etc/ltsp/dhcpd.conf', 'r') except: print 'can\'t open dhcp config' return False for line in file.read().split('\n'): line = line.strip().lstrip('option ') items = ['range','domain-name','domain-name-servers','broadcast-address','routers','subnet-mask','filename','root-path'] for item in items: if line.startswith(item+' '): if item == 'range': range_from = line.strip('range').strip(';').split()[0] range_to = line.strip('range').strip(';').split()[1] list.append(('range_from', range_from)) list.append(('range_to',range_to)) else: list.append((item, line.strip(item).strip(';').split()[0].strip('"'))) return list python-ltsp-0.2/ChangeLog0000644000175000017500000000012110556400373014065 0ustar ograogra2007-01-20 Oliver Grawert * python-ltsp: initial version. python-ltsp-0.2/README0000644000175000017500000000000410556400373013173 0ustar ograogratbd