bump to 0.j
This commit is contained in:
parent
1aee7f984e
commit
9ca0bbae6a
203 changed files with 204 additions and 204 deletions
|
|
@ -276,7 +276,7 @@ class AccountListFormatter(IFormatter):
|
|||
|
||||
class Boobank(ReplApplication):
|
||||
APPNAME = 'boobank'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2010-2011 Romain Bignon, Christophe Benz'
|
||||
CAPS = ICapBank
|
||||
DESCRIPTION = "Console application allowing to list your bank accounts and get their balance, " \
|
||||
|
|
|
|||
|
|
@ -277,7 +277,7 @@ h2. Attendees
|
|||
|
||||
class Boobathon(ReplApplication):
|
||||
APPNAME = 'boobathon'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2011 Romain Bignon'
|
||||
DESCRIPTION = 'Console application to participate to a Boobathon.'
|
||||
SHORT_DESCRIPTION = "participate in a Boobathon"
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@ class UpcomingFormatter(IFormatter):
|
|||
|
||||
class Boobcoming(ReplApplication):
|
||||
APPNAME = 'boobcoming'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2012 Bezleputh'
|
||||
DESCRIPTION = "Console application to see upcoming events."
|
||||
SHORT_DESCRIPTION = "see upcoming events"
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ class SubscriptionsFormatter(PrettyFormatter):
|
|||
|
||||
class Boobill(ReplApplication):
|
||||
APPNAME = 'boobill'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2012 Florent Fourcot'
|
||||
DESCRIPTION = 'Console application allowing to get and download bills.'
|
||||
SHORT_DESCRIPTION = "get and download bills"
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ class LyricsListFormatter(PrettyFormatter):
|
|||
|
||||
class Booblyrics(ReplApplication):
|
||||
APPNAME = 'booblyrics'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2013 Julien Veyssier'
|
||||
DESCRIPTION = "Console application allowing to search for song lyrics on various websites."
|
||||
SHORT_DESCRIPTION = "search and display song lyrics"
|
||||
|
|
|
|||
|
|
@ -234,7 +234,7 @@ class ProfileFormatter(IFormatter):
|
|||
|
||||
class Boobmsg(ReplApplication):
|
||||
APPNAME = 'boobmsg'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2010-2011 Christophe Benz'
|
||||
DESCRIPTION = "Console application allowing to send messages on various websites and " \
|
||||
"to display message threads and contents."
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ class RentedListFormatter(PrettyFormatter):
|
|||
|
||||
class Boobooks(ReplApplication):
|
||||
APPNAME = 'boobooks'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2012 Jeremy Monnet'
|
||||
CAPS = ICapBook
|
||||
DESCRIPTION = "Console application allowing to list your books rented or booked at the library, " \
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ class GaugeFormatter(IFormatter):
|
|||
|
||||
class Boobsize(ReplApplication):
|
||||
APPNAME = 'Boobsize'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2013 Florent Fourcot'
|
||||
DESCRIPTION = "Console application allowing to display various sensors and gauges values."
|
||||
SHORT_DESCRIPTION = "display sensors and gauges values"
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ class IssuesListFormatter(PrettyFormatter):
|
|||
|
||||
class BoobTracker(ReplApplication):
|
||||
APPNAME = 'boobtracker'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2011 Romain Bignon'
|
||||
DESCRIPTION = "Console application allowing to create, edit, view bug tracking issues."
|
||||
SHORT_DESCRIPTION = "manage bug tracking issues"
|
||||
|
|
|
|||
|
|
@ -177,7 +177,7 @@ class PersonBiographyFormatter(PrettyFormatter):
|
|||
|
||||
class Cineoob(ReplApplication):
|
||||
APPNAME = 'cineoob'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2013 Julien Veyssier'
|
||||
DESCRIPTION = "Console application allowing to search for movies and persons on various cinema databases " \
|
||||
", list persons related to a movie, list movies related to a person and list common movies " \
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ class PricesFormatter(PrettyFormatter):
|
|||
|
||||
class Comparoob(ReplApplication):
|
||||
APPNAME = 'comparoob'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2012 Romain Bignon'
|
||||
DESCRIPTION = "Console application to compare products."
|
||||
SHORT_DESCRIPTION = "compare products"
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ class RecipeListFormatter(PrettyFormatter):
|
|||
|
||||
class Cookboob(ReplApplication):
|
||||
APPNAME = 'cookboob'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2013 Julien Veyssier'
|
||||
DESCRIPTION = "Console application allowing to search for recipes on various websites."
|
||||
SHORT_DESCRIPTION = "search and consult recipes"
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ class HousingListFormatter(PrettyFormatter):
|
|||
|
||||
class Flatboob(ReplApplication):
|
||||
APPNAME = 'flatboob'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2012 Romain Bignon'
|
||||
DESCRIPTION = "Console application to search for housing."
|
||||
SHORT_DESCRIPTION = "search for housing"
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ class GalleryListFormatter(PrettyFormatter):
|
|||
|
||||
class Galleroob(ReplApplication):
|
||||
APPNAME = 'galleroob'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = u'Copyright(C) 2011 Noé Rubinstein'
|
||||
DESCRIPTION = 'galleroob browses and downloads web image galleries'
|
||||
SHORT_DESCRIPTION = 'browse and download web image galleries'
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ __all__ = ['Geolooc']
|
|||
|
||||
class Geolooc(ReplApplication):
|
||||
APPNAME = 'geolooc'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2010-2011 Romain Bignon'
|
||||
DESCRIPTION = "Console application allowing to geolocalize IP addresses."
|
||||
SHORT_DESCRIPTION = "geolocalize IP addresses"
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ class JobAdvertListFormatter(PrettyFormatter):
|
|||
|
||||
class Handjoob(ReplApplication):
|
||||
APPNAME = 'handjoob'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2012 Bezleputh'
|
||||
DESCRIPTION = "Console application to search for a job."
|
||||
SHORT_DESCRIPTION = "search for a job"
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ class EventListFormatter(PrettyFormatter):
|
|||
|
||||
class HaveDate(Boobmsg):
|
||||
APPNAME = 'havedate'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2010-2012 Romain Bignon'
|
||||
DESCRIPTION = "Console application allowing to interact with various dating websites " \
|
||||
"and to optimize seduction algorithmically."
|
||||
|
|
|
|||
|
|
@ -278,7 +278,7 @@ class MasstransitHildon():
|
|||
class Masstransit(BaseApplication):
|
||||
"Application Class"
|
||||
APPNAME = 'masstransit'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2010-2011 Julien Hébert'
|
||||
DESCRIPTION = "Maemo application allowing to search for train stations and get departure times."
|
||||
SHORT_DESCRIPTION = "search for train stations and departures"
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ class MonboobScheduler(Scheduler):
|
|||
|
||||
class Monboob(ReplApplication):
|
||||
APPNAME = 'monboob'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2010-2011 Romain Bignon'
|
||||
DESCRIPTION = 'Daemon allowing to regularly check for new messages on various websites, ' \
|
||||
'and send an email for each message, and post a reply to a message on a website.'
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ class StatusFormatter(IFormatter):
|
|||
|
||||
class Parceloob(ReplApplication):
|
||||
APPNAME = 'parceloob'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2013 Romain Bignon'
|
||||
CAPS = ICapParcel
|
||||
DESCRIPTION = "Console application to track your parcels."
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ __all__ = ['Pastoob']
|
|||
|
||||
class Pastoob(ReplApplication):
|
||||
APPNAME = 'pastoob'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2011-2013 Laurent Bachelier'
|
||||
DESCRIPTION = "Console application allowing to post and get pastes from pastebins."
|
||||
SHORT_DESCRIPTION = "post and get pastes from pastebins"
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ from .main_window import MainWindow
|
|||
|
||||
class QBoobMsg(QtApplication):
|
||||
APPNAME = 'qboobmsg'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2010-2011 Romain Bignon'
|
||||
DESCRIPTION = "Qt application allowing to read messages on various websites and reply to them."
|
||||
SHORT_DESCRIPTION = "send and receive message threads"
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ from .main_window import MainWindow
|
|||
|
||||
class QCineoob(QtApplication):
|
||||
APPNAME = 'qcineoob'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2013 Julien Veyssier'
|
||||
DESCRIPTION = "Qt application allowing to search movies, people, torrent and subtitles."
|
||||
SHORT_DESCRIPTION = "search movies, people, torrent and subtitles"
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ from .main_window import MainWindow
|
|||
|
||||
class QCookboob(QtApplication):
|
||||
APPNAME = 'qcookboob'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2013 Julien Veyssier'
|
||||
DESCRIPTION = "Qt application allowing to search recipes."
|
||||
SHORT_DESCRIPTION = "search recipes"
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ from .main_window import MainWindow
|
|||
|
||||
class QFlatBoob(QtApplication):
|
||||
APPNAME = 'qflatboob'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2010-2012 Romain Bignon'
|
||||
DESCRIPTION = "Qt application to search for housing."
|
||||
SHORT_DESCRIPTION = "search for housing"
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ from .main_window import MainWindow
|
|||
|
||||
class QHandJoob(QtApplication):
|
||||
APPNAME = 'qhandjoob'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = u'Copyright(C) 2013 Sébastien Monel'
|
||||
DESCRIPTION = "Qt application to search for job."
|
||||
SHORT_DESCRIPTION = "search for job"
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ from .main_window import MainWindow
|
|||
|
||||
class QHaveDate(QtApplication):
|
||||
APPNAME = 'qhavedate'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2010-2012 Romain Bignon'
|
||||
DESCRIPTION = "Qt application allowing to interact with various dating websites."
|
||||
SHORT_DESCRIPTION = "interact with dating websites"
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ from .main_window import MainWindow
|
|||
|
||||
class QVideoob(QtApplication):
|
||||
APPNAME = 'qvideoob'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2010-2011 Romain Bignon'
|
||||
DESCRIPTION = "Qt application allowing to search videos on various websites and play them."
|
||||
SHORT_DESCRIPTION = "search and play videos"
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ from .main_window import MainWindow
|
|||
|
||||
class QWebContentEdit(QtApplication):
|
||||
APPNAME = 'qwebcontentedit'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = u'Copyright(C) 2011 Clément Schreiner'
|
||||
DESCRIPTION = "Qt application allowing to manage content of various websites."
|
||||
SHORT_DESCRIPTION = "manage websites content"
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ from weboob.tools.application.qt import BackendCfg, QtApplication
|
|||
|
||||
class QWeboobCfg(QtApplication):
|
||||
APPNAME = 'qweboobcfg'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2010-2011 Romain Bignon'
|
||||
DESCRIPTION = "weboob-config-qt is a graphical application to add/edit/remove backends, " \
|
||||
"and to register new website accounts."
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ class RadioListFormatter(PrettyFormatter):
|
|||
|
||||
class Radioob(ReplApplication):
|
||||
APPNAME = 'radioob'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2010-2013 Romain Bignon\nCopyright(C) 2013 Pierre Maziere'
|
||||
DESCRIPTION = "Console application allowing to search for web radio stations, listen to them and get information " \
|
||||
"like the current song."
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ class SubtitleListFormatter(PrettyFormatter):
|
|||
|
||||
class Suboob(ReplApplication):
|
||||
APPNAME = 'suboob'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2013 Julien Veyssier'
|
||||
DESCRIPTION = "Console application allowing to search for subtitles on various services " \
|
||||
"and download them."
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ class XmlTranslationFormatter(IFormatter):
|
|||
|
||||
class Translaboob(ReplApplication):
|
||||
APPNAME = 'translaboob'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2012 Lucien Loiseau'
|
||||
DESCRIPTION = "Console application to translate text from one language to another"
|
||||
SHORT_DESCRIPTION = "translate text from one language to another"
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ class StationsFormatter(PrettyFormatter):
|
|||
|
||||
class Traveloob(ReplApplication):
|
||||
APPNAME = 'traveloob'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2010-2013 Romain Bignon'
|
||||
DESCRIPTION = "Console application allowing to search for train stations and get departure times."
|
||||
SHORT_DESCRIPTION = "search for train stations and departures"
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ class VideoListFormatter(PrettyFormatter):
|
|||
|
||||
class Videoob(ReplApplication):
|
||||
APPNAME = 'videoob'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2010-2011 Christophe Benz, Romain Bignon, John Obbele'
|
||||
DESCRIPTION = "Console application allowing to search for videos on various websites, " \
|
||||
"play and download them and get information."
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ __all__ = ['WebContentEdit']
|
|||
|
||||
class WebContentEdit(ReplApplication):
|
||||
APPNAME = 'webcontentedit'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2010-2011 Romain Bignon'
|
||||
DESCRIPTION = "Console application allowing to display and edit contents on various websites."
|
||||
SHORT_DESCRIPTION = "manage websites content"
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ __all__ = ['WeboobCfg']
|
|||
|
||||
class WeboobCfg(ReplApplication):
|
||||
APPNAME = 'weboob-config'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2010-2012 Christophe Benz, Romain Bignon'
|
||||
DESCRIPTION = "Weboob-Config is a console application to add/edit/remove backends, " \
|
||||
"and to register new website accounts."
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ __all__ = ['WeboobCli']
|
|||
|
||||
class WeboobCli(ReplApplication):
|
||||
APPNAME = 'weboob-cli'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2010-2011 Romain Bignon'
|
||||
SYNOPSIS = 'Usage: %prog [-dqv] [-b backends] [-cnfs] capability method [arguments..]\n'
|
||||
SYNOPSIS += ' %prog [--help] [--version]'
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ from weboob.tools.application.base import BaseApplication
|
|||
|
||||
class WeboobDebug(BaseApplication):
|
||||
APPNAME = 'weboobdebug'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2010-2011 Christophe Benz'
|
||||
DESCRIPTION = "Weboob-Debug is a console application to debug backends."
|
||||
SHORT_DESCRIPTION = "debug backends"
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ __all__ = ['WeboobRepos']
|
|||
|
||||
class WeboobRepos(ReplApplication):
|
||||
APPNAME = 'weboob-repos'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2012 Romain Bignon'
|
||||
DESCRIPTION = "Weboob-repos is a console application to manage a Weboob Repository."
|
||||
SHORT_DESCRIPTION = "manage a weboob repository"
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ class TorrentListFormatter(PrettyFormatter):
|
|||
|
||||
class Weboorrents(ReplApplication):
|
||||
APPNAME = 'weboorrents'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2010-2012 Romain Bignon'
|
||||
DESCRIPTION = "Console application allowing to search for torrents on various trackers " \
|
||||
"and download .torrent files."
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ class CitiesFormatter(PrettyFormatter):
|
|||
|
||||
class WetBoobs(ReplApplication):
|
||||
APPNAME = 'wetboobs'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
COPYRIGHT = 'Copyright(C) 2010-2014 Romain Bignon'
|
||||
DESCRIPTION = "Console application allowing to display weather and forecasts in your city."
|
||||
SHORT_DESCRIPTION = "display weather and forecasts"
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ class WebNip(object):
|
|||
:param scheduler: what scheduler to use; default is :class:`weboob.core.scheduler.Scheduler`
|
||||
:type scheduler: :class:`weboob.core.scheduler.IScheduler`
|
||||
"""
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
|
||||
def __init__(self, modules_path=None, storage=None, scheduler=None):
|
||||
self.logger = getLogger('weboob')
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ class GenericComicReaderBackend(BaseBackend, ICapGallery):
|
|||
NAME = 'genericcomicreader'
|
||||
MAINTAINER = u'Noé Rubinstein'
|
||||
EMAIL = 'noe.rubinstein@gmail.com'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
DESCRIPTION = 'Generic comic reader backend; subclasses implement specific sites'
|
||||
LICENSE = 'AGPLv3+'
|
||||
BROWSER = GenericComicReaderBrowser
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ class GenericNewspaperBackend(BaseBackend, ICapMessages):
|
|||
"""
|
||||
MAINTAINER = u'Julien Hebert'
|
||||
EMAIL = 'juke@free.fr'
|
||||
VERSION = '0.i'
|
||||
VERSION = '0.j'
|
||||
LICENSE = 'AGPLv3+'
|
||||
STORAGE = {'seen': {}}
|
||||
RSS_FEED = None
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue