[GELÖST] Zeichenkodierungsfehler

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
Olaplanche
Nachrichten: 178
Anmeldung: 26. Januar 2017 - 11:11 Uhr

4. Dezember 2017 - 10:14 Uhr

Guten Morgen,

Ich versuche, mit der Funktion import tempfile eine temporäre Datei für ein neues Paket zu erstellen.
Ich definiere den Inhalt meiner temporären Datei wie folgt:

Code: Alle auswählen

data = ur"""moncontenu"""
Bei der Paketinstallation erhalte ich folgende Fehlermeldung: Der 'ascii'-Codec kann das Zeichen nicht kodieren
Ich schließe daraus, dass es bestimmte Zeichen in meiner temporären Datei nicht mag...

Gibt es eine Lösung?

DANKE
Zuletzt bearbeitet von olaplanche am 11. Dezember 2017 um 14:52 Uhr, 1 Mal bearbeitet.
- Installierte WAPT-Version: 2.6.0.16795 Enterprise
- Server-Betriebssystem: Linux / Debian Bookworm
- Betriebssystem des Administrations-/Paketerstellungsrechners: Windows 10
Benutzeravatar
Sfonteneau
WAPT-Experte
Nachrichten: 2322
Registriert: 10. Juli 2014 - 23:52 Uhr
Kontakt:

4. Dezember 2017 - 11:09 Uhr

Hallo

, sofern es sich nicht um vertrauliche Informationen handelt, wäre es möglich, den vollständigen Code zu erhalten?

Simon
Olaplanche
Nachrichten: 178
Anmeldung: 26. Januar 2017 - 11:11 Uhr

4. Dezember 2017 - 11:13 Uhr

Guten Morgen,

Hier ist der Code ohne den Teil, der die Softwarelizenz betrifft:

Code: Alle auswählen

    import tempfile
    pathparamsfile = makepath(tempfile.gettempdir(),'Eureka.ini')
    data = ur"""[OEM]

[Langue]
Ressources=FR
Impression=FR




[Menus]
primo=1
Fichier=00010100011101
Edition=11111111000
Stade=01
Vues=1
Données=10100001
Insertion=111111111111111110001
Analyses=11110000
Affichage=1
Format=1
BOApplication=000000
BOApplicationSphinx=1101
BOInsertion=111101111101111
Interview=1
CS=CS
V51=1

[debug]
licenceur=\\data-svr1\outils$\Logiciels\SphinxV5\programmes\Licence\Licence.exe
ligne= -m=config -s=C:\Program Files (x86)\SphinxV5\sphinx.ini -e=C:\Program Files (x86)\SphinxV5\eureka.ini
[Fichiers]
Fichiers=Fichiers
Répertoires=dictionnaires ; Multimédia/Drapeaux ; Multimédia/Navigation ; Multimédia/Formes ; Multimédia/Fonds ; Multimédia/Images ; Multimédia/Pictos_ecran ; Multimédia/Pictos_papier ; Modelesinternet
Documents=Enquêtes
Multimédia=Multimédia
Mots-outils=dictionnaires\Mots-outils.dic
Styles=Styles.hys
SphinxOnline=http://www.sphinxonline.net
CompteTest=public
MotDePasseTest=Z7L
Comptes=
Abonnement=http://www.sphinxonline.com/abonnementFR.htm
Conseils=1;1;1
QualitéJPEG=100
EditionBasic=1
PropriétésObjets=0
Partage=0
Applet=EurekaApplet.jar
Conditions=http://www.sphinxonline.com/conditionsFR.htm
Fichier1=Enquêtes\Automobiles\Automobiles.hyp
Fichier2=Enquêtes\tourisme\tourisme.hyp
Fichier3=Enquêtes\hopital\hopital.hyp
Fichier4=Enquêtes\loto\loto.hyp
Couleurs=FF8080,602080,C0FFFF,E0E0A0,800060,8080FF,C08000,FFC0C0,800000,FF00FF,00FFFF,FFFF00,800080,000080,808000,FF0000,FFCC00,FFFFCC,CCFFCC,99FFFF,FFCC99,CC99FF,FF99CC,99CCFF,FF6633,CCCC33,00CC99,00CCFF,0099FF,0066FF,996666,969696,663300,669933,003300,003333,003399,663399,993333,333333,000000,FFFFFF,0000FF,00FF00,FF0000,00FFFF,FF00FF,FFFF00,000080,008000,800000,008080,800080,808000,C0C0C0,808080
[Configuration]
NombreDécimalesValeurs=2
NombreDécimalesPourcentages=1
SéparateurDécimales=,
SéparateurMilliers=1
NumérotationTitres=0
NumérotationVariables=1
LongeurVariables=255
LongeurWordBreak=255
LongeurMaximum=1000
PleinEcran=0
SéparateursMots=^t ^p ; " ' - = + , / ( ) { } [ ] < > . ? ¿ ! : ~ & # % ^^ § @ ~ – ` ’ » « …
SéparateursRéponses=^t^p;
ProcesseurCE=ARM
TypeVue=1
TypeFormulaire=3
NumérosModalités=0
PoliceTableur=Arial
TaillePoliceTableur=8
DoubleClicExplorateurVariables=-1
[Seuils]
FF=5
FF1=1
FF2=5
FF3=15
FF01=0.01
FF02=0.1
FF03=0.5
FF04=1
FF05=5
FF06=15
FF07=20
FN=5
FN1=1
FN2=5
FN3=15
FN01=0.01
FN02=0.1
FN03=0.5
FN04=1
FN05=5
FN06=15
FN07=20
NN=0.6
NN1=0.8
NN2=0.6
NN3=0.4
NN01=0.9
NN02=0.8
NN03=0.7
NN04=0.6
NN05=0.5
NN06=0.4
NN07=0.3
[Calculs]
Strict=0
CalculsStrictsEffectifMin=30
CalculsStrictsPourcentageInf5=20
PrincipauxElémentSignificatifs=0
PrincipauxElémentsEffectif=10
PrincipauxElémentsEcart=0
PrincipauxElémentsMax=3
[BarresOutils]
Application=1
Questionnaire=1
Insertion=1
Format=1
Relations=1
Image=0
Etat=1
Explorateur=1
TexteEtat=Base de données
TailleExplorateur=250
[Publication]
Utilisateur=
MotDePasse=
Destination=0
SOL=1;;
Répertoire=
FormScript=
CibleScript=0
Simplifiée=1
AccèsCompte=1
[Proxy]
Proxy=0
Hôte=
Port=21
Utilisateur=
MotDePasse=
[Serveur]
Hôte=DESKTOP-U1529DK
IP=
Port=80
Scripts=Etudes
Pages=Pages
Droits=
SMTP=
Navigation=0
DélaiCache=30
DélaiSauve=3
MaxPages=10
Debug=0
URLComptesASPX=
Sécurisé=0
[Mail]
From=
SMTP=
[Scanner]
Résolution=200
RectoVerso=0
AutoConfiguration=1
ImagesNumérisées=0
IgnorerMalRemplies=0
ArrêtSurErreur=1
SeuilBas=20
SeuilHaut=95
AutoRotation=1
AutoRotationActive=0
AutoCorrection=0
Modèle=0
OCR=1
SauverImages=0
RépertoireImages=
SauverPaquet=0
RépertoirePaquet=
Journal=1
Affichage=1
DernierID=128
[Caere]
SN=IOEULSJJFT
Répertoire=Eureka\Caere
SéparateursNumérique=,.
Trace=0
[Couleurs]
Couleur0=FFFFFF
Couleur1=FFFFFF
Couleur2=FFFFFF
Couleur3=FFFFFF
Couleur4=FFFFFF
Couleur5=FFFFFF
Couleur6=FFFFFF
Couleur7=FFFFFF
Couleur8=FFFFFF
Couleur9=FFFFFF
Couleur10=FFFFFF
Couleur11=FFFFFF
Couleur12=FFFFFF
Couleur13=FFFFFF
Couleur14=FFFFFF
Couleur15=FFFFFF
[MiseAuPoint]
Total100p100=0
MaxVariablesGroupe=255
DécompositionOption1=0
DécompositionOption2=0
PropriétésVersStyle=0
SigneFF=0
ImpressionRelationTestée=1
FormatXML=0
StylesXML=1
Office=1111110
IgnorerRéférences=0
TailleTable=10000
Log1Heure=0
DebugHTTP=0
SéparateurHTTP=<table><tr><td height="1"></td></tr></table>
TimeOutPublication=18000
TableauCaractéristiques=1
XGraph=0
Lissage=0
MultiLangue=1
Thème1=2
Thème2=11
"""
    fichier = open(pathparamsfile, "w")
    fichier.write(data)
    fichier.close()
    filecopyto(pathparamsfile,'c:/SphinxV5')
    remove_file(pathparamsfile)
- Installierte WAPT-Version: 2.6.0.16795 Enterprise
- Server-Betriebssystem: Linux / Debian Bookworm
- Betriebssystem des Administrations-/Paketerstellungsrechners: Windows 10
Benutzeravatar
htouvet
WAPT-Experte
Nachrichten: 436
Anmeldung: 16. März 2015 - 10:48 Uhr
Kontakt:

5. Dezember 2017 - 16:52 Uhr

Guten Morgen,
Da die Datei Nicht-ASCII-Zeichen enthalten wird, muss eine "Kodierung" ausgewählt werden.

Die Chancen stehen gut, dass UTF8 funktioniert...

Verwenden Sie also das Modul "codecs"

Code: Alle auswählen

import tempfile
import codecs

