diff --git a/locale/de.po b/locale/de.po
index 1c67702..0d27885 100644
--- a/locale/de.po
+++ b/locale/de.po
@@ -210,6 +210,10 @@ msgctxt "view:investment.source:"
msgid "How to"
msgstr "So funktionierts"
+msgctxt "view:investment.source:"
+msgid "Values detected during the query"
+msgstr "bei der Abfrage erkannte Werte"
+
msgctxt "view:investment.source:"
msgid "Configure a source for receiving course data here. The source is queried with the parameters according to schedule."
msgstr "Konfigurieren Sie hier eine Quelle für den Empfang von Kursdaten. Die Quelle wird mit den Paramtern nach Zeitplan abgefragt."
@@ -326,6 +330,30 @@ msgctxt "help:investment.source,rgxidtype:"
msgid "Type of identifier used to validate the result."
msgstr "Typ des Bezeichners zur Validierung des Ergebnisses."
+msgctxt "field:investment.source,fnddate:"
+msgid "Date"
+msgstr "Datum"
+
+msgctxt "help:investment.source,fnddate:"
+msgid "Date found during test query."
+msgstr "Bei der Testabfrage gefundenes Datum."
+
+msgctxt "field:investment.source,fndrate:"
+msgid "Rate"
+msgstr "Kurs"
+
+msgctxt "help:investment.source,fndrate:"
+msgid "Rate found during test query."
+msgstr "Bei der Testabfrage gefundener Kurs."
+
+msgctxt "field:investment.source,fndident:"
+msgid "Identifier"
+msgstr "Bezeichner"
+
+msgctxt "help:investment.source,fndident:"
+msgid "Identifier found during test query."
+msgstr "Bei der Testabfrage gefundener Bezeichner."
+
###################
# investment.rate #
diff --git a/locale/en.po b/locale/en.po
index 41f953d..2ef7e68 100644
--- a/locale/en.po
+++ b/locale/en.po
@@ -178,6 +178,10 @@ msgctxt "view:investment.source:"
msgid "How to"
msgstr "How to"
+msgctxt "view:investment.source:"
+msgid "Values detected during the query"
+msgstr "Values detected during the query"
+
msgctxt "view:investment.source:"
msgid "Configure a source for receiving course data here. The source is queried with the parameters according to schedule."
msgstr "Configure a source for receiving course data here. The source is queried with the parameters according to schedule."
@@ -294,6 +298,30 @@ msgctxt "help:investment.source,rgxidtype:"
msgid "Type of identifier used to validate the result."
msgstr "Type of identifier used to validate the result."
+msgctxt "field:investment.source,fnddate:"
+msgid "Date"
+msgstr "Date"
+
+msgctxt "help:investment.source,fnddate:"
+msgid "Date found during test query."
+msgstr "Date found during test query."
+
+msgctxt "field:investment.source,fndrate:"
+msgid "Rate"
+msgstr "Rate"
+
+msgctxt "help:investment.source,fndrate:"
+msgid "Rate found during test query."
+msgstr "Rate found during test query."
+
+msgctxt "field:investment.source,fndident:"
+msgid "Identifier"
+msgstr "Identifier"
+
+msgctxt "help:investment.source,fndident:"
+msgid "Identifier found during test query."
+msgstr "Identifier found during test query."
+
msgctxt "model:investment.rate,name:"
msgid "Rate"
msgstr "Rate"
diff --git a/onlinesource.py b/onlinesource.py
index 23d49b8..0defc19 100644
--- a/onlinesource.py
+++ b/onlinesource.py
@@ -32,7 +32,8 @@ sel_rgxdatefmt = [
('%Y-%m-%d', 'yyyy-mm-dd'),
]
-fields_check = ['url', 'nsin', 'isin', 'symbol', 'text', 'http_state']
+fields_check = ['url', 'nsin', 'isin', 'symbol', 'text', 'http_state', \
+ 'fnddate', 'fndrate', 'fndident']
class OnlineSource(ModelSQL, ModelView):
@@ -74,6 +75,15 @@ class OnlineSource(ModelSQL, ModelView):
readonly=True), 'on_change_with_http_state')
text = fields.Function(fields.Text(string='Result',
readonly=True), 'on_change_with_text')
+ fnddate = fields.Function(fields.Date(string='Date', readonly=True,
+ help='Date found during test query.'),
+ 'on_change_with_fnddate')
+ fndrate = fields.Function(fields.Numeric(string='Rate', readonly=True,
+ help='Rate found during test query.', digits=(16,4)),
+ 'on_change_with_fndrate')
+ fndident = fields.Function(fields.Char(string='Identifier', readonly=True,
+ help='Identifier found during test query.'),
+ 'on_change_with_fndident')
@classmethod
def default_url(cls):
@@ -135,6 +145,15 @@ class OnlineSource(ModelSQL, ModelView):
"""
self.call_online_source()
+ def on_change_with_fnddate(self, name=None):
+ return None
+
+ def on_change_with_fndrate(self, name=None):
+ return None
+
+ def on_change_with_fndident(self, name=None):
+ return ''
+
def on_change_with_http_state(self, name=True):
return ''
@@ -182,6 +201,9 @@ class OnlineSource(ModelSQL, ModelView):
)
self.text = result.get('text', None)
self.http_state = result.get('http_state', None)
+ self.fnddate = result.get('date', None)
+ self.fndrate = result.get('rate', None)
+ self.fndident = result.get('code', None)
def get_url_with_parameter(self, isin=None, nsin=None, symbol=None):
""" generate url
@@ -276,9 +298,7 @@ class OnlineSource(ModelSQL, ModelView):
result['rate'] = updtsource.get_regex_result(html, 'rgxrate')
result['date'] = updtsource.get_regex_result(html, 'rgxdate')
- result['code'] = updtsource.get_regex_result(html, 'rgxcode')
-
- print('\n## result:', result)
+ result['code'] = updtsource.get_regex_result(html, 'rgxident')
else :
logger.error('read_from_website: %(code)s, url: %(url)s, redirects: [%(redirects)s]' % {
'code': res1.status_code,
diff --git a/sources_def.xml b/sources_def.xml
new file mode 100644
index 0000000..25e148c
--- /dev/null
+++ b/sources_def.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+ www.finanzen.net - ETF
+ https://www.finanzen.net/etf/${isin}/tgt
+
+ \nKurszeit (\d+\.\d+\.\d+) \d{2}:\d{2}:\d{2}.*\n
+ %d.%m.%Y
+ \nKurs (\d+,\d+) EUR.*\n
+ ,
+ WKN:.* ISIN: ([A-Z,0-9]+).*
+ isin
+
+
+
+
diff --git a/tryton.cfg b/tryton.cfg
index 905a904..cc07bb9 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -12,6 +12,7 @@ xml:
group.xml
asset.xml
onlinesource.xml
+ sources_def.xml
update_wiz.xml
rate.xml
menu.xml
diff --git a/view/source_form.xml b/view/source_form.xml
index bd69730..eb03503 100644
--- a/view/source_form.xml
+++ b/view/source_form.xml
@@ -43,6 +43,14 @@ full copyright notices and license terms. -->
+
+
+
+
+
+
+
+