diff --git a/weboob/applications/pastoob/pastoob.py b/weboob/applications/pastoob/pastoob.py index 8c109eda..d1aff2f9 100644 --- a/weboob/applications/pastoob/pastoob.py +++ b/weboob/applications/pastoob/pastoob.py @@ -82,7 +82,7 @@ class Pastoob(ReplApplication): accepted_backends = [backend for backend in self.weboob.iter_backends()] backend = choice(accepted_backends) - p = backend.new_paste() + p = backend.new_paste(_id=None) p.title = os.path.basename(filename) p.contents = contents backend.post_paste(p) diff --git a/weboob/backends/pastealacon/backend.py b/weboob/backends/pastealacon/backend.py index 3a94b037..4b67b59e 100644 --- a/weboob/backends/pastealacon/backend.py +++ b/weboob/backends/pastealacon/backend.py @@ -38,8 +38,8 @@ class PastealaconBackend(BaseBackend, ICapPaste): LICENSE = 'AGPLv3+' BROWSER = PastealaconBrowser - def new_paste(self): - return PastealaconPaste(None) + def new_paste(self, *args, **kwargs): + return PastealaconPaste(*args, **kwargs) def get_paste(self, _id): with self.browser: diff --git a/weboob/backends/pastealacon/test.py b/weboob/backends/pastealacon/test.py index 2f41a4b8..2302a877 100644 --- a/weboob/backends/pastealacon/test.py +++ b/weboob/backends/pastealacon/test.py @@ -24,8 +24,6 @@ from weboob.tools.browser import BrowserUnavailable from weboob.capabilities.paste import PasteNotFound -from .paste import PastealaconPaste - class PastealaconTest(BackendTest): BACKEND = 'pastealacon' @@ -45,7 +43,7 @@ class PastealaconTest(BackendTest): assert u'héhéhé' in p.contents def test_post(self): - p = PastealaconPaste(None, title='ouiboube', contents=u'Weboob Test héhéhé') + p = self.backend.new_paste(None, title='ouiboube', contents=u'Weboob Test héhéhé') self.backend.post_paste(p) assert p.id self.backend.fill_paste(p, ['title']) @@ -59,7 +57,7 @@ class PastealaconTest(BackendTest): self._get_paste('http://pastealacon.com/'+p.id) def test_spam(self): - p = PastealaconPaste(None, title='viagra', contents='http://example.com/') + p = self.backend.new_paste(None, title='viagra', contents='http://example.com/') self.assertRaises(BrowserUnavailable, self.backend.post_paste, p) def test_notfound(self): diff --git a/weboob/backends/pastebin/backend.py b/weboob/backends/pastebin/backend.py index 8a5736cf..9714cbe6 100644 --- a/weboob/backends/pastebin/backend.py +++ b/weboob/backends/pastebin/backend.py @@ -42,8 +42,8 @@ class PastebinBackend(BaseBackend, ICapPaste): Value('apikey', label='Optional API key', default='', masked=True), ) - def new_paste(self): - return PastebinPaste(None) + def new_paste(self, *args, **kwargs): + return PastebinPaste(*args, **kwargs) def get_paste(self, _id): with self.browser: diff --git a/weboob/backends/pastebin/test.py b/weboob/backends/pastebin/test.py index 4a76c97d..5a3793f6 100644 --- a/weboob/backends/pastebin/test.py +++ b/weboob/backends/pastebin/test.py @@ -18,7 +18,6 @@ # along with weboob. If not, see . from weboob.tools.test import BackendTest -from .paste import PastebinPaste from weboob.capabilities.base import NotLoaded from weboob.capabilities.paste import PasteNotFound @@ -42,7 +41,7 @@ class PastebinTest(BackendTest): assert p.contents == 'prout' def test_post(self): - p = PastebinPaste(None, title='ouiboube', contents='Weboob Test') + p = self.backend.new_paste(None, title='ouiboube', contents='Weboob Test') self.backend.post_paste(p) assert p.id self.backend.fill_paste(p, ['title']) @@ -51,7 +50,7 @@ class PastebinTest(BackendTest): def test_specialchars(self): # post a paste and get the contents through the HTML response - p1 = PastebinPaste(None, title='ouiboube', contents=u'Weboob ¿¡') + p1 = self.backend.new_paste(None, title='ouiboube', contents=u'Weboob ¿¡') self.backend.post_paste(p1) assert p1.id diff --git a/weboob/capabilities/paste.py b/weboob/capabilities/paste.py index 7935305e..794423d7 100644 --- a/weboob/capabilities/paste.py +++ b/weboob/capabilities/paste.py @@ -53,9 +53,10 @@ class ICapPaste(IBaseCap): This capability represents the ability for a website backend to store plain text. """ - def new_paste(self): + def new_paste(self, *args, **kwargs): """ Get a new paste object for posting it with the backend. + The parameters should be passed to the object init. @return a Paste object """