Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 210890 Details for
Bug 294053
New ebuild: net-mail/r2eui
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
r2eui-1.1-cmdline_options.patch
r2eui-1.1-cmdline_options.patch (text/plain), 9.81 KB, created by
Torsten Kurbad
on 2009-11-22 14:23:57 UTC
(
hide
)
Description:
r2eui-1.1-cmdline_options.patch
Filename:
MIME Type:
Creator:
Torsten Kurbad
Created:
2009-11-22 14:23:57 UTC
Size:
9.81 KB
patch
obsolete
>--- r2eui.py.dist 2009-11-21 19:56:01.800482805 +0100 >+++ r2eui.py 2009-11-22 12:26:33.880483473 +0100 >@@ -11,19 +11,78 @@ > __version__ = "1.1" > __author__ = "Lindsey Smith (lindsey.smith@gmail.com)" > __copyright__ = "(C) 2009 by Lindsey Smith, Released under GNU GPL 2 License" >-___contributors__ = [ "Lindsey Smith (lindsey.smith@gmail.com)" ] >- >+__contributors__ = [ "Lindsey Smith (lindsey.smith@gmail.com)", "Torsten Kurbad (torsten@tk-webart.de)" ] >+ > import web > import rss2email > import os > import sys > from rss2email import Feed, isstr > import logging >+import getopt >+import os.path > >-feedfile = 'feeds.dat' >+helptext = """\ >+Usage: %s [-h] [-f feeds.dat] [-p pid-file] [listen-address:port] > >-render = web.template.render('templates/') >+ -h | --help : display this help text >+ -f | --feeds path/to/feeds.dat : use a source for feeds other than >+ /etc/rss2email/feeds.dat >+ -p | --pid path/to/r2eui.pid : write a pid file (for daemon use) >+ listen-address:port : make r2eui listen to this IP:port >+ (default: 0.0.0.0:8080) >+""" % sys.argv[0][:-3] >+ >+optlist = None >+try: >+ optlist, argv = getopt.gnu_getopt( >+ sys.argv[1:], 'hf:p:', ['help', 'feeds=', 'pid=']) >+ sys.argv[1:] = argv[:] >+except getopt.GetoptError, e: >+ print 'Error: %s\n' % e >+ print helptext >+ sys.exit(1) >+else: >+ pass >+ >+feedfile = '/etc/rss2email/feeds.dat' >+pidfile = None >+ >+if optlist is not None: >+ for (option, value) in optlist: >+ if option in ['-h', '--help']: >+ print helptext >+ sys.exit(0) >+ if option in ['-f', '--feeds']: >+ feedfile = value >+ if option in ['-p', '--pid']: >+ pidfile = value >+ >+if pidfile is not None: >+ if os.path.exists(pidfile): >+ try: >+ fd = open(pidfile, 'r') >+ oldpid = fd.readline().strip() >+ fd.close() >+ except IOError, e: >+ print 'Error: Old pid file exists, but cannot be read.' >+ print 'Python returned: %s' % e >+ sys.exit(1) >+ if os.path.exists('/proc/%s' % oldpid): >+ print 'Error: %s already running on pid %s.' % (sys.argv[0][:-3], oldpid) >+ sys.exit(1) >+ try: >+ os.unlink(pidfile) >+ print 'Warning: Removed stale pid file for pid %s.' % oldpid >+ except OSError, e: >+ print 'Error: Stale pid file exists, but cannot be removed.' >+ print 'Python returned: %s' % e >+ sys.exit(1) >+ fd = open(pidfile, 'w') >+ fd.write('%d\n' % os.getpid()) >+ fd.close() > >+render = web.template.render('templates/') > urls = ( > '/', 'index', > '/add', 'add', >@@ -40,119 +99,128 @@ > formatter = logging.Formatter("%(levelname)s - %(message)s") > ch.setFormatter(formatter) > logger.addHandler(ch) >- >+ > > def load(lock=0): >- rss2email.feedfile = feedfile >- return rss2email.load(lock) >- >+ rss2email.feedfile = feedfile >+ return rss2email.load(lock) >+ > > def updatefeedlist(sitevars): >- sitevars['feeds'], sitevars['feedfileObject'] = load() >- >- if sitevars['feeds'] and isstr(sitevars['feeds'][0]): >- sitevars['default_to'] = sitevars['feeds'][0]; >- sitevars['ifeeds'] = sitevars['feeds'][1:]; >- sitevars['i']=1 >- else: >- sitevars['ifeeds'] = sitevars['feeds']; >- sitevars['i'] = 0; >- sitevars['default_to'] = '' >+ sitevars['feeds'], sitevars['feedfileObject'] = load() >+ >+ if sitevars['feeds'] and isstr(sitevars['feeds'][0]): >+ sitevars['default_to'] = sitevars['feeds'][0]; >+ sitevars['ifeeds'] = sitevars['feeds'][1:]; >+ sitevars['i']=1 >+ else: >+ sitevars['ifeeds'] = sitevars['feeds']; >+ sitevars['i'] = 0; >+ sitevars['default_to'] = '' > > class base: > def __init__(self): > feeds, feedfileObject = load() >- >+ > if feeds and isstr(feeds[0]): > default_to = feeds[0]; ifeeds = feeds[1:]; i=1 > else: ifeeds = feeds; i = 0; default_to = '' > >- self.sitevars = {'urltoadd':'', 'adderrormsg':'', 'changeerrormsg':'', 'newemail':'', 'feeds': feeds, 'feedfileObject': feedfileObject, 'default_to': default_to, 'ifeeds': ifeeds, 'i':i, 'addemail': '', 'version': __version__, 'copyright': __copyright__, 'author':__author__, 'usedefaultemail':'checked'} >+ self.sitevars = {'urltoadd':'', 'adderrormsg':'', 'changeerrormsg':'', 'newemail':'', 'feeds': feeds, 'feedfileObject': feedfileObject, 'default_to': default_to, 'ifeeds': ifeeds, 'i':i, 'addemail': '', 'version': __version__, 'copyright': __copyright__, 'author':__author__, 'usedefaultemail':'checked', 'contributors':', '.join(__contributors__[1:])} > > def GET(self): > web.redirect('/') > >-class index(base): >+class index(base): > def GET(self): > return render.ui(self.sitevars) > > class add(base): > def POST(self): >- i = web.input() >- >- self.sitevars['urltoadd'] = i.urltoadd >- self.sitevars['addemail'] = i.addemail >- errmsg = '' >- usedefault = i.has_key('defaultemail') >- if usedefault: self.sitevars['usedefaultemail'] = 'checked' >- else: self.sitevars['usedefaultemail'] = '' >- print self.sitevars['usedefaultemail'] >+ i = web.input() >+ >+ self.sitevars['urltoadd'] = i.urltoadd >+ self.sitevars['addemail'] = i.addemail >+ errmsg = '' >+ usedefault = i.has_key('defaultemail') >+ if usedefault: >+ self.sitevars['usedefaultemail'] = 'checked' >+ else: >+ self.sitevars['usedefaultemail'] = '' >+ print self.sitevars['usedefaultemail'] > > # TODO: add validity checks on url and email address >- if i.urltoadd == '': >- errmsg = '* Enter a new feed URL ("http://www.site.com/rss.xml" for example). ' >- >- if not usedefault: >- if i.addemail == '': >- errmsg += '* Enter an email address for feed updates. ' >- elif (i.addemail.find('@') == -1): >- errmsg += '* Please enter a valid email address in the form email@site.com' >+ if i.urltoadd == '': >+ errmsg = '* Enter a new feed URL ("http://www.site.com/rss.xml" for example). ' >+ >+ if not usedefault: >+ if i.addemail == '': >+ errmsg += '* Enter an email address for feed updates. ' >+ elif (i.addemail.find('@') == -1): >+ errmsg += '* Please enter a valid email address in the form email@site.com' > > if usedefault and self.sitevars['default_to'] == '': >- errmsg += '* You must either set a default email address or specify an address for this new feed. ' >+ errmsg += '* You must either set a default email address or specify an address for this new feed. ' > >- self.sitevars['adderrormsg'] = errmsg >- >- if errmsg == '': >- if usedefault: args = [i.urltoadd] >- else: args = [i.urltoadd, i.addemail] >- rss2email.add(*args) >- updatefeedlist(self.sitevars) >- >+ self.sitevars['adderrormsg'] = errmsg >+ >+ if errmsg == '': >+ if usedefault: >+ args = [i.urltoadd] >+ else: >+ args = [i.urltoadd, i.addemail] >+ rss2email.add(*args) >+ updatefeedlist(self.sitevars) >+ > return render.ui(self.sitevars) >- >+ > class change(base): > def POST(self): >- i = web.input() >- >- self.sitevars['newemail'] = i.newemail >- if i.newemail == '': >- self.sitevars['changeerrormsg'] = 'Enter a new email address please' >- else: >- rss2email.email(i.newemail) >- updatefeedlist(self.sitevars) >+ i = web.input() >+ >+ self.sitevars['newemail'] = i.newemail >+ if i.newemail == '': >+ self.sitevars['changeerrormsg'] = 'Enter a new email address please' >+ else: >+ rss2email.email(i.newemail) >+ updatefeedlist(self.sitevars) > > return render.ui(self.sitevars) >- >+ > class delete(base): > def POST(self): >- inputs = web.input() >- if self.sitevars['i'] == 1: >- offset = 0 >- else: >- offset = 1 >- i = len(self.sitevars['ifeeds']) >- while i >= 0: >- feed = self.sitevars['ifeeds'][i-1] >- s = 'D' + str(i) >- if inputs.has_key(s): >- rss2email.delete(i) >- i -= 1 >+ inputs = web.input() >+ if self.sitevars['i'] == 1: >+ offset = 0 >+ else: >+ offset = 1 >+ i = len(self.sitevars['ifeeds']) >+ while i >= 0: >+ feed = self.sitevars['ifeeds'][i-1] >+ s = 'D' + str(i) >+ if inputs.has_key(s): >+ rss2email.delete(i) >+ i -= 1 > >- updatefeedlist(self.sitevars) >+ updatefeedlist(self.sitevars) > return render.ui(self.sitevars) >- >+ > class run(base): > def POST(self): >- rss2email.run() >- return render.ui(self.sitevars) >- >- >-if __name__ == '__main__': >- if not os.path.exists(feedfile): >- print 'Feedfile "%s" does not exist. If you\'re using r2e for the first time,' % feedfile >- print "you have to run 'r2e new' first." >- sys.exit(1) >- app.run() >+ rss2email.run() >+ return render.ui(self.sitevars) > >- >+ >+if __name__ == '__main__': >+ if not os.path.exists(feedfile): >+ print 'Feedfile "%s" does not exist. If you\'re using r2e for the first time,' % feedfile >+ print "you have to run 'r2e new' first." >+ sys.exit(1) >+ try: >+ app.run() >+ except: >+ pass >+ finally: >+ # Cleanup >+ if pidfile is not None: >+ os.unlink(pidfile)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 294053
:
210886
|
210887
|
210888
| 210890 |
210892
|
210894
|
210895
|
212251