|
/
Zope
/
gocept svn checkins
/
Archive
/
2008
/
2008-11
/
SVN: r7087 - gocept.collmex/trunk/src/gocept/collmex
[
SVN: r7084 - gtimelog-macosx/trunk / Michael ... ]
[
SVN: r7099 - in gocept.infrastructure/testing: . ... ]
SVN: r7087 - gocept.collmex/trunk/src/gocept/collmex
Christian Zagrodnick <cz(at)gocept.com> |
2008-11-28 09:41:03 |
[ FULL ]
|
Author: zagy
Date: Fri Nov 28 09:41:01 2008
New Revision: 7087
Log:
testing.py uses environment for credentials now
Modified:
gocept.collmex/trunk/src/gocept/collmex/testing.py
Modified: gocept.collmex/trunk/src/gocept/collmex/testing.py
==============================================================================
--- gocept.collmex/trunk/src/gocept/collmex/testing.py (original)
+++ gocept.collmex/trunk/src/gocept/collmex/testing.py Fri Nov 28 09:41:01 2008
(at)(at) -2,6 +2,7 (at)(at)
# Copyright (c) 2008 gocept gmbh & co. kg
# See also LICENSE.txt
+import os
import zope.testbrowser.browser
(at)(at) -11,11 +12,11 (at)(at)
b.open('http://www.collmex.de')
# Login
- b.getControl('Kunden Nr').value = '42779'
+ b.getControl('Kunden Nr').value = os.environ['collmex_customer']
b.getControl('anmelden...').click()
- b.getControl('Benutzer').value = '1141688'
- b.getControl('Kennwort').value = '1416678'
+ b.getControl('Benutzer').value = os.environ['collmex_username']
+ b.getControl('Kennwort').value = os.environ['collmex_password']
b.getControl('Anmelden').click()
# Firma loeschen
|
SVN: r7088 - gocept.collmex/trunk/src/gocept/collmex
Christian Zagrodnick <cz(at)gocept.com> |
2008-11-28 09:53:33 |
[ FULL ]
|
Author: zagy
Date: Fri Nov 28 09:53:32 2008
New Revision: 7088
Log:
Explicitly close response to not leave open http objects.
Modified:
gocept.collmex/trunk/src/gocept/collmex/collmex.py
gocept.collmex/trunk/src/gocept/collmex/testing.py
Modified: gocept.collmex/trunk/src/gocept/collmex/collmex.py
==============================================================================
--- gocept.collmex/trunk/src/gocept/collmex/collmex.py (original)
+++ gocept.collmex/trunk/src/gocept/collmex/collmex.py Fri Nov 28 09:53:32 2008
(at)(at) -125,23 +125,24 (at)(at)
def _post(self, data):
data = 'LOGIN;%s;%s\n' % (self.username, self.password) + data
-
content_type, body = gocept.collmex.utils.encode_multipart_formdata(
[], [('fileName', 'api.csv', data)])
-
request = urllib2.Request(
'https://www.collmex.de/cgi-bin/cgi.exe?%s,0,data_exchange'
% self.customer_id, body)
request.add_header('Content-type', content_type)
- result = urllib2.urlopen(request)
- lines = list(csv.reader(result, dialect=CollmexDialect))
- response = lines.pop()
- assert len(response) >= 4
+ response = urllib2.urlopen(request)
+
+ lines = list(csv.reader(response, dialect=CollmexDialect))
+ response.close()
+ result = lines.pop()
+ assert len(result) >= 4
+
record_type, message_type, message_id, message_text = (
- response[:4])
+ result[:4])
if record_type != 'MESSAGE':
raise TypeError('API returned invalid response record: %r' %
- response)
+ result)
if message_type != 'S':
raise APIError(message_id, message_text)
return lines
Modified: gocept.collmex/trunk/src/gocept/collmex/testing.py
==============================================================================
--- gocept.collmex/trunk/src/gocept/collmex/testing.py (original)
+++ gocept.collmex/trunk/src/gocept/collmex/testing.py Fri Nov 28 09:53:32 2008
(at)(at) -52,3 +52,6 (at)(at)
b.getLink('Verkauf', index=1).click()
b.getControl(name='preis_1_preis').value = '5,00'
b.getControl('Speichern').click()
+
+ # Explicitly close response to not leave open http objects.
+ b.mech_browser._response.close()
|
SVN: r7089 - gocept.collmex/trunk/src/gocept/collmex
Christian Zagrodnick <cz(at)gocept.com> |
2008-11-28 09:57:47 |
[ FULL ]
|
Author: zagy
Date: Fri Nov 28 09:57:46 2008
New Revision: 7089
Log:
added get_invoice to interface
Modified:
gocept.collmex/trunk/src/gocept/collmex/collmex.py
gocept.collmex/trunk/src/gocept/collmex/interfaces.py
Modified: gocept.collmex/trunk/src/gocept/collmex/collmex.py
==============================================================================
--- gocept.collmex/trunk/src/gocept/collmex/collmex.py (original)
+++ gocept.collmex/trunk/src/gocept/collmex/collmex.py Fri Nov 28 09:57:46 2008
(at)(at) -85,7 +85,7 (at)(at)
zope.interface.implements(gocept.collmex.interfaces.ICollmex)
# XXX should go on CollmexDialect but the csv module's magic prevents it
- NULL = '(NULL)'
+ NULL = gocept.collmex.interfaces.NULL
def __init__(self, customer_id, company_id, username, password):
self.customer_id = customer_id
Modified: gocept.collmex/trunk/src/gocept/collmex/interfaces.py
==============================================================================
--- gocept.collmex/trunk/src/gocept/collmex/interfaces.py (original)
+++ gocept.collmex/trunk/src/gocept/collmex/interfaces.py Fri Nov 28 09:57:46
2008
(at)(at) -3,6 +3,9 (at)(at)
import zope.interface
+# NULL aka None for Collmex
+NULL = "(NULL)"
+
class ICollmex(zope.interface.Interface):
"""Python binding for the Collmex API."""
(at)(at) -10,6 +13,10 (at)(at)
def create_invoice(items):
"""Creates an invoice consisting of the given IInvoiceItems."""
+ def get_invoices(invoice_id=NULL, customer_id=NULL,
+ start_date=NULL, end_date=NULL):
+ """Returns a list of IInvoiceItems maching given criteria."""
+
class IInvoiceItem(zope.interface.Interface):
"""An invoice item from Collmex.
|
SVN: r7090 - in gocept.collmex/trunk: . src/gocept/collmex
Christian Zagrodnick <cz(at)gocept.com> |
2008-11-28 10:17:37 |
[ FULL ]
|
Author: zagy
Date: Fri Nov 28 10:17:36 2008
New Revision: 7090
Log:
refactored creation of models to be easily extensible
Added:
gocept.collmex/trunk/src/gocept/collmex/model.py (contents, props changed)
Modified:
gocept.collmex/trunk/setup.py
gocept.collmex/trunk/src/gocept/collmex/README.txt
gocept.collmex/trunk/src/gocept/collmex/collmex.py
Modified: gocept.collmex/trunk/setup.py
==============================================================================
--- gocept.collmex/trunk/setup.py (original)
+++ gocept.collmex/trunk/setup.py Fri Nov 28 10:17:36 2008
(at)(at) -26,6 +26,7 (at)(at)
install_requires=[
'setuptools',
'transaction',
+ 'zope.deprecation',
'zope.interface',
],
extras_require=dict(
Modified: gocept.collmex/trunk/src/gocept/collmex/README.txt
==============================================================================
--- gocept.collmex/trunk/src/gocept/collmex/README.txt (original)
+++ gocept.collmex/trunk/src/gocept/collmex/README.txt Fri Nov 28 10:17:36 2008
(at)(at) -26,7 +26,7 (at)(at)
... os.environ['collmex_customer'], os.environ['collmex_company'],
... os.environ['collmex_username'], os.environ['collmex_password'])
>>> start_date = datetime.datetime.now()
->>> item = gocept.collmex.collmex.InvoiceItem()
+>>> item = gocept.collmex.model.InvoiceItem()
>>> item['Kunden-Nr'] = '10000'
>>> item['Rechnungsnummer'] = 100000
>>> item['Menge'] = 3
Modified: gocept.collmex/trunk/src/gocept/collmex/collmex.py
==============================================================================
--- gocept.collmex/trunk/src/gocept/collmex/collmex.py (original)
+++ gocept.collmex/trunk/src/gocept/collmex/collmex.py Fri Nov 28 10:17:36 2008
(at)(at) -3,14 +3,15 (at)(at)
# See also LICENSE.txt
import StringIO
-import UserDict
import csv
import gocept.collmex.interfaces
import gocept.collmex.utils
+import gocept.collmex.model
import threading
import transaction
import transaction.interfaces
import urllib2
+import zope.deprecation
import zope.interface
(at)(at) -87,6 +88,10 (at)(at)
# XXX should go on CollmexDialect but the csv module's magic prevents it
NULL = gocept.collmex.interfaces.NULL
+ model_factory = {
+ 'CMXINV': gocept.collmex.model.InvoiceItem,
+ }
+
def __init__(self, customer_id, company_id, username, password):
self.customer_id = customer_id
self.company_id = company_id
(at)(at) -113,15 +118,30 (at)(at)
def get_invoices(self, invoice_id=NULL, customer_id=NULL,
start_date=NULL, end_date=NULL):
+ return self._query_objects(
+ 'INVOICE_GET',
+ invoice_id,
+ self.company_id,
+ customer_id,
+ date_to_collmex(start_date),
+ date_to_collmex(end_date),
+ 0, 0, 0, 'gocept.collmex')
+
+ def _query_objects(self, function, *args):
data = StringIO.StringIO()
writer = csv.writer(data, dialect=CollmexDialect)
- writer.writerow(
- ['INVOICE_GET', invoice_id, self.company_id, customer_id,
- date_to_collmex(start_date), date_to_collmex(end_date),
- 0, 0, 0, 'gocept.collmex'])
+ writer.writerow((function,) + args)
lines = self._post(data.getvalue())
- return [InvoiceItem(line) for line in lines
- if line[0] == 'CMXINV']
+ result = []
+ for line in lines:
+ record_type = line[0]
+ factory = self.model_factory.get(record_type)
+ if factory is None:
+ continue
+ result.append(factory(line))
+ return result
+
+
def _post(self, data):
data = 'LOGIN;%s;%s\n' % (self.username, self.password) + data
(at)(at) -155,112 +175,8 (at)(at)
return date.strftime('%Y%m%d')
-class InvoiceItem(UserDict.UserDict):
- zope.interface.implements(gocept.collmex.interfaces.IInvoiceItem)
-
- def __init__(self, row=[]):
- UserDict.UserDict.__init__(self)
-
- self['Satzart'] = 'CMXINV'
- self['Rechnungsart'] = 0 # type invoice
-
- for i in range(len(row)):
- if row[i] == '':
- row[i] = None
- self[self.fields[i]] = row[i]
-
- def __iter__(self):
- result = []
- for field in self.fields:
- if field in self:
- value = self[field]
- if isinstance(value, unicode):
- value = value.encode('iso-8859-1')
- yield value
- else:
- yield Collmex.NULL
-
- fields = [
- 'Satzart',
- 'Rechnungsnummer',
- 'Position',
- 'Rechnungsart',
- 'Firma Nr',
- 'Auftrag Nr',
- 'Kunden-Nr',
- 'Anrede',
- 'Titel',
- 'Vorname',
- 'Name',
- 'Firma',
- 'Abteilung',
- 'Strasse',
- 'PLZ',
- 'Ort',
- 'Land',
- 'Telefon',
- 'Telefon2',
- 'Telefax',
- 'E-Mail',
- 'Kontonr',
- 'Blz',
- 'Abweichender Kontoinhaber',
- 'IBAN',
- 'BIC',
- 'Bank',
- 'USt.IdNr',
- 'Privatperson',
- 'Rechnungsdatum',
- 'Preisdatum',
- 'Zahlungsbedingung',
- 'Währung',
- 'Preisgruppe',
- 'Rabattgruppe',
- 'Schluss-Rabatt',
- 'Rabattgrund',
- 'Rechnungstext',
- 'Schlusstext',
- 'Internes Memo',
- 'Gelöscht',
- 'Sprache',
- 'Bearbeiter',
- 'Reserviert',
- 'Reserviert',
- 'Reserviert',
- 'Reserviert',
- 'Reserviert',
- 'Versandart',
- 'Versandkosten',
- 'Nachnahmegebühr',
- 'Lieferdatum',
- 'Lieferbedingung',
- 'Lieferbedingung Zusatz',
- 'Anrede Lieferung',
- 'Titel Lieferung',
- 'Vorname Lieferung',
- 'Name Lieferung',
- 'Firma Lieferung',
- 'Abteilung Lieferung',
- 'Strasse Lieferung',
- 'PLZ Lieferung',
- 'Ort Lieferung',
- 'Land Lieferung',
- 'Telefon Lieferung',
- 'Telefon2 Lieferung',
- 'Telefax Lieferung',
- 'E-Mail Lieferung',
- 'Positionstyp',
- 'Produktnummer',
- 'Produktbeschreibung',
- 'Mengeneinheit',
- 'Menge',
- 'Einzelpreis',
- 'Preismenge',
- 'Positionsrabatt',
- 'Positionswert',
- 'Produktart',
- 'Steuerklassifikation',
- 'Steuer auch im Ausland',
- 'Kundenauftragsposition',
- 'Erlösart',
- ]
+# Backward compatibility
+InvoiceItem = gocept.collmex.model.InvoiceItem
+zope.deprecation.deprecated(
+ 'InvoiceItem',
+ 'InvoiceItem has been moved to gocept.collmex.model.InvoiceItem')
Added: gocept.collmex/trunk/src/gocept/collmex/model.py
==============================================================================
--- (empty file)
+++ gocept.collmex/trunk/src/gocept/collmex/model.py Fri Nov 28 10:17:36 2008
(at)(at) -0,0 +1,124 (at)(at)
+# Copyright (c) 2008 gocept gmbh & co. kg
+# See also LICENSE.txt
+
+import UserDict
+import gocept.collmex.interfaces
+import zope.interface
+
+class Model(object, UserDict.UserDict):
+ """Base for collmex models."""
+
+ satzart = None
+
+ def __init__(self, row=[]):
+ UserDict.UserDict.__init__(self)
+
+ self['Satzart'] = self.satzart
+ self['Rechnungsart'] = 0 # type invoice
+
+ for i in range(len(row)):
+ if row[i] == '':
+ row[i] = None
+ self[self.fields[i]] = row[i]
+
+ def __iter__(self):
+ result = []
+ for field in self.fields:
+ if field in self:
+ value = self[field]
+ if isinstance(value, unicode):
+ value = value.encode('iso-8859-1')
+ yield value
+ else:
+ yield gocept.collmex.interfaces.NULL
+
+
+class InvoiceItem(Model):
+
+ zope.interface.implements(gocept.collmex.interfaces.IInvoiceItem)
+
+ satzart = 'CMXINV'
+ fields = [
+ 'Satzart',
+ 'Rechnungsnummer',
+ 'Position',
+ 'Rechnungsart',
+ 'Firma Nr',
+ 'Auftrag Nr',
+ 'Kunden-Nr',
+ 'Anrede',
+ 'Titel',
+ 'Vorname',
+ 'Name',
+ 'Firma',
+ 'Abteilung',
+ 'Strasse',
+ 'PLZ',
+ 'Ort',
+ 'Land',
+ 'Telefon',
+ 'Telefon2',
+ 'Telefax',
+ 'E-Mail',
+ 'Kontonr',
+ 'Blz',
+ 'Abweichender Kontoinhaber',
+ 'IBAN',
+ 'BIC',
+ 'Bank',
+ 'USt.IdNr',
+ 'Privatperson',
+ 'Rechnungsdatum',
+ 'Preisdatum',
+ 'Zahlungsbedingung',
+ 'Währung',
+ 'Preisgruppe',
+ 'Rabattgruppe',
+ 'Schluss-Rabatt',
+ 'Rabattgrund',
+ 'Rechnungstext',
+ 'Schlusstext',
+ 'Internes Memo',
+ 'Gelöscht',
+ 'Sprache',
+ 'Bearbeiter',
+ 'Reserviert',
+ 'Reserviert',
+ 'Reserviert',
+ 'Reserviert',
+ 'Reserviert',
+ 'Versandart',
+ 'Versandkosten',
+ 'Nachnahmegebühr',
+ 'Lieferdatum',
+ 'Lieferbedingung',
+ 'Lieferbedingung Zusatz',
+ 'Anrede Lieferung',
+ 'Titel Lieferung',
+ 'Vorname Lieferung',
+ 'Name Lieferung',
+ 'Firma Lieferung',
+ 'Abteilung Lieferung',
+ 'Strasse Lieferung',
+ 'PLZ Lieferung',
+ 'Ort Lieferung',
+ 'Land Lieferung',
+ 'Telefon Lieferung',
+ 'Telefon2 Lieferung',
+ 'Telefax Lieferung',
+ 'E-Mail Lieferung',
+ 'Positionstyp',
+ 'Produktnummer',
+ 'Produktbeschreibung',
+ 'Mengeneinheit',
+ 'Menge',
+ 'Einzelpreis',
+ 'Preismenge',
+ 'Positionsrabatt',
+ 'Positionswert',
+ 'Produktart',
+ 'Steuerklassifikation',
+ 'Steuer auch im Ausland',
+ 'Kundenauftragsposition',
+ 'Erlösart',
+ ]
|
SVN: r7092 - in gocept.collmex/trunk: . src/gocept/collmex
Christian Zagrodnick <cz(at)gocept.com> |
2008-11-28 10:36:56 |
[ FULL ]
|
Author: zagy
Date: Fri Nov 28 10:36:54 2008
New Revision: 7092
Log:
- Added ``get_customers`` to query customers (API ``CUSTOMER_GET``).
Modified:
gocept.collmex/trunk/CHANGES.txt
gocept.collmex/trunk/src/gocept/collmex/README.txt
gocept.collmex/trunk/src/gocept/collmex/collmex.py
gocept.collmex/trunk/src/gocept/collmex/interfaces.py
gocept.collmex/trunk/src/gocept/collmex/model.py
gocept.collmex/trunk/src/gocept/collmex/tests.py
Modified: gocept.collmex/trunk/CHANGES.txt
==============================================================================
--- gocept.collmex/trunk/CHANGES.txt (original)
+++ gocept.collmex/trunk/CHANGES.txt Fri Nov 28 10:36:54 2008
(at)(at) -5,6 +5,7 (at)(at)
----------------
- Modifications for changed Collmex API.
+- Added ``get_customers`` to query customers (API ``CUSTOMER_GET``).
0.1 (2008-10-14)
----------------
Modified: gocept.collmex/trunk/src/gocept/collmex/README.txt
==============================================================================
--- gocept.collmex/trunk/src/gocept/collmex/README.txt (original)
+++ gocept.collmex/trunk/src/gocept/collmex/README.txt Fri Nov 28 10:36:54 2008
(at)(at) -7,6 +7,19 (at)(at)
http://www.collmex.de/cgi-bin/cgi.exe?1005,1,help,api.
+The collmex object
+------------------
+
+The collmex object is a central place to access collmex. In the Zope 3 jargon
+it is a global utility:
+
+>>> import os
+>>> import gocept.collmex.collmex
+>>> collmex = gocept.collmex.collmex.Collmex(
+... os.environ['collmex_customer'], os.environ['collmex_company'],
+... os.environ['collmex_username'], os.environ['collmex_password'])
+
+
Transaction integration
-----------------------
(at)(at) -16,15 +29,46 (at)(at)
[#pre-flight-cleanup]_[#invalid-login]_
-Invoices
---------
+
+Customers: ``get_customers``
+----------------------------
+
+Customers can be listed using the get_customers method:
+
+>>> customers = collmex.get_customers()
+>>> customers
+[<gocept.collmex.model.Customer object at 0x...>,
+ <gocept.collmex.model.Customer object at 0x...>]
+>>> len(customers)
+2
+
+The first customer is the generic one:
+
+>>> customer = customers[0]
+>>> customer['Satzart']
+'CMXKND'
+>>> customer['Kundennummer']
+'9999'
+>>> customer['Firma']
+'Allgemeiner Gesch\xe4ftspartner'
+
+
+The second customer is one created during test setup:
+
+>>> customer = customers[1]
+>>> customer['Satzart']
+'CMXKND'
+>>> customer['Kundennummer']
+'10000'
+>>> customer['Firma']
+'Testkunden'
+
+Invoices: ``create_invoice`` and ``get_invoices``
+-------------------------------------------------
Invoices are created using the ``create_invoice`` method:
>>> import datetime
->>> collmex = gocept.collmex.collmex.Collmex(
-... os.environ['collmex_customer'], os.environ['collmex_company'],
-... os.environ['collmex_username'], os.environ['collmex_password'])
>>> start_date = datetime.datetime.now()
>>> item = gocept.collmex.model.InvoiceItem()
>>> item['Kunden-Nr'] = '10000'
(at)(at) -61,12 +105,10 (at)(at)
.. [#invalid-login] Invalid login information raises an exception:
- >>> import os
- >>> import gocept.collmex.collmex
- >>> collmex = gocept.collmex.collmex.Collmex(
+ >>> collmex_invalid = gocept.collmex.collmex.Collmex(
... os.environ['collmex_customer'], os.environ['collmex_company'],
... os.environ['collmex_username'], 'invalid')
- >>> collmex.get_invoices(customer_id='10000')
+ >>> collmex_invalid.get_invoices(customer_id='10000')
Traceback (most recent call last):
...
APIError: ('101004', 'Benutzer oder Kennwort nicht korrekt')
Modified: gocept.collmex/trunk/src/gocept/collmex/collmex.py
==============================================================================
--- gocept.collmex/trunk/src/gocept/collmex/collmex.py (original)
+++ gocept.collmex/trunk/src/gocept/collmex/collmex.py Fri Nov 28 10:36:54 2008
(at)(at) -88,8 +88,11 (at)(at)
# XXX should go on CollmexDialect but the csv module's magic prevents it
NULL = gocept.collmex.interfaces.NULL
+ system_identifier = 'gocept.collmex'
+
model_factory = {
'CMXINV': gocept.collmex.model.InvoiceItem,
+ 'CMXKND': gocept.collmex.model.Customer,
}
def __init__(self, customer_id, company_id, username, password):
(at)(at) -125,7 +128,17 (at)(at)
customer_id,
date_to_collmex(start_date),
date_to_collmex(end_date),
- 0, 0, 0, 'gocept.collmex')
+ 0, 0,
+ 0, self.system_identifier)
+
+ def get_customers(self, customer_id=NULL, text=NULL):
+ return self._query_objects(
+ 'CUSTOMER_GET',
+ customer_id,
+ self.company_id,
+ text,
+ 0, self.NULL, self.NULL, self.NULL, self.NULL, self.NULL,
+ 0, self.system_identifier)
def _query_objects(self, function, *args):
data = StringIO.StringIO()
Modified: gocept.collmex/trunk/src/gocept/collmex/interfaces.py
==============================================================================
--- gocept.collmex/trunk/src/gocept/collmex/interfaces.py (original)
+++ gocept.collmex/trunk/src/gocept/collmex/interfaces.py Fri Nov 28 10:36:54
2008
(at)(at) -2,6 +2,7 (at)(at)
# See also LICENSE.txt
import zope.interface
+import zope.interface.common.mapping
# NULL aka None for Collmex
NULL = "(NULL)"
(at)(at) -17,9 +18,28 (at)(at)
start_date=NULL, end_date=NULL):
"""Returns a list of IInvoiceItems maching given criteria."""
+ def get_customers(customer_id=NULL, text=NULL):
+ """Returns a list of ICustomers matching given criteria."""
-class IInvoiceItem(zope.interface.Interface):
- """An invoice item from Collmex.
- Must be able to convert itself into a list.
+
+class IModel(zope.interface.common.mapping.IFullMapping):
+ """A collmex model.
+
+ A collmex model mapps the field names specified by the API to their
+ respective values.
+
"""
+
+ satzart = zope.interface.Attribute("The collmex model indicator.")
+
+ def __iter__(self):
+ """Iterate over vields in order specified by collmex API."""
+
+
+class IInvoiceItem(IModel):
+ """An invoice item from Collmex CMXINV"""
+
+
+class ICustomer(IModel):
+ """A customer CMXKND."""
Modified: gocept.collmex/trunk/src/gocept/collmex/model.py
==============================================================================
--- gocept.collmex/trunk/src/gocept/collmex/model.py (original)
+++ gocept.collmex/trunk/src/gocept/collmex/model.py Fri Nov 28 10:36:54 2008
(at)(at) -38,7 +38,7 (at)(at)
zope.interface.implements(gocept.collmex.interfaces.IInvoiceItem)
satzart = 'CMXINV'
- fields = [
+ fields = (
'Satzart',
'Rechnungsnummer',
'Position',
(at)(at) -121,4 +121,50 (at)(at)
'Steuer auch im Ausland',
'Kundenauftragsposition',
'Erlösart',
- ]
+ )
+
+
+class Customer(Model):
+
+ zope.interface.implements(gocept.collmex.interfaces.ICustomer)
+
+ satzart = 'CMXKND'
+ fields = (
+ 'Satzart',
+ 'Kundennummer',
+ 'Firma Nr',
+ 'Anrede',
+ 'Titel',
+ 'Vorname',
+ 'Name',
+ 'Firma',
+ 'Abteilung',
+ 'Strasse',
+ 'PLZ',
+ 'Ort',
+ 'Reserviert',
+ 'Reserviert',
+ 'Land',
+ 'Telefon',
+ 'Telefax',
+ 'E-Mail',
+ 'Kontonr',
+ 'Blz',
+ 'Iban',
+ 'Bic',
+ 'Bankname',
+ 'Steuernummer',
+ 'USt.IdNr',
+ 'Zahlungsbedingung',
+ 'Rabattgruppe',
+ 'Lieferbedingung',
+ 'Lieferbedingung Zusatz',
+ 'Ausgabemedium',
+ 'Kontoinhaber',
+ 'Adressgruppe',
+ 'Privatperson',
+ 'Preisgruppe',
+ 'Währung (ISO-Codes)',
+ 'Vermittler',
+ 'Kostenstelle',
+ )
Modified: gocept.collmex/trunk/src/gocept/collmex/tests.py
==============================================================================
--- gocept.collmex/trunk/src/gocept/collmex/tests.py (original)
+++ gocept.collmex/trunk/src/gocept/collmex/tests.py Fri Nov 28 10:36:54 2008
(at)(at) -5,8 +5,9 (at)(at)
import zope.testing.doctest
-optionflags = zope.testing.doctest.INTERPRET_FOOTNOTES
-
+optionflags = (zope.testing.doctest.INTERPRET_FOOTNOTES |
+ zope.testing.doctest.NORMALIZE_WHITESPACE |
+ zope.testing.doctest.ELLIPSIS)
def test_suite():
suite = zope.testing.doctest.DocFileSuite(
|
SVN: r7093 - gocept.collmex/trunk/src/gocept/collmex
Christian Zagrodnick <cz(at)gocept.com> |
2008-11-28 10:47:09 |
[ FULL ]
|
Author: zagy
Date: Fri Nov 28 10:47:08 2008
New Revision: 7093
Log:
footnotes require a space
Modified:
gocept.collmex/trunk/src/gocept/collmex/README.txt
Modified: gocept.collmex/trunk/src/gocept/collmex/README.txt
==============================================================================
--- gocept.collmex/trunk/src/gocept/collmex/README.txt (original)
+++ gocept.collmex/trunk/src/gocept/collmex/README.txt Fri Nov 28 10:47:08 2008
(at)(at) -26,7 +26,7 (at)(at)
gocept.collmex has support for transaction integration. All modifying calls
are
buffered until the transaction is commited. XXX explain more.
-[#pre-flight-cleanup]_[#invalid-login]_
+[#pre-flight-cleanup]_ [#invalid-login]_
|
SVN: r7094 - gocept.collmex/trunk
Christian Zagrodnick <cz(at)gocept.com> |
2008-11-28 10:48:46 |
[ FULL ]
|
Author: zagy
Date: Fri Nov 28 10:48:45 2008
New Revision: 7094
Log:
preparing release
Modified:
gocept.collmex/trunk/CHANGES.txt
Modified: gocept.collmex/trunk/CHANGES.txt
==============================================================================
--- gocept.collmex/trunk/CHANGES.txt (original)
+++ gocept.collmex/trunk/CHANGES.txt Fri Nov 28 10:48:45 2008
(at)(at) -1,7 +1,7 (at)(at)
Changes
=======
-0.2 (unreleased)
+0.2 (2008-11-28)
----------------
- Modifications for changed Collmex API.
|
SVN: r7095 - gocept.collmex/tags/0.2
Christian Zagrodnick <cz(at)gocept.com> |
2008-11-28 10:48:54 |
[ FULL ]
|
Author: zagy
Date: Fri Nov 28 10:48:53 2008
New Revision: 7095
Log:
Tagging 0.2
Added:
gocept.collmex/tags/0.2/
- copied from r7094, gocept.collmex/trunk/
|
SVN: r7096 - gocept.collmex/tags/0.2
Christian Zagrodnick <cz(at)gocept.com> |
2008-11-28 10:49:01 |
[ FULL ]
|
Author: zagy
Date: Fri Nov 28 10:49:00 2008
New Revision: 7096
Log:
0.2
Modified:
gocept.collmex/tags/0.2/setup.py
Modified: gocept.collmex/tags/0.2/setup.py
==============================================================================
--- gocept.collmex/tags/0.2/setup.py (original)
+++ gocept.collmex/tags/0.2/setup.py Fri Nov 28 10:49:00 2008
(at)(at) -7,7 +7,7 (at)(at)
setup(
name='gocept.collmex',
- version='0.2dev',
+ version='0.2',
author='gocept',
author_email='mail(at)gocept.com',
description='Python-bindings for the Collmex import/export API',
|
|