Exemplo n.º 1
0
 def _new_versions(self, cur_ver):
     versions = [
         Version(i) for i in re.findall(
             r'http://download.redis.io/releases/redis-([\.\d]+).tar.gz',
             self.http_get(self.homepage))
     ]
     return [i for i in versions if i > cur_ver]
Exemplo n.º 2
0
 def post_update(self, version, ret=None):
     '''
 返回最终 html 文档的路径
 '''
     if version < Version('2.0.0'):
         return os.getcwd()
     elif version < Version('3.0.0'):
         self.shell("sed -i '/platform.twitter.com/d' docs/*.html")
         return os.path.join(os.getcwd(), 'docs')
     else:
         self.shell('jekyll build')
         self.shell("sed -i '/platform.twitter.com/d' _gh_pages/index.html")
         self.shell("sed -i '/platform.twitter.com/d' _gh_pages/*/*.html")
         if version >= Version('3.1.0'):
             self.shell(
                 'mkdir _gh_pages/_index && cp _gh_pages/index.html _gh_pages/_index'
             )
         return os.path.join(os.getcwd(), '_gh_pages')
Exemplo n.º 3
0
 def post_update(self, version, ret=None):
     '''
 返回最终 html 文档的路径
 '''
     self.clear_source()
     self.pushd(self.source_dir)
     # 1.1
     if version == Version('1.1'):
         open('index.html', 'w+').write(
             self.http_get(
                 'http://docs.python.org/ftp/python/doc/1.1/quick-ref.1.1.html'
             ))
         self.popd()
         return self.source_dir
     # pre 1.5
     elif version <= Version('1.5'):
         url = 'http://docs.python.org/ftp/python/doc/%s/html-%s.tar.gz' % (
             version, version)
     # 1.6
     elif version == Version('1.6'):
         url = 'http://docs.python.org/ftp/python/doc/1.6/html-1.6p1.tgz'
     # pre 2.4
     elif version < Version('2.4'):
         url = 'http://docs.python.org/ftp/python/doc/%s/html-%s.tgz' % (
             version, version)
     # pre 2.6
     elif version < Version('2.6'):
         url = 'http://docs.python.org/ftp/python/doc/%s/html-%s.tar.bz2' % (
             version, version)
     # after 2.6
     else:
         url = 'http://docs.python.org/ftp/python/doc/%s/python-%s-docs-html.tar.bz2' % (
             version, version)
     ret = self.shell('wget %s -O file' % url)
     if ret[0] == 0:
         if self.shell('tar xf file')[0] == 0:
             self.shell('rm file')
             ret = os.listdir('.')
             self.popd()
             if len(ret) == 1:
                 return os.path.join(self.source_dir, ret[0])
             else:
                 return self.source_dir
     self.popd()
Exemplo n.º 4
0
 def _new_versions(self, cur_ver):
     txt = self.http_get(
         'https://github.com/elasticsearch/docs/raw/master/conf.yaml')
     try:
         obj = yaml.safe_load(txt)
         ver = Version(obj['repos']['elasticsearch']['current'])
         if ver > cur_ver:
             return ver
     except Exception, e:
         self.logger.warn('Parse version error: %s' % e)
Exemplo n.º 5
0
 def _new_versions(self, cur_ver):
     commits = self.github_api_get(
         'https://api.github.com/repos/%(owner)s/%(repo)s/commits?per_page=1'
     )
     if commits and len(commits):
         ver = Version(
             commits[0]['commit']['committer']['date'][:10].replace(
                 '-', ''))
         if ver > cur_ver:
             return ver
Exemplo n.º 6
0
 def post_update(self, version, ret=None):
     '''
 返回最终 html 文档的路径
 '''
     self.logger.info('Running npm install ...')
     self.shell('npm cache clean; npm install')
     self.logger.info('Running grunt build ...')
     if version < Version('0.3.0'):
         self.shell('grunt -- build html2js site')
     else:
         self.shell('grunt --force')
     return os.path.join(os.getcwd(), 'dist')
Exemplo n.º 7
0
 def post_update(self, version, ret=None):
     self.pushd('docs')
     if version < Version('1.2.1'):
         # docs bug: https://groups.google.com/forum/#!topic/django-users/10i5SrQ3ctY
         self.logger.info('Fixing djangodocs.py ...')
         open('_ext/djangodocs.py', 'w+').write(
             self.http_get(
                 'https://github.com/django/django/raw/stable/1.2.x/docs/_ext/djangodocs.py'
             ))
     self.logger.info('Running sphinx-build ...')
     self.shell('make html')
     self.popd()
     return os.path.join(os.getcwd(), 'docs/_build/html/')
Exemplo n.º 8
0
 def _new_versions(self, cur_ver):
     '''
 检查新版本,需要更新时返回较新的版本的列表(或单个版本号)
 无须更新时返回 False 或 None
 '''
     ret = self.shell(
         '''svn cat %s/sphinx/conf.py | grep -oP "(?<=release = ')[^']+"'''
         % self.url)
     # self.shell 函数返回一个 tuple,第一个元素是进程退出值(0 表示正常结束),另一个元素是标准输出内容
     if ret[0] == 0:
         ver = Version(ret[1].strip())
         if ver > cur_ver:
             return ver
Exemplo n.º 9
0
 def _new_versions(self, cur_ver):
     if cur_ver is None or cur_ver == '0':
         start = 2
     else:
         start = int(cur_ver) + 1
     versions = []
     while True:
         if self.http_get('http://docs.amcharts.com/%s/' % start,
                          suppress_error=True):
             versions.append(Version(start))
             start += 1
         else:
             break
     return versions
Exemplo n.º 10
0
 def _new_versions(self, cur_ver):
     versions = [
         Version(i)
         for i in re.findall(r'Version ([\d\.]+)', self.yql_get(YQL_URL))
     ]
     return [i for i in versions if i > cur_ver]
Exemplo n.º 11
0
 def entry(self, version):
     if version < Version('2.0.0'):
         return 'docs/index.html'
     elif version < Version('3.1.0'):
         return 'index.html'
     return '_index/index.html'
Exemplo n.º 12
0
 def _new_versions(self, cur_ver):
     ret = self.yql_get(YQL_URL)
     versions = [Version(i['content']) for i in ret['a']]
     return sorted(i for i in versions if i > cur_ver)