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