ICS download im Browser = OK. Per Makro nur begrenzt OK

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: ICS download im Browser = OK. Per Makro nur begrenzt OK

Re: ICS download im Browser = OK. Per Makro nur begrenzt OK

von balu » So, 30.10.2022 15:55

Hai.

Ich hatte jetzt auch noch AOO fest installiert, aber trotzdem ist nichts mit Bingo.

Wer suf einem aktuelleren Betriebssystem und AOO 4.1.13 keine Probleme mit den Dateien von Karolus hat, der darf sich freuen.

Da ich mein eigentliches Hauptziel so nicht erreiche, werde ich es mit PLAN-B machen.

Noch mal ein recht herzliches Danke schön an allen Helfern, besonders unserem Karolus. :-)


Ich mache hier nicht zu. Vielleicht gebe ich nächstes Jahr doch noch mal eine Rückmeldung.


Gruß
balu

Re: ICS download im Browser = OK. Per Makro nur begrenzt OK

von balu » Mi, 26.10.2022 15:06

Hallo Jörn.

Ich arbeite seit 1993 privat mit PC. ;-)

Das mit der Pfadlänge ist mir durchaus bekannt. Aber es gibt da Probleme mit einigen Sonderzeichen. Ich hatte mal so einen komischen Fall, da konnte ich nicht auf die Datei zugreifen. Null Chance!
Erst mittels dem Programm "Unlocker" konnte das Problem gelößt werden.

Problem gelöst!

Vergess es!!!

Nix mi gelößt!

Am Montag war es um die Uhrzeit genau so wie ich es sagte.
Aber so ca. 3 Stunden später ging wieder alles von vorne los, das mit den Fehlermeldungen.

Also rumgedocktert wie ein
Irrsinniger. Hatte mir noch zusätzlich von "winpenpack.com" eine portable geholt. Ergebniss:
Das gleiche in "Grün".

Also noch mal hier und da in den beiden Portables rumgesucht, Half nix.

Mttlerweile war es schon Dienstag morgen so ca. 3:30
Uhr. Noch mal die mit deb geändertem Pfad probiert, und siehe da:
Es funzt!

Am gleichem Tag, so gegen 13:00 Uhr, nix da! Kein Bingo.

Na ja, vielleicht bin ich füt 12 oder 24 Stunden gesperrt. Aber mit dem Browser (FireFox) konnte ich noch von der gleichen Adresse downloaden. Aber dennoch hatte ich am Dienstag, also gestern nic mehr gemacht.

Und heute, vor ca. 2 Stunden, gab wieder lein Bingo. Ich vermute das liegt an den Portable Verszonen. Das kann ich aber nur auf eine Wiese feststellen.

Ich melde mich diesbezüglich später noch mal wieder.


Gruß
balu

Re: ICS download im Browser = OK. Per Makro nur begrenzt OK

von Hiker » Mi, 26.10.2022 07:59

Hallo Balu,

schön das das Problem gefunden ist.

Auf Pfadlängen wäre ich jetzt nicht gekommen, denn die max Länge in Windows von 256 bzw. 260 Zeichen gilt schon lange (und liegt nicht am Dateisystem oder API, das könnte mehr).

Auf die Schnelle konnte ich kein kürzeres Limit für XP finden, was natürlich nichts bedeutet... Mir neu war allerdings die "Umgehung" des Limits via , ich kannte nur MAX_PATH

Vgl: https://learn.microsoft.com/de-de/windo ... ath_length

Mfg.

PS Ich hatte schon angenommen, das Du weißt wo die Zeit eingestellt wird oder die Batterie gewechselt werden kann, aber da ich gelegentlich über diese Meldung stolperte, wollte ich sie Dir nicht vorenthalten...

Re: ICS download im Browser = OK. Per Makro nur begrenzt OK

von balu » Mo, 24.10.2022 19:10

Hallo Karolus.
Karolus hat geschrieben: Mo, 24.10.2022 07:53 Aber ganz allgemein solltest du jetzt umstellen…
Ich sag es jetzt das letzte mal.
Wegen meinen Augen geht das jetzt noch nicht. PUNKT!

Zurück zum Problem.

Du hast dir reichlich Mühe gegeben mit der Pfadangabe, aber er hatte einen Schreibfehler (bleibt leider nicht aus), und das Ende stimmte nicht.
Dein Ende war:
\program\python