def install():
    pathparamsfile = makepath(tempfile.gettempdir(),'Eureka.ini')
    data = ur"""[OEM]
[Langue]
Ressources=FR
Impression=FR

[Menus]
primo=1
Fichier=00010100011101
Edition=11111111000
Stade=01
...
SéparateurHTTP=<table><tr><td height="1"></td></tr></table>
TimeOutPublication=18000
TableauCaractéristiques=1
XGraph=0
Lissage=0
MultiLangue=1
Thème1=2
Thème2=11
"""
    fichier = codecs.open(pathparamsfile, "wb", encoding='utf8')
    fichier.write(data)
    fichier.close()
    filecopyto(pathparamsfile,'c:/SphinxV5')
    remove_file(pathparamsfile)

Ruhige IT
Olaplanche
Nachrichten: 178
Anmeldung: 26. Januar 2017 - 11:11 Uhr

6. Dezember 2017 – 15:30 Uhr

Vielen Dank, das scheint das Problem zu lösen.
Beim Kopieren der Datei wird der Zielordner jedoch mit der Quelldatei ohne Dateiendung überschrieben! Ich verstehe das nicht, ich habe diesen Befehl schon einmal problemlos verwendet.

Code: Alle auswählen

filecopyto(pathparamsfile,'c:/SphinxV5')
- Installierte WAPT-Version: 2.6.0.16795 Enterprise
- Server-Betriebssystem: Linux / Debian Bookworm
- Betriebssystem des Administrations-/Paketerstellungsrechners: Windows 10
Benutzeravatar
htouvet
WAPT-Experte
Nachrichten: 436
Anmeldung: 16. März 2015 - 10:48 Uhr
Kontakt:

6. Dezember 2017 – 15:45 Uhr

Es besteht tatsächlich eine Unbestimmtheit: Handelt es sich bei dem Ziel um ein Verzeichnis oder um eine Datei?.
Nur um sicherzugehen...:

Code: Alle auswählen

filecopyto(pathparamsfile,'c:/SphinxV5/Eureka.ini')
Ruhige IT
Olaplanche
Nachrichten: 178
Anmeldung: 26. Januar 2017 - 11:11 Uhr

6. Dezember 2017 – 16:25 Uhr

Ich erhalte nun folgende Fehlermeldung: IOError: [Errno 2] Datei oder Verzeichnis nicht gefunden: 'c:/SphinxV5/Eureka.ini'

Ich frage mich, ob das Skript die Datei kopiert, bevor das Installationsprogramm sie erstellt?!
- Installierte WAPT-Version: 2.6.0.16795 Enterprise
- Server-Betriebssystem: Linux / Debian Bookworm
- Betriebssystem des Administrations-/Paketerstellungsrechners: Windows 10
Benutzeravatar
htouvet
WAPT-Experte
Nachrichten: 436
Anmeldung: 16. März 2015 - 10:48 Uhr
Kontakt:

6. Dezember 2017 – 16:41 Uhr

Es ist möglich...
Einige Installationsprogramme übergeben die Kontrolle unmittelbar nach dem Start, laufen aber im Hintergrund weiter (Beispiel: Adobe CS 6)

In diesem Fall ist es notwendig, das Ende der Installation zu überwachen, indem die laufenden Prozesse in einer Warteschleife analysiert werden.
Im Falle der INI-Datei können Sie versuchen, zu warten, bis die Datei erstellt wurde.

Beispiel...

Code: Alle auswählen

from setuphelpers import *
import time

def install():
    # lancement de l'installeur..
    run('install_sphinx.exe /silent')

    # attente du fichier pendant au plus 2 minutes
    start_time = time.time()
    while not isfile('c:/SphinxV5/Eureka.ini') and time.time() - start_time < 2*60:
        time.sleep(2)

    if not isfile('c:/SphinxV5/Eureka.ini'):
        error('Fichier configuration non present')

    # fichier de configuration
    pathparamsfile = makepath(tempfile.gettempdir(),'Eureka.ini')
    data = ur"""[OEM]
[Langue]
Ressources=FR
Impression=FR

[Menus]
primo=1
Fichier=00010100011101
Edition=11111111000
Stade=01
...
SéparateurHTTP=<table><tr><td height="1"></td></tr></table>
TimeOutPublication=18000
TableauCaractéristiques=1
XGraph=0
Lissage=0
MultiLangue=1
Thème1=2
Thème2=11
"""
    fichier = codecs.open(pathparamsfile, "wb", encoding='utf8')
    fichier.write(data)
    fichier.close()
    filecopyto(pathparamsfile,'c:/SphinxV5')
    remove_file(pathparamsfile)
Ruhige IT
Olaplanche
Nachrichten: 178
Anmeldung: 26. Januar 2017 - 11:11 Uhr

11. Dezember 2017 - 14:52 Uhr

Okay, Ihre Lösung funktioniert!

Vielen Dank!
- Installierte WAPT-Version: 2.6.0.16795 Enterprise
- Server-Betriebssystem: Linux / Debian Bookworm
- Betriebssystem des Administrations-/Paketerstellungsrechners: Windows 10
Gesperrt