[GELÖST] Akzente und PyScripter

Fragen zu WAPT-Paketen / Anfragen und Hilfe bezüglich WAPT-Paketen.
Forumregeln
Community-Forumregeln
* Englischer Support auf www.reddit.com/r/wapt
* Französischer Community-Support ist in diesem Forum verfügbar.
* Bitte kennzeichnen Sie gelöste Themen mit [GELÖST].
* Bitte bearbeiten Sie keine Themen, die mit [GELÖST] markiert sind. Erstellen Sie stattdessen ein neues Thema und verweisen Sie auf das alte.
* Geben Sie die installierte WAPT-Version, die vollständige Versionsnummer und die Build-Nummer (2.2.1.11957 / 2.2.2.12337 / usw.) sowie die Enterprise-/Discovery-Edition an.
* Versionen 1.8.2 und älter werden nicht mehr unterstützt. Fragen zu Version 1.8.2 werden nur beantwortet, wenn sie sich auf ein Upgrade auf eine unterstützte Version (2.1, 2.2 usw.) beziehen.
* Geben Sie das Server-Betriebssystem (Linux/Windows) und die Version (Debian Buster/Bullseye – CentOS 7 – Windows Server 2012/2016/2019) an.
* Geben Sie gegebenenfalls das Betriebssystem des Administrations-/Paketerstellungsrechners und des Rechners mit dem problematischen Agenten an (Windows 7/10/11/Debian 11/etc.).
* Vermeiden Sie es, mehrere Fragen in einem Thema zu stellen, da diese sonst möglicherweise ignoriert werden. Falls mehrere Themen relevant sind, erstellen Sie bitte separate Themen, vorzugsweise nacheinander und nicht gleichzeitig (d. h. vermeiden Sie Spam im Forum).
* Fügen Sie Code-Snippets, Screenshots und andere Bilder direkt in Ihren Beitrag ein. Links zu Pastebin, Bitly und anderen Drittanbieterseiten werden systematisch entfernt.
* Wie in jedem Community-Forum erfolgt die Unterstützung freiwillig durch die Mitglieder. Für kommerziellen Support kontaktieren Sie bitte den Vertrieb von Tranquil IT unter +44 2 40 97 57 55.
Gesperrt
marcolefo
Nachrichten: 27
Anmeldung: 02. Oktober 2018 - 11:13 Uhr

15. November 2019 - 11:11 Uhr

Guten Morgen,

Wir haben ein Problem mit Akzenten.
Tatsächlich werden sie bei der Verwendung von PyScripter nicht korrekt erkannt. In der Python-Konsole gibt es kein Problem.

In der Konsole:

Code: Alle auswählen

Python 2.7.15 (v2.7.15:ca079a3ea3, Apr 30 2018, 16:22:17) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> var = u"éè"
>>> type(var)
<type 'unicode'>
>>> print var
éè
>>>
In der setup.py-Datei über PyScripter:

Code: Alle auswählen

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

def install():
    var = u"éè"
    print type(var)
    print var
Und beim Deinstallieren:

Code: Alle auswählen

*** Console de processus distant Réinitialisée *** 
>>> 
Ligne de Commande : install "C:\TEMP\test-accents_18.7.2-5\WAPT\.."
Using config file: C:\Program Files (x86)\wapt\wapt-get.ini
Installing WAPT files C:\TEMP\test-accents_18.7.2-5
<type 'unicode'>
‚Š

Results :

 === install packages ===
  C:\TEMP\test-accents_18.7.2-5 | test-accents (18.7.2-5)
[Schlechter Witz] Davon verliert man ja die UTF-8-Kodierung! [/Schlechter Witz]

Die Datei setup.py ist in UTF-8 (No BOM) / UNIX gespeichert.

Können Sie erkennen, wo das Problem liegen könnte?
Zuletzt bearbeitet von marcolefo am 18. November 2019 um 15:21 Uhr, 2 Mal bearbeitet.
WAPT Enterprise Server: 2.6.0.17343 / Server-Betriebssystem: Debian Bookworm /
Betriebssystem des Administrations-/Paketerstellungsrechners: macOS 15
Benutzeravatar
htouvet
WAPT-Experte
Nachrichten: 436
Anmeldung: 16. März 2015 - 10:48 Uhr
Kontakt:

15. November 2019 - 12:27 Uhr

Guten Morgen,
Es ist ein altes Problem... das uns nicht mehr schockiert, wir haben uns daran gewöhnt ;)

Tatsächlich wird die Ausgabe der print-Anweisungen umgeleitet, um das Ergebnis in der Wapt-Logdatenbank oder auf der Konsole zu speichern.

Diese Umleitung wird in waptutils.py durch die Klasse LogOutput verwaltet.

Eine Lösung besteht darin, (etwa in Zeile 1455) zu ersetzen

Code: Alle auswählen

    def write(self,txt):
        with self.lock:
            txt = ensure_unicode(txt)
            self.output.append(txt)
            if self.update_status_hook and threading.current_thread() == self.threadid and (time.time()-self.last_update_time>=self.update_buffer_time):
                # wait update_buffer_time before sending data to update_hook to avoid high frequency I/O
                self._send_tail_to_updatehook()

            if self.console:
                try:
                    self.console.write(txt)
                except:
                    self.console.write(repr(txt))

von (self.console.write von self.console.stream.write):

Code: Alle auswählen

    def write(self,txt):
        with self.lock:
            txt = ensure_unicode(txt)
            self.output.append(txt)
            if self.update_status_hook and threading.current_thread() == self.threadid and (time.time()-self.last_update_time>=self.update_buffer_time):
                # wait update_buffer_time before sending data to update_hook to avoid high frequency I/O
                self._send_tail_to_updatehook()

            if self.console:
                try:
                    self.console.stream.write(txt)
                except:
                    self.console.write(repr(txt))
Ruhige IT
marcolefo
Nachrichten: 27
Anmeldung: 02. Oktober 2018 - 11:13 Uhr

15. November 2019 – 13:06 Uhr

DANKE :)

Damit ist das Problem gelöst...

Eine kurze Frage. Wenn das Problem schon lange bekannt ist, warum wird es dann nicht behoben?

Der von mir bereitgestellte Code war ein Test. In der Realität möchten wir eine Datei löschen, falls sie existiert.

Der Startcode lautet also eher

Code: Alle auswählen

# coding: utf-8
from setuphelpers import *

uninstallkey = []

def install():
    licencemanagerfile = ur'C:\TEMP\test_éè\file.txt'

    if (isfile(licencemanagerfile)):
        remove_file(licencemanagerfile)
Mit der vorgeschlagenen Änderung funktioniert es nun einwandfrei.
Aber das müsste doch für alle Kunden gelten, oder?
WAPT Enterprise Server: 2.6.0.17343 / Server-Betriebssystem: Debian Bookworm /
Betriebssystem des Administrations-/Paketerstellungsrechners: macOS 15
Benutzeravatar
htouvet
WAPT-Experte
Nachrichten: 436
Anmeldung: 16. März 2015 - 10:48 Uhr
Kontakt:

15. November 2019 – 13:16 Uhr

Eine kurze Frage. Wenn das Problem schon lange bekannt ist, warum wird es dann nicht behoben?
Weil sich niemand darauf konzentriert hatte und wir die Lösung kurz vor Ihrer Antwort gefunden haben...

Die Korrektur wird in der nächsten Version von Wapt enthalten sein... natürlich.
Ruhige IT
marcolefo
Nachrichten: 27
Anmeldung: 02. Oktober 2018 - 11:13 Uhr

18. November 2019 – 15:20 Uhr

Super! Danke! :)
WAPT Enterprise Server: 2.6.0.17343 / Server-Betriebssystem: Debian Bookworm /
Betriebssystem des Administrations-/Paketerstellungsrechners: macOS 15
Benutzeravatar
htouvet
WAPT-Experte
Nachrichten: 436
Anmeldung: 16. März 2015 - 10:48 Uhr
Kontakt:

18. November 2019 – 15:40 Uhr

Es gibt einen Build, der diese Akzentkorrektur enthält:

https://wapt.tranquil.it/wapt/nightly/w ... -1c00cefd/

Changelog:

WAPT-1.7.4-6237 (2019-11-18) (nicht veröffentlicht)
----------------------------

(Hash 1c00cefd)

* waptserver: Korrektur zur Umgehung des Flask-Socketio-Bugs hinzugefügt https://github.com/miguelgrinberg/Flask ... ssues/1054 (AttributeError: 'Request'-Objekt hat kein Attribut 'sid')

* waptserver: Sicherstellen, dass die Datenbank geschlossen ist, bevor versucht wird, sie zu öffnen (für den Entwicklermodus)

* waptserver: Protokollmeldungen hinzugefügt, wenn eine Fehlermeldung an den Benutzer zurückgesendet wird.

WAPT-1.7.4-6234 (2019-11-14) (nicht veröffentlicht)
----------------------------

(Hash ad237eee)

* waptserver: Aktualisierung des Peewee-DB-Python-Moduls auf Version 3.11.2. Explizite Verbindungsbehandlung zur Datenbank, um potenziell inaktive Verbindungen zu erkennen (die zu einer Erschöpfung des Datenbankpools führen könnten).

* waptwua: Abfangen von Ausnahmen beim Hochladen von Windows-Updates in den Windows-Cache, um die Installation gültiger Updates zu ermöglichen, auch wenn einige nicht ordnungsgemäß verifiziert werden konnten.


WAPT-1.7.4-6232 (31.10.2019)
----------------------------

(hash2090b0e6d52cecfb04f8fa4c279e7c0a0252d6e2

) * wapt-get session-setupp: Fehlerhafte Ausgabe in session_setup behoben. Regression eingeführt in b30b1b1a550a4 (1.7.4.6229)

WAPT-1.7.4-6230 (23.10.2019) (nicht veröffentlicht)
----------------------------
(hash 391d382f)

* Server-Git-Hash-Version und -Edition in Ping und usage_statistics zurückgeben

* Server-UUID unter Windows während der Einrichtung

sicherstellen * Korrektur für .git teilweise im Manifest des erstellten Pakets enthalten
Ruhige IT
Patrice_minagri
Nachrichten: 57
Anmeldung: 21. Oktober 2016 - 16:56 Uhr

27. November 2019 – 17:01 Uhr

Hallo,

wenn ich das richtig verstehe, geht es dabei darum, den Fix auf allen Computern mit installiertem WAPT-Agenten anzuwenden? Also die ursprüngliche Datei waptutils.py durch die korrigierte Version zu ersetzen (über ein anderes Paket, Gruppenrichtlinie usw.)?
WAPT 1.7.4
Gesperrt