nombre doit etre un entier (contrainte due ebay)

continuation d'criture de l'url pour ebay

darcs-hash:20060610213559-4ec08-956a9a0b3d48f02ef6001c0643b61858c15663b5.gz
This commit is contained in:
chove 2006-06-10 23:35:59 +02:00
parent 589e9bf4d0
commit dff9c1fd19

View file

@ -3200,7 +3200,7 @@ class Facture(BaseClasseCrans):
art = art.split('~~')
art = { 'code' : art[0],
'designation' : art[1],
'nombre' : float(art[2]),
'nombre' : int(art[2]),
'pu' : float(art[3]) }
arts.append(art)
@ -3222,6 +3222,9 @@ class Facture(BaseClasseCrans):
ajoute = [ajoute]
if type(ajoute)==list:
for art in ajoute:
if int(art['nombre']) != float(art['nombre']):
raise ValueError, u'nombre doit être un entier'
art['nombre'] = int(art['nombre'])
if '~~' in ' '.join([str(x) for x in art.values()]):
raise ValueError, u'Ne pas mettre de ~~ dans les champs'
arts.append(art)
@ -3253,13 +3256,10 @@ class Facture(BaseClasseCrans):
def articles(self):
"""
Retourne la liste des articles.
ajoute et supprime sont :
un article ou
une liste d'articles
Un article est un dictionnaire de la forme :
{ 'code' : string,
'designation' : string,
'nombre' : int/float,
'nombre' : int,
'pu' : int/float }
"""
return self._articles() + self._frais()
@ -3282,14 +3282,18 @@ class Facture(BaseClasseCrans):
url += "&business=paypal@crans.org"
url += "&currency_code=EUR"
url += "&no_shipping=1"
#url += "&address_override=1"
url += "&no_note=1"
url += "&return=http://factures.crans.org/return"
url += "&cancel_return=http://factures.crans.org/cancel"
url += "&invoice=12345" # num de facture
url += "&item_name_1=coucou"
url += "&amount_1=12"
url += "&quantity_1=2"
item_id = 0
for item in self.articles():
item_id += 1
url += "&item_name_%d=%s" % (item_id, item['designation'])
url += "&amount_%d=%s" % (item_id, item['pu'])
url += "&quantity_%d=%s" % (item_id, int(item['nombre']))
return url
def save(self):