Was aber nicht existiert. Richtig war:
\program\python-core-2.7.18

Das enthält aber nur 3 Ordner. Ich entschied mich für:
lib
Also sah das Ende dann so aus:
\program\python-core-2.7.18\lib

Und dort versuchte ich den "Import Befehl" auszuführen. Aber nun war die Shell andauernd am Määäääckern:

----Befehl nicht gefunden, etc.

Und dann dachte ich mir so:
"Vielleicht ist der gesammte Pfadname zu lang (99 Zeichen). Oder die ganzen (. _) sind im Pfadnamen nicht so gut"

Also hatte ich ein neues Verzeichnis angelegt, und AOO dort neu installiert. Das sieht jetzt so aus:

D:\PBA\OpenOfficePortable....

Damit hat sich der Pfadname um 28 Zeichen verkürzt.

Und nun hatte ich alle deine Beispieldateien noch mal getestet:

--- AOO_ics_importmitpy2_2.ods
--- AOO_ics_importmitpy2_2_1.ods

n1.)
Nicht eine einzige Fehlermeldung!


n2.)
In allen Dateiein wurden neue Tabellenblätter angelegt.


n3.)
In der AOO_ics_importmitpy2_2_1.ods
wurden keine Daten eingetragen.


n4.)
Der Oberhammer ist aber die:

AOO_ics_importmitpy2_2.ods

Denn nur in ihr wurden in dem neuen Blatt auch TATSÄCHLICH Unformatierte Daten eingetragen. :lol: Alle in der Spalte A, im Zellbereich "A1:A102".

Egal ob in dieser:
https://de.openoffice.info/viewtopic.ph ... 18#p298618

Oder in dieser:
https://de.openoffice.info/viewtopic.ph ... 25#p298625

Ich habe die Werte von "A2:A102" in eine andere Spalte kopiert und auf das Format "TT.MM.JJJJ" eingestellt. Ergebnis ist:
-
GUT.png
GUT.png (13.89 KiB) 1706 mal betrachtet
-
Das ist doch jetzt mal eine echt frohe Botschaft. :mrgreen:

Entweder liegt es an der Portable Version von AOO (was ich befürchte), oder an Python (was ich nicht glaube), das die Sache mit dem Pfadnamen so viel ausmacht.



Gruß
balu

Re: ICS download im Browser = OK. Per Makro nur begrenzt OK

von Karolus » Mo, 24.10.2022 07:53

Hallo Balu

Vergiss die Idee mit pip, … selbst wenn es dir gelingt wird es die Probleme hier nicht lösen können.

Nur um mal sicher zu gehen, ob hier nicht der import-hook aus uno.py kaputt ist.… :
Starte mal in der windows-shell:

Code: Alles auswählen

D:\PORTABLE\BUERO\AOO_4.1.13_porti\OpenOffisePortable\App\openoffice\program\python
und dann:

Code: Alles auswählen

>> import ssl
__
Aber ganz allgemein solltest du jetzt umstellen…Win_XP ist völlig veraltet…und mit AOO zusammen mit py2.7 ist es auch kaum besser.

Re: ICS download im Browser = OK. Per Makro nur begrenzt OK

von balu » Mo, 24.10.2022 01:37

Hallo Karolus.

Ich hatte stunden mit der Suche nach Infos über meinem PC verbracht, bis mir einfiel das die auf der nicht greifbaren Museums-Not-Maschine sind. Also das vorhin erwähnte Programm besorgt, und dann meinen vorigen Beitrag zusammengeklickt. Dadurch hatte ich dich zu spät gesehen.

Doch leider wieder Fehler mit deiner Datei. Tut mir aufrichtig Leid. :oops:
-
fe.png
fe.png (22.43 KiB) 1746 mal betrachtet
-
Diesmal wurde kein Tabellenblatt erstellt.


Werde heute versuchen pip zu instaliern, wenn nichts dazwischen kommt.


Gruß
balu

Re: ICS download im Browser = OK. Per Makro nur begrenzt OK

von balu » Mo, 24.10.2022 00:04

Hallo Jörn.

Schon mal Danke dafür, das Du dir Gedabken gemacht hast.

ABER!
Uhrzeit passt schon.

