1 |
Hi folks! |
2 |
|
3 |
This is the final update for the euscan GSoC project. It was a great |
4 |
summer and I'd like to thank you all for this opportunity :D |
5 |
As usual I remind you that the project repo is at |
6 |
https://github.com/volpino/euscan (check that for more info) |
7 |
|
8 |
|
9 |
Here's a summary of my work during the summer, the main goals achieved |
10 |
and the plans for the future. I'll split the goals in euscan (euscan |
11 |
script) and euscanwww (web interface) |
12 |
|
13 |
euscan: |
14 |
- New handlers system: plugin system with package level handlers (use |
15 |
package <upstream> metadata) and url level handlers (use package's |
16 |
SRC_URIs) to scan upstream |
17 |
|
18 |
- Added new handlers and improved existing ones, in particular for |
19 |
widely used services (e.g.: sourceforge, google-code, github, ...) |
20 |
|
21 |
- Wrote a PoC script for getting "watch" file data from Debian packages |
22 |
and wrote an handler that uses it. We're still working on that and we |
23 |
have to find a good and efficient way to store addition data in |
24 |
metadata.xml. |
25 |
Mail to gentoo-dev: http://www.gossamer-threads.com/lists/gentoo/dev/258330 |
26 |
|
27 |
- Every found version has a confidence score based on the handler used |
28 |
to discover it (e.g.: PyPI API has an high confidence while bruteforcing |
29 |
urls has a low confidence) |
30 |
|
31 |
- various performance improvements |
32 |
|
33 |
- Added a JSON output to euscan to be machine readable |
34 |
|
35 |
- Use eix --xml and Layman API to retrieve package data |
36 |
|
37 |
|
38 |
euscanwww: |
39 |
- Moved all tasks from shell scripts or Django management commands to |
40 |
Celery tasks; added a tasks launcher to the admin interface |
41 |
(this part was quite hard, getting everything to work efficiently and |
42 |
prevent deadlocks or concurrency issues wasn't easy and Ask, the |
43 |
developer of Celery, helped us) |
44 |
|
45 |
- Provide the possibility to register and login to euscan, even using |
46 |
Gentoo LDAP (not active until euscan will be moved into Gentoo |
47 |
infrastructure for security reasons) |
48 |
|
49 |
- Added a "refresh button" to let users request a package scan |
50 |
|
51 |
- Added a "watch"/"unwatch" functionality for categories, herds, |
52 |
maintainers, overlays and packages |
53 |
|
54 |
- Implemented a personalized dashboard for registered users with a |
55 |
summary of the status of the watched packages |
56 |
|
57 |
- Personalized RSS feeds for users with only watched stuff |
58 |
|
59 |
- Options for feeds to tweak output (e.g.: don't show unstable releases, |
60 |
show only upstream versions, ...) |
61 |
|
62 |
- Email newsletter for users with new upstream version of watched packages |
63 |
|
64 |
- Added a form to report euscan errors |
65 |
|
66 |
Other: |
67 |
- Added test for old and new code |
68 |
- All code is PEP8 compliant |
69 |
|
70 |
|
71 |
For the future: |
72 |
I plan to use euscan and my GSoC as main subject for my bachelor thesis |
73 |
so I absolutely keep on working on that. We have a proposal to |
74 |
gentoo-dev still pending about adding new upstream data to metadata.xml. |
75 |
First of all we'll deal with that issue and we'll keep on working on new |
76 |
featues, so stay tuned! |
77 |
|
78 |
|
79 |
I achieved all the goals in my project proposal with the required |
80 |
success criteria and I worked on other stuff as well, not strictly in my |
81 |
project but very interesting (in particular using Debian watch data for |
82 |
euscan). I'm really satisfied from this summer and I hope that everybody |
83 |
had a lot of fun! |
84 |
|
85 |
Thank you guys! See you around ;) |
86 |
|
87 |
-- |
88 |
f. |
89 |
|
90 |
"Always code as if the guy who ends up maintaining your code will be a |
91 |
violent psychopath who knows where you live." |
92 |
(Martin Golding) |