Gentoo Archives: gentoo-soc

From: "Domen Kožar" <domen@×××.si>
To: gentoo-soc <gentoo-soc@l.g.o>
Subject: [gentoo-soc] GSOC weekly report #1: g-pypi
Date: Mon, 31 May 2010 20:52:32
Message-Id: 1275339141.5272.72.camel@oblak.fubar.si
1 Greetings, following is the weekly update about g-pypi (currently named
2 gpypi2).
3
4 Quick links to project info:
5 * http://bitbucket.org/iElectric/g-pypi2- Repository, issue tracker
6 * http://hudson.fubar.si/job/g-pypi2/ - Hudson CI instance
7 * http://docs.fubar.si/gpypi2/ - Sphinx documentation generated by
8 hudson on each commit
9 * http://neurogeek.ath.cx/g-pypi - wiki/user stories for scrum
10 development
11
12
13 Previous week (24-30 May)
14 =========================
15
16 In Montenegro (19-14 May) I was unable to do any coding, but the project
17 was prepared in any case.
18
19 Task: port ebuild.py and cli.py
20 -------------------------------
21
22 bitbucket.org/iElectric/g-pypi2/src/tip/gpypi2/ebuild.py
23
24 Ebuild was ported in some manner, but no additional work has been done.
25
26 cli.py was not yet touched, as I am still designing the idea how it
27 should be best programmed (currently thinking of doing action commands
28 as Python classes)
29
30 Task: migrate enamer functions to a class that can be later pluggable
31 (for sake of modularity)
32 ----------------------------------------------------------------------
33
34 Done. Later, each class will be pluggable in .gpypi2 rc configuration
35 file. Something like this is what I had in mind:
36
37 [gpypi2]
38 enamer = gpypi2.enamer:Enamer
39 ebuild = gpypi2.ebuild:Ebuild
40 ...
41
42 This makes it easier for someone to subclass Enamer/Ebuild/Younameit and
43 point it to the right import path.
44
45 A lot of work has been done on Enamer. Documentation is almost perfect,
46 I wrote more than 500LOC of tests (totaling in 1000+ lines of unittests
47 for enamer).
48
49 About 150 packages out of 10k on pypi fail due to version conversion. In
50 appendix there are version which fail, somehow categorised. If you think
51 one of those should be covered, please respond!
52
53 Task: write class that tries to get SRC_URI (currently implementation
54 will
55 query pypi and sourceforge by issuing HEAD HTTP request)
56 -----------------------------------------------------------------------
57
58 Not yet touched. This will be done in upcoming week.
59
60 Task: test enamer functions against whole pypi mirror (specially version
61 parsing)
62 ------------------------------------------------------------------------
63
64 Done -
65 bitbucket.org/iElectric/g-pypi2/src/53e09a1968ee/gpypi2/tests/test_pypi.py
66
67 to run tests against pypi:
68
69 $ TEST_LIVE_PYPI=1 nosetests
70
71 Unfortunately I had fever whole saturday and partly in sunday, after
72 almost 2 years of being healty:)
73
74
75 Upcoming week (01-06 June)
76 ==========================
77
78 Task: write class that tries to get SRC_URI (currently implementation
79 will
80 query pypi and sourceforge by issuing HEAD HTTP request)
81 ---------------------------------------------------------------------
82
83 I have now more clear picture how this class should be written. Each
84 mirror will inherit from Base class, which will supply utility methods.
85 Class should be able to determine variables out of URI like MY_P and
86 issue HEAD HTTP request to confirm that link exists.
87
88 Add docs and tests of course.
89
90 Task: generate basic structure of templates (we are using jinja2)
91 -----------------------------------------------------------------
92
93 In proposal I advised to use Mako (since I'm very familiar with it
94 because of Pylons), but jinja2 is currently activly developed and very
95 similar to Mako.
96
97 Task: refactor and get familiar with ebuild.py, also write tests and
98 docs
99 ---------------------------------------------------------------------
100
101 The title says everything, I will organize ebuild.py and report next
102 week my findings and how it will be refactored.
103
104
105 ------------------------------------------------------------------------
106 APPENDIX - here are the mentioned packages that fail version/packagename
107 conversion
108 ------------------------------------------------------------------------
109
110 # too much separators
111 zope.event-3.5.0-1
112 ispmanccp-0.0.1alpha3.1 -> 0.0.1_alpha3_p1
113 yapps2-2.1.1-17.1
114 bombardier_cli-1.00-748
115 zw.jsmath-3.6a-0.9
116 collective-recipe-linktally-0.1.0-3
117 dradm-1-0.3.3_alpha
118 iqpp-plone-commenting-0.5.beta.2
119 django-mptt-2-0.3.0
120 iccommunity-core-1.0-_pre371
121 django-cms-2.1.0._beta3
122 collective-dexteritypaste-1.0alpha1.1
123 collective-portlet-postit-1.0-_beta1
124
125 # too much release indicators
126 bycyclecore-0.4a0_pre1054
127 byCycleTripPlanner-0.4a0.dev-r1056
128 plonetheme-notredame-1.2-beta2_beta
129 plonetheme-peerstheme-1.0b4dev
130 id3encodingconverter-0.1alpha.svn20080501
131 iscorpio-plonepm-2.0beta2_pre382
132 cjktools-data-0.2.0-2009-12-28
133 kaa-base-0.99.0dev-r4259-20091102
134 collective-captchaforms-0.1-20090814
135 collective-z3cform-kss-0.1b1dev
136 divdialogs-0.1a1_pre610
137 django-checksum-0.1.rec68f42a975e
138 django-chronograph-svn-r21-git.2
139 products-andreas09theme-0.1-step10
140 products-clockserver-0.2-Zope2.9
141 pylucid-boot-0.0.1.git-6e4b6cc
142 fellowiki-0.01a1_pre36
143 pyosc-0.3.5b-5294
144 se-portlet-gallery-1.2.1bugfix_pre8
145 lymon-0.2r58_pre58
146 fuxi-1.0-rc-II_pre
147 tg-ext-silverplate-0.1rc3_pre47
148 skunk-web-4.0.0a2_pre227
149 quecksilber-0.1a1_pre20081205
150 pymoneris-0.1r2_pre2
151 pyggel-0.08-alpha4_beta
152 inplace-0.1a0_pre1518
153 pylucid-0.9.0.RC3.git-fbba4_rc7
154 pylucid-0.9.0.RC2.svn2609
155
156 # unknown
157 ftd2xx-bzr14
158 pyopencv-2.1.0.wr1.0.2
159 plotkit-0.9.1w3
160 objectroles-0.6X
161 django-dbpreferences-0.3.2.svn34
162 ete2-2.0rev89
163 kmpp-1.0.0b1_wrapper2
164 z-base-36-1.0.1
165 nawa-1.0.0._beta090714164121
166 openallure-0.1d17
167 htmlserver-2010.02.07.appengine
168
169 # EASTEREGG
170 sflib-1.0dev-BZR-r45-panta-elasticworld.org-20091021145839-1oceeh3stpvyl04t
171 softwarefabrica-django-appserver-1.0dev-BZR-r10-panta-elasticworld.org-20091023132843-vitk6k7e5qlvhe
172 pynq-0.4.0.Pineapple
173 netlogger-trunk
174 llsd-unreleased.unofficial
175 asciiporn3k-2009.11.16.py3k.cpp
176 ast2src-2010.01.21.ast2src
177 freetype-Milestone1
178 gdm2setup-0.5.3-karmic

Attachments

File name MIME type
signature.asc application/pgp-signature