Nur weil ich WinXP habe, heißt das noch lange nicht das die Hardware was fürs Museum ist. 8)
Okay, sie ist wohl älter als 2 Jahre, vielleicht so ca. 4 Jahre, aber aus der "Steinzeit" ist sie bestimmt nicht. :lol:

Guggi hier, die CPU.
-
CPU.png
CPU.png (17.46 KiB) 1752 mal betrachtet
-


Guggi hier, das Muttibrett.
-
MOTHERBOARD.png
MOTHERBOARD.png (16.68 KiB) 1752 mal betrachtet
-
Die Infos sind von HwiNFO32 Version 7.20.

Das wird noch lange Zeit reichen. Und wenn ich auf 64-Bit umsatteln will, kein Problem.


Gruß
balu

Re: ICS download im Browser = OK. Per Makro nur begrenzt OK

von Karolus » So, 23.10.2022 20:19

Hallo

Ich habs nochmal versucht mit den Informationen aus der verlinkten Seite:

Code: Alles auswählen

from __future__ import unicode_literals
from urllib2 import urlopen
import ssl  ### 
from datetime import datetime, timedelta
from functools import partial



def test():
    ssl._create_default_https_context = ssl._create_unverified_context ####
    ret = urlopen("https://www.ferienwiki.de/exports/ferien/2022/de/bayern.ics")
    filedump, name  = ret.readlines(), "2022_bayern"

    
    out_isos = [name]
    for line in filedump:
        if line.startswith("DTSTART"):
            start_date = convert2date(line)
            d_part = partial(day_range, start_date)
        elif line.startswith("DTEND"):
            end_date = convert2date(line)
            out_isos.extend(list(d_part(end_date)))
    return tuple(zip(out_isos))
    


def day_range(start, end):    
    yield start.strftime('%Y-%m-%d')
    while start < end:
        start += timedelta(days=1)
        yield start.strftime('%Y-%m-%d')
        
def convert2date(line):
    _ , datestring = line.strip().split(':')
    return datetime.strptime(datestring, '%Y%m%d')

def main(*_):
    doc = XSCRIPTCONTEXT.getDocument()
    sheets = doc.Sheets
    try:
        sheets.insertNewByName("ferien", sheets.Count)
    except:
        pass
    ferien = sheets.getByName("ferien")
    cursor = ferien.createCursor()
    data = test()
    cursor.collapseToSize(1,len(data))
    cursor.setFormulaArray


if __name__ == '__main__':
    out = test()
    print(out)
AOO_ics_importmitpy2_2_1.ods
(13.43 KiB) 89-mal heruntergeladen

Re: ICS download im Browser = OK. Per Makro nur begrenzt OK

von Hiker » So, 23.10.2022 20:01

Hallo Balu,

das Problem könnte sein daß Zertifikate aus Sicherheitsgründen nur eine begrenzte Laufzeit haben. Es kann also Probleme geben, wenn Dein System keine aktuellen Zertifikate als gültig erkennen kann, weil sie zu nichts passen, was Dein System kennt...

Normalerweise kummert sich das Betriebssystem darum, aber Dein XP dürfte von Updates abgehängt sein.

Wenn python sich selbst darum kümmern will (das genannte Kommando mit pip update certifi) hast Du wieder 2 Probleme: python2, wie von AOO verwendet, erhält seit 2020 keine updates mehr (weshalb LibreOffice auf python3 gewechselt ist). Ob noch jemand einige Module pflegt, weiss ich nicht.
Und die Sache mit pip ist wohl auch nicht so einfach, da die Windows-Versionen von AOO/LO kein pip mitbringen ...

An einer Stelle besteht Hoffnung: Schau doch mal nach, ob Deine Uhrzeit richtig eingestellt ist. Wenn ich fur ein bestimmtes Projekt alle 3 Monate einen speziellen Raspberry Pi anschließe, kommt der zwar ins Netz, Verschlüsselung klappt aber erst, wenn ich die Uhrzeit des Systems aktualisiere, dann aber immer problemlos.
Bei einem etwas älteren Computer könnte einfach die Pufferbatterie für die Hardware-Uhr leer sein...

Mfg, Jörn

Re: ICS download im Browser = OK. Per Makro nur begrenzt OK

von balu » So, 23.10.2022 18:20

Hallo Karolus.

