/
Base_Ruby.py
executable file
·43 lines (32 loc) · 1006 Bytes
/
Base_Ruby.py
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
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/python
# vi:si:et:sw=4:sts=4:ts=4
# -*- coding: UTF-8 -*-
# -*- Mode: Python -*-
from lib.AppdateHTTPRetriever import *
class Base_Ruby(AppdateHTTPRetriever):
"""Ruby BOT"""
def _run(self, target):
##
# Current Version
##
self.sniffer.setBaseUrl('http://svn.ruby-lang.org/repos/ruby/tags')
self.sniffer.setTargetPath('/')
data = self.sniffer.setTargetPattern("""<li><a href=".*?\/">v(%s_\d+_\d+)\/<\/a><\/li>""" % target).run(mode=FIND_ALL)
if not data:
self.say('Unable to retrieve version')
return KO
versionTag = data[-1]
self.set('currentVersion', versionTag.replace('_','.'))
##
# Release Notes
##
self.set('releaseNotesUrl', "http://svn.ruby-lang.org/repos/ruby/tags/v%s/ChangeLog" % versionTag)
##
# Release Date
##
self.set('releaseDate', '')
##
# Download URL
##
self.set('downloadUrl', "ftp://ftp.ruby-lang.org/pub/ruby/%s/" % target.replace('_','.'))
return OK