Better API for ICapPaste.new_paste
This commit is contained in:
parent
6c2d164883
commit
8af2674994
6 changed files with 11 additions and 13 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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):
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
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 <test>¿¡')
|
||||
p1 = self.backend.new_paste(None, title='ouiboube', contents=u'Weboob <test>¿¡')
|
||||
self.backend.post_paste(p1)
|
||||
assert p1.id
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
"""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue