Re: GSOC 13

22 views
Skip to first unread message

Anthony Bryan

unread,
Mar 30, 2013, 6:19:28 PM3/30/13
to Metalink Discussion
On Sat, Mar 30, 2013 at 2:46 PM, Akshit Agarwal <akshi...@gmail.com> wrote:
> Hi,
>
> I am Akshit Agarwal a Computer Science Undergraduate Student in JIIT
> University in India. I am an Open Source enthusiast and had also contributed
> a Patch in SymPy.
>
> I have sound working knowledge of Python, Computer Networks, Algorithms.
> Last week I came across Metalink and then after exploring its last year GSOC
> projects and currently published ideas for GSOC 13 and I am very much
> interested in its " BitTorrent support for Metalink Checker " Project but
> their is not clearly specified that it is for GSOC 13 and I would like to
> contribute in it by participating in GSOC 13 with Metalink.
>
> As I am new to Metalink so please can anybody help me to start contributing
> to community, and can tell me is the above mentioned project is for GSOC 13
> or not?

hi Akshit, nice to hear from you!

"BitTorrent support for Metalink Checker" is indeed a potential
project for GSOC 13 (should we be accepted). :)

there are only potential or completed projects listed on
http://www.metalinker.org/ideas.html#gsoc2013 - the completed projects
are clearly marked at the end of the page.

why don't you take a look at the current Metalink Checker code:
http://sourceforge.net/apps/trac/metalinks/browser/checker



--
(( Anthony Bryan ... Metalink [ http://www.metalinker.org ]
)) Easier, More Reliable, Self Healing Downloads

Neil M.

unread,
Mar 30, 2013, 9:08:55 PM3/30/13
to metalink-...@googlegroups.com
Hi Akshit, thanks for your interest. I am the author of Metalink
Checker, you can contact me if you have questions. I like to think the
code is fairly straightforward and am amazed that it came out to be such
a small project in the end with so many features, but you can tell me
otherwise.

Also you may want to try playing with the GGet branch I created, this is
a GUI based on Metalink Checker, in particular I've been working on
getting this ported from Gnome/Linux to Windows. I'd call it alpha
quality right now:

https://sourceforge.net/apps/trac/metalinks/browser/gget

Neil
Message has been deleted

Akshit Agarwal

unread,
Mar 31, 2013, 12:50:25 PM3/31/13
to metalink-...@googlegroups.com
Thanks a lot Anthony Sir for confirming the project is for GSOC 13 and also for the link I will surely go through the code and will try to contribute something before Application process.
Message has been deleted

Akshit Agarwal

unread,
Mar 31, 2013, 12:55:28 PM3/31/13
to metalink-...@googlegroups.com
Thank you Neil Sir for the link I will try to understand the Metalink Checker code and then I will try with GGet branch.

Akshit Agarwal

unread,
Apr 5, 2013, 5:41:40 AM4/5/13
to metalink-...@googlegroups.com
Neil Sir or Anthony Sir can you please specify the files in link http://sourceforge.net/apps/trac/metalinks/browser/checker from which I should start understanding the code of Metalink Checker.

Neil M.

unread,
Apr 10, 2013, 9:25:22 PM4/10/13
to metalink-...@googlegroups.com
Sure! A lot of what is there is effectively unused code in
experimenting with running Python as a Java or Silverlight browser
applet. You can ignore that. The important files to start with
(probably in this order):

1. metalink.py - This defines the main data structures, based on the
Metalink XML format. This also shows how metalink files are read and
written. There is some support for similar formats in there too,
RSS/Atom and Jigdo. There are clearly commented and can be ignored.
This supports both Metalink v3 and Metalink v4, each has its object type
and you'll see functions to convert between the two.

2. download.py - This does the heavy lifting and is the primary
interface to the various user interfaces and for other developers. You
can think of it as a generic Python download library that supports
special formats like Metalink, RSS/Atom, and Jidgo. There are two main
download engines in it, "NormalManager" which does a typical incremental
file download from a single URL. "Segment_Manager" does a lot of fancy
things, it opens multiple threads and uses the HTTP Range header to grab
parts of a file from multiple URLs (if known).

3. checker.py - File that provides functions to check the URLs in a
Metalink file. metalink.py actually parses the metalink files into
objects, then we use these functions to help someone publishing metalink
files validate their output. This is not required for metalink
consumers that only want to download metalink files, for example GGet.

4. console.py - Command line user interface implementation that provides
both checking and downloading functions.

5. guitk.py - Tk graphical user interface that provides checking
functions only. See GGet for a GUI with download functions.

Less interesting, but still used files:

6. GPG.py - GPG system call wrapper to verify signatures, if provided.
This is a good exercise in seeing how to make system calls from Python
and parsing the output. It is not critical to understanding what is
going on as it is not used often.

7. proxy.py - Tries to automatically add proxy support if a proxy is
configured on the system. Python doesn't have very good proxy support
and this is a generic module to try to fix that, at least for our
purposes. It is probably interesting if you want to understand more
about how proxies work, but should otherwise be transparent in the rest
of the code.

That's all. Everything else is support files for converting the Python
to .exe or packaging it for release. You can literally copy those seven
files to your own directory and all the features should work.

Neil
> --
> You received this message because you are subscribed to the Google
> Groups "Metalink Discussion" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to metalink-discus...@googlegroups.com.
> To post to this group, send email to metalink-...@googlegroups.com.
> Visit this group at
> http://groups.google.com/group/metalink-discussion?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

Akshit Agarwal

unread,
Apr 11, 2013, 12:12:42 AM4/11/13
to metalink-...@googlegroups.com
Okays, thanks a lot Sir for help. I will start understanding the content of the files mentioned by you.

Akshit



You received this message because you are subscribed to a topic in the Google Groups "Metalink Discussion" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/metalink-discussion/CqT08j8ZSvA/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to metalink-discus...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages