This commit is contained in:
Kovid Goyal 2009-03-12 12:56:41 -07:00
parent fafa92ec05
commit 0252b61bb1
4 changed files with 67 additions and 62 deletions

View File

@ -1150,12 +1150,14 @@ class Main(MainWindow, Ui_MainWindow):
if ext in config['internally_viewed_formats']: if ext in config['internally_viewed_formats']:
if ext == 'LRF': if ext == 'LRF':
args = ['lrfviewer', name] args = ['lrfviewer', name]
self.job_manager.server.run_free_job('lrfviewer', kwdargs=dict(args=args)) self.job_manager.server.run_free_job('lrfviewer',
kwdargs=dict(args=args))
else: else:
args = ['ebook-viewer', name] args = ['ebook-viewer', name]
if isosx: if isosx:
args.append('--raise-window') args.append('--raise-window')
self.job_manager.server.run_free_job('ebook-viewer', kwdargs=dict(args=args)) self.job_manager.server.run_free_job('ebook-viewer',
kwdargs=dict(args=args))
else: else:
QDesktopServices.openUrl(QUrl('file:'+name))#launch(name) QDesktopServices.openUrl(QUrl('file:'+name))#launch(name)
time.sleep(5) # User feedback time.sleep(5) # User feedback

View File

@ -577,7 +577,7 @@ def config(defaults=None):
else: else:
c = StringConfig(defaults, desc) c = StringConfig(defaults, desc)
c.add_opt('--raise-window', default=False, c.add_opt('raise_window', ['--raise-window'], default=False,
help=_('If specified, viewer window will try to come to the ' help=_('If specified, viewer window will try to come to the '
'front when started.')) 'front when started.'))
return c return c

View File

@ -224,7 +224,8 @@ class WorkerMother(object):
return env return env
def spawn_free_spirit_osx(self, arg, type='free_spirit'): def spawn_free_spirit_osx(self, arg, type='free_spirit'):
script = 'from calibre.parallel import main; main(args=["calibre-parallel", %s]);'%repr(arg) script = ('from calibre.parallel import main; '
'main(args=["calibre-parallel", %s]);')%repr(arg)
exe = self.gui_executable if type == 'free_spirit' else self.executable exe = self.gui_executable if type == 'free_spirit' else self.executable
cmdline = [exe, '-c', self.prefix+script] cmdline = [exe, '-c', self.prefix+script]
child = WorkerStatus(subprocess.Popen(cmdline, env=self.get_env())) child = WorkerStatus(subprocess.Popen(cmdline, env=self.get_env()))

118
upload.py
View File

@ -709,65 +709,67 @@ class upload(OptionlessCommand):
('stage3', None) ('stage3', None)
] ]
class upload_rss(OptionlessCommand): try:
class upload_rss(OptionlessCommand):
from bzrlib import log as blog
from bzrlib import log as blog
class ChangelogFormatter(blog.LogFormatter):
supports_tags = True
supports_merge_revisions = False
def __init__(self, num_of_versions=20):
from calibre.utils.rss_gen import RSS2
self.num_of_versions = num_of_versions
self.rss = RSS2(
title = 'calibre releases',
link = 'http://calibre.kovidgoyal.net/wiki/Changelog',
description = 'Latest release of calibre',
lastBuildDate = datetime.utcnow()
)
self.current_entry = None
def log_revision(self, r): class ChangelogFormatter(blog.LogFormatter):
from calibre.utils.rss_gen import RSSItem, Guid supports_tags = True
if len(self.rss.items) > self.num_of_versions-1: supports_merge_revisions = False
return
msg = r.rev.message def __init__(self, num_of_versions=20):
match = re.match(r'version\s+(\d+\.\d+.\d+)', msg) from calibre.utils.rss_gen import RSS2
self.num_of_versions = num_of_versions
if match: self.rss = RSS2(
if self.current_entry is not None: title = 'calibre releases',
mkup = '<div><ul>%s</ul></div>' link = 'http://calibre.kovidgoyal.net/wiki/Changelog',
self.current_entry.description = mkup%(''.join( description = 'Latest release of calibre',
self.current_entry.description)) lastBuildDate = datetime.utcnow()
)
self.rss.items.append(self.current_entry) self.current_entry = None
timestamp = r.rev.timezone + r.rev.timestamp
self.current_entry = RSSItem( def log_revision(self, r):
title = 'calibre %s released'%match.group(1), from calibre.utils.rss_gen import RSSItem, Guid
link = 'http://calibre.kovidgoyal.net/download', if len(self.rss.items) > self.num_of_versions-1:
guid = Guid(match.group(), False), return
pubDate = datetime(*time.gmtime(timestamp)[:6]), msg = r.rev.message
description = [] match = re.match(r'version\s+(\d+\.\d+.\d+)', msg)
)
elif self.current_entry is not None: if match:
if re.search(r'[a-zA-Z]', msg) and len(msg.strip()) > 5: if self.current_entry is not None:
if 'translation' not in msg and not msg.startswith('IGN'): mkup = '<div><ul>%s</ul></div>'
msg = msg.replace('<', '&lt;').replace('>', '&gt;') self.current_entry.description = mkup%(''.join(
msg = re.sub('#(\d+)', r'<a href="http://calibre.kovidgoyal.net/ticket/\1">#\1</a>', self.current_entry.description))
msg)
self.current_entry.description.append( self.rss.items.append(self.current_entry)
'<li>%s</li>'%msg.strip()) timestamp = r.rev.timezone + r.rev.timestamp
self.current_entry = RSSItem(
title = 'calibre %s released'%match.group(1),
def run(self): link = 'http://calibre.kovidgoyal.net/download',
from bzrlib import log, branch guid = Guid(match.group(), False),
bzr_path = os.path.expanduser('~/work/calibre') pubDate = datetime(*time.gmtime(timestamp)[:6]),
b = branch.Branch.open(bzr_path) description = []
lf = upload_rss.ChangelogFormatter() )
log.show_log(b, lf) elif self.current_entry is not None:
lf.rss.write_xml(open('/tmp/releases.xml', 'wb')) if re.search(r'[a-zA-Z]', msg) and len(msg.strip()) > 5:
subprocess.check_call('scp /tmp/releases.xml divok:/var/www/calibre.kovidgoyal.net/htdocs/downloads'.split()) if 'translation' not in msg and not msg.startswith('IGN'):
msg = msg.replace('<', '&lt;').replace('>', '&gt;')
msg = re.sub('#(\d+)', r'<a href="http://calibre.kovidgoyal.net/ticket/\1">#\1</a>',
msg)
self.current_entry.description.append(
'<li>%s</li>'%msg.strip())
def run(self):
from bzrlib import log, branch
bzr_path = os.path.expanduser('~/work/calibre')
b = branch.Branch.open(bzr_path)
lf = upload_rss.ChangelogFormatter()
log.show_log(b, lf)
lf.rss.write_xml(open('/tmp/releases.xml', 'wb'))
subprocess.check_call('scp /tmp/releases.xml divok:/var/www/calibre.kovidgoyal.net/htdocs/downloads'.split())
except ImportError:
upload_rss = None