Du sprichst von einem "Blöder Fehker", na und, wat solls? Du kniest dich so sehr in die Problematik rein, das find ich einfach KLASSE. Und vor allem um die Uhrzeit *Schäik-Händs*.
Und was kommt von mir großartiges? Nur Worte!

Okay, es kommen weiter nur Worte, und keine "echte Taten" von mir, aber vielleicht sind sie ein bischen hilfreich.

Also das mit dem Zertifikat Problem lies mir einfach keine Ruhe.
Karolus hat geschrieben: Sa, 22.10.2022 04:43
Aber bei dir ist ja schon vorher der Fehler aufgetreten, da kann ich von hier aus auch nichts mehr ausrichten.
Okay, der Fehler kommt bei mir sehr weit am Anfang, aber helfen kannst Du wohl trotzdem.
Ich hatte nämlich mal nach folgendem im WWW gesucht:

ssl certificate_verify_failed openoffice

Der "allmächtige" Gockel (goo...) war mir nicht sehr hilfreich.
Also hatte ich die doppelte Ente (duckduck...) genommen. Und siehe da. Ein doppeltes Bingo! Gleich der erste Eintrag.
Hat wohl nix mit AOO zu tun, aber mit der "ssl..." und Python.

https://www.howtouselinux.com/post/ssl- ... -in-python

Mein englisch ist ja nicht viel Wert, jedoch einiges konnte ich im groben verstehen, aber nur begrenzt.
Ich weiss nicht ob das von Bedeutung ist, aber in dem dortigem Beitrag geht es um die Fehlerergänzung (_ssl.c:777), jedoch bei mir ist es die (_ssl.c:727).

Ach ja!
Das Wort mit den 3 Buchstaben kommt auch vor: pip

Heißt das schlußendlich, das pip doch installiert werden muss?

Zusatzinfo meinerseits.
Ich musste im Sommer mein Betriebssytem von SSL, auf TLS 1.2 umstellen, da sonst nix mehr mit E-Mail wär.


Gruß
balu

Re: ICS download im Browser = OK. Per Makro nur begrenzt OK

von Karolus » Sa, 22.10.2022 04:43

Hallo Balu

Mir ist gerade noch ein blöder Fehler aufgefallen, in beiden Versionen. und zwar die letzte Zeile in `main(*_)`:

Code: Alles auswählen

cursor.setFormulaArray
das muss natürlich lauten:

Code: Alles auswählen

cursor.setFormulaArray(data)
Aber bei dir ist ja schon vorher der Fehler aufgetreten, da kann ich von hier aus auch nichts mehr ausrichten.

Re: ICS download im Browser = OK. Per Makro nur begrenzt OK

von balu » Fr, 21.10.2022 21:13

Hallo.

Kurze Version:
Mit http funzt es auch njet.

Ausführlicher mit Vorgeschichte:

Ich hatte die Tage mal ein paar WWW Adressen versucht via "Verknüpfung zu externen Dateien" in AOO reinzubekommen. Aber AOO gab in den meisten Fällen eine "Server Fehlermeldung" aus.
Bei LO war das FAST nicht anders. Bis auf eine, da sah das etwas anders aus. Denn da hieß es auf einmal (sinngemäß):
"Ungültes Zertifikat"
Aber nach einem klick auf "OK" konnte die Verknüpfung hergestellt werden.

Warum erwähne ich das?

Nun, als ich deine Datei heute das erste mal ausführte, war ich mir eigentlich sicher, das ich da auch von Zertifikat (aber in englisch) gelesen hatte, aber später habe ich das nicht mehr gelesen, siehe meinen vorigen Screnshot.
Bei deiner zweiten Datei gab es wieder Fehlermeldung.
Also habe ich AOO nochmal "instaliert". Anschließend deine erste Datei dadrin gestartet. Aber schon wieder Fehlermeldung. Doch diesmal mit dem englischem Zertifikat Problem. Hier die anfangs Zeile.
-
Zertifikat.png
Zertifikat.png (36.93 KiB) 1885 mal betrachtet
--
Sicher bin ich mir nicht, aber ich glaube das liegt an meinem Betriebssytem.

Ich bin erstmal Ratlos.


Gruß
balu

Re: ICS download im Browser = OK. Per Makro nur begrenzt OK

von Karolus » Fr, 21.10.2022 18:21

Hallo
das Script verwendet ausschliesslich Methoden aus eingebauten Bibliotheken nichts anderes!
soweit ich hier testen kann per Kommandozeile mit python2.7 tuts was es soll.

Bei dir wird da https angemeckert,

ich hab mal das Protokoll auf http geändert, neue Calcdatei hängt an.
ps:edit…korrigierter python-code
AOO_ics_importmitpy2_2.ods
(13.55 KiB) 92-mal heruntergeladen

Re: ICS download im Browser = OK. Per Makro nur begrenzt OK

von balu » Fr, 21.10.2022 17:25

Hallo Karolus.

Danke für deine schnelle Antwort :-)

Hatte ich natürlich vergessen gehabt zu erwähnen, das mir viel überfälliger Balast in Hello... auffiel, aber im ersten Augenblick war es "shoking". Nur gut das Notepad++ durch die Faebhervorhebung etwas hilfreich war.

"py2)" hatte ich deshalb erwähnt, weil ich selber schon folgendes geschafft hatte:
- HTML-Quelltext Online ausgelesen und ausgewertet.
- Eine CALC-Datei versteckt im Hintergrund bearbeitet.

Zu deiner Beispueldatei:
Sie funzt njet!

Ich bekomme eine Ellenlange Fehlerliste angezeigt. Das einzige was funzt, ist das anlegen des neuen Tabellenblatt.
Fehlerliste.jpg
Fehlerliste.jpg (80.74 KiB) 1915 mal betrachtet
Ich denke mir mal, das liegt an den Falschen oder fehlende LIBs.
Klar könnte ich sie nachinstalieren, aber das mache ich später. Für mich persönlich kein Problem.

Wenn ich aber ab die Anwender meines bsagten Kalender denke, die noch erst was nachinstalieren müssen, wird denen das bestimmt bicht so besonders gut gefallen. Aber das ist auch ein anderes Diskusions Thema. Gehört jetzt nicht hier rein.

Ach übrigens!
Eine Datei namens "csv.py" hatte ich auch in AOO entdevkt. und mal reingeschaut. Aber das ist wirklich eine ganz andere Liga *shock*.

Ich danke dir vielmals für deine ganze geleistete Arbeit. *daumen-hoch*.
Melde mich noch mal von der PY-Front.


Gruß
balu

Re: ICS download im Browser = OK. Per Makro nur begrenzt OK

von Karolus » Do, 20.10.2022 22:08

Es ist ein wenig mühsam python für AOO zuschreiben…

1. weil ich es selbst nicht testen kann.
2. weil AOO noch immer mit einer python_version arbeitet die seit 2020 keine Updates mehr bekommt.

@Balu:
teste mal die angehängte Datei.
edit: korrigierte Datei
AOO_ics_importmitpy2_2.ods
(13.56 KiB) 66-mal heruntergeladen
Geschrieben für AOO mit python2.7
ps. Der Quellcode dazu:

Code: Alles auswählen

from __future__ import unicode_literals
from urllib2 import urlopen
from datetime import datetime, timedelta
from functools import partial



def test():
    ret = urlopen("https://www.ferienwiki.de/exports/ferien/2022/de/bayern.ics")
    filedump, name  = ret.readlines(), "2022_bayern"

    
    out_isos = [name]
    for line in filedump:
        if line.startswith("DTSTART"):
            start_date = convert2date(line)
            d_part = partial(day_range, start_date)
        elif line.startswith("DTEND"):
            end_date = convert2date(line)
            out_isos.extend(list(d_part(end_date)))
    return tuple(zip(out_isos))
    


def day_range(start, end):    
    yield start.strftime('%Y-%m-%d')
    while start < end:
        start += timedelta(days=1)
        yield start.strftime('%Y-%m-%d')
        
def convert2date(line):
    _ , datestring = line.strip().split(':')
    return datetime.strptime(datestring, '%Y%m%d')

def main(*_):
    doc = XSCRIPTCONTEXT.getDocument()
    sheets = doc.Sheets
    sheets.insertNewByName("ferien", sheets.Count)
    ferien = sheets.getByName("ferien")
    cursor = ferien.createCursor()
    data = test()
    cursor.collapseToSize(1,len(data))
    cursor.setFormulaArray(data)  ## Korrektur !!!


if __name__ == '__main__':
    out = test()
    print(out)

Nach oben