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
"""