File: pluginupdater.py

package info (click to toggle)
exaile 0.2.14%2Bdebian-2.3
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 6,836 kB
  • ctags: 3,187
  • sloc: python: 23,677; ansic: 224; makefile: 157; perl: 137; sh: 123; sql: 80
file content (31 lines) | stat: -rw-r--r-- 885 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/env python

import re, os, urllib, sys
plugin_re = re.compile(r'<a class="file" title="View File" href=".*?">([-\w]+.py)</a>', re.DOTALL|re.MULTILINE)

if len(sys.argv) != 2:
    print "usage: python pluginupdater.py [exaile_version]"
    sys.exit(0)
version = sys.argv[1]
data = urllib.urlopen('http://exaile.org/trac/browser/plugins/%s' %
    version).read()

plugins = plugin_re.findall(data)


print "Updating plugin list"
for plugin in plugins:
    data = \
        urllib.urlopen('http://www.exaile.org/plugins/plugins.py?version=%s&plugin=%s'
        % (version, plugin)).read()

    plugindir = '/home/%s/.exaile/plugins' % os.getlogin()
    if not os.path.isdir(plugindir):
        os.mkdir(plugindir, 0777)

    print "Writing %s" % plugin
    h = open('/home/%s/.exaile/plugins/%s' % (os.getlogin(), plugin), 'w')
    h.write(data)
    h.close()

print "Done.\n"