Developers
Source code
You can help
UnPlug is Open Source: if you'd like to contribute some source code then just email to unplug@dbatley.com.
You can also help by working out how to get media off websites. If you can make it into our special rules.xml format, that's excellent; otherwise just send it however you like.
Overview
UnPlug is organized into 3 parts:
- A language and platform independent xml file containing details of how to search for media (rules.xml).
- A javascript rules parser which searches for media by parsing rules.xml and reporting what was found (search.js).
- A display system for displaying results (searchpage.js).
In the long-term, the interface will become stable and allow parts of the system to be replaced (for example, if other ways of displaying the results are wanted). Currently all areas are being developed: there is no guarentee of compatability between versions.
Rules.xml
Media is now found using rules.xml file, which will make it easy(ish) to write your own rules.
Search results
As of 2.010, callbacks from search.js are likely to remain in a similar format. The callback function provided to search.js will be called for every result found with the following javascript (which will always be suitable for serializing into JSON):
{
"type" : "result",
"details" : { /* infomation about file */ },
"download" : { /* how to download item */ }
};
The callback function must check the type is "result" - other information may be sent to the callback in future versions. No checking is done in search.js for duplicate results (duplicate results have "download" objects which are the same) as you may wish to update details which were missing from the first result. If the "download" object has a "url" property, the item can be downloaded by visiting